public void updateKeyAccount(KeyAccountModel entity)
        {
            objKA = new CRM_KeyAccountRepository();
            Mapper.CreateMap<KeyAccountModel, CRM_KeyAccount>();
            CRM_KeyAccount ka = objKA.GetSingle(x => x.CustomerID.Equals(entity.CustomerID));

            ka = Mapper.Map(entity, ka);

            objKA.Update(ka);
        }
        public void saveKeyAccount(KeyAccountModel entity)
        {
            objKA = new CRM_KeyAccountRepository();

            Mapper.CreateMap<KeyAccountModel, CRM_KeyAccount>();

            CRM_KeyAccount objEntity = new CRM_KeyAccount();

            objEntity = Mapper.Map(entity, objEntity);

            objKA.Add(objEntity);
        }
        private void updateKeyAccount(string CustomerID,string slsStrategies=null)
        {
            KeyAccountModel ka = _KeyAccountManager.getKeyAccountByCustomer(CustomerID);

            if (ka == null)
            {
                KeyAccountModel kaModel = new KeyAccountModel();
                kaModel.CustomerID = CustomerID;
                kaModel.SLSKeyStrategies = slsStrategies;
                kaModel.CreatedDate = DateTime.Now;
                kaModel.CreatedBy = User.Identity.Name;
                kaModel.ModifiedDate = DateTime.Now;
                kaModel.ModifiedBy = User.Identity.Name;

                _KeyAccountManager.saveKeyAccount(kaModel);
            }
            else
            {
                if (slsStrategies != null)
                    ka.SLSKeyStrategies = slsStrategies;
                ka.ModifiedDate = DateTime.Now;
                ka.ModifiedBy = User.Identity.Name;

                _KeyAccountManager.updateKeyAccount(ka);
            }
        }
        public KeyAccountModel getKeyAccountByCustomer(string CustomerID)
        {
            objKA = new CRM_KeyAccountRepository();

            Mapper.CreateMap<CRM_KeyAccount, KeyAccountModel>();

            CRM_KeyAccount objEntity = objKA.GetSingle(x=>x.CustomerID.Equals(CustomerID));

            KeyAccountModel objResult = new KeyAccountModel();

            objResult = Mapper.Map(objEntity, objResult);

            return objResult;
        }
        public ActionResult Index(KeyAccountModel entity, string CustomerID, string cmd)
        {
            if (cmd == "search")
            {
                Session["KACustID"] = CustomerID;
                ViewBag.CustomerID = CustomerID;
                var result = _KeyAccountManager.getKeyAccountByCustomer(CustomerID);
                return View(result);
            }
            else if (cmd == "save")
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        updateKeyAccount(entity.CustomerID, entity.SLSKeyStrategies);

                        Session["KACustID"] = entity.CustomerID;
                        ViewBag.CustomerID = entity.CustomerID;
                        var result = _KeyAccountManager.getKeyAccountByCustomer(entity.CustomerID);
                        return View(result);
                    }
                    else
                    {
                        throw new Exception();
                    }
                }
                catch (Exception ex)
                {
                    var modal = new HandleErrorInfo(ex, "KeyAccount", "Index");
                    return View("Error", modal);
                }

            }
            else
            {
                return View();
            }
        }