Exemple #1
0
        public GeneralResponse EditCampaignAgent(IEnumerable <EditCampaignAgentRequest> requests, Guid ModifiedEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (EditCampaignAgentRequest request in requests)
                {
                    CampaignAgent campaignAgent = new CampaignAgent();

                    campaignAgent = _campaignAgentRepository.FindBy(request.ID);
                    campaignAgent.CampaignAgentName = request.CampaignAgentName;
                    campaignAgent.ModifiedEmployee  = _employeeRepository.FindBy(ModifiedEmployeeID);
                    campaignAgent.ModifiedDate      = PersianDateTime.Now;

                    #region RowVersion - Validation
                    if (campaignAgent.RowVersion != request.RowVersion)
                    {
                        response.ErrorMessages.Add("EditConcurrencyKey");
                        return(response);
                    }
                    else
                    {
                        campaignAgent.RowVersion += 1;
                    }

                    if (campaignAgent.GetBrokenRules().Count() > 0)
                    {
                        foreach (BusinessRule businessRule in campaignAgent.GetBrokenRules())
                        {
                            response.ErrorMessages.Add(businessRule.Rule);
                        }

                        return(response);
                    }

                    #endregion

                    _campaignAgentRepository.Save(campaignAgent);
                }
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }