public GeneralResponse EditLeadTitleTemplate(IEnumerable <EditLeadTitleTemplateRequest> requests, Guid employeeID) { GeneralResponse response = new GeneralResponse(); try { foreach (var request in requests) { LeadTitleTemplate leadTitleTemplate = _leadTitleTemplateRepository.FindBy(request.ID); leadTitleTemplate.ModifiedDate = PersianDateTime.Now; leadTitleTemplate.ModifiedEmployee = _employeeRepository.FindBy(employeeID); leadTitleTemplate.Description = request.Description; leadTitleTemplate.Group = _groupRepository.FindBy(request.GroupID); leadTitleTemplate.Title = request.Title; #region RowVersion - Validation if (leadTitleTemplate.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { leadTitleTemplate.RowVersion += 1; } if (leadTitleTemplate.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in leadTitleTemplate.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } #endregion _leadTitleTemplateRepository.Save(leadTitleTemplate); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } return(response); }
public GeneralResponse AddLeadTitleTemplate(IEnumerable <AddLeadTitleTemplateRequest> requests, Guid EmployeeID) { GeneralResponse response = new GeneralResponse(); try { foreach (var request in requests) { LeadTitleTemplate leadTitleTemplate = new LeadTitleTemplate(); leadTitleTemplate.ID = Guid.NewGuid(); leadTitleTemplate.CreateDate = PersianDateTime.Now; leadTitleTemplate.CreateEmployee = _employeeRepository.FindBy(EmployeeID); leadTitleTemplate.Title = request.Title; leadTitleTemplate.Description = request.Description; leadTitleTemplate.Group = _groupRepository.FindBy(request.GroupID); leadTitleTemplate.RowVersion = 1; if (leadTitleTemplate.GetBrokenRules().Any()) { foreach (var item in leadTitleTemplate.GetBrokenRules()) { response.ErrorMessages.Add(item.Rule); } return(response); } _leadTitleTemplateRepository.Add(leadTitleTemplate); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); if (ex.InnerException != null) { response.ErrorMessages.Add(ex.InnerException.Message); } } return(response); }