public GeneralResponse AddLocalPhone(IEnumerable <AddLocalPhoneRequest> requests, Guid CreateEmployeeID) { GeneralResponse response = new GeneralResponse(); try { foreach (var request in requests) { Query query = new Query(); Criterion crt = new Criterion("LocalPhoneNumber", request.LocalPhoneNumber, CriteriaOperator.Equal); query.Add(crt); Response <LocalPhone> localPhones = _localPhoneRepository.FindByQuery(query); if (localPhones.data.Count() > 0) { response.ErrorMessages.Add("این شمارهداخلی قبلا ثبت شده است"); return(response); } LocalPhone localPhone = new LocalPhone(); localPhone.ID = Guid.NewGuid(); localPhone.CreateDate = PersianDateTime.Now; localPhone.CreateEmployee = _employeeRepository.FindBy(CreateEmployeeID); localPhone.LocalPhoneNumber = request.LocalPhoneNumber; localPhone.OwnerEmployee = _employeeRepository.FindBy(request.OwnerEmployeeID); localPhone.RowVersion = 1; #region Validation if (localPhone.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in localPhone.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } #endregion _localPhoneRepository.Add(localPhone); } _uow.Commit(); } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }
public GeneralResponse EditLocalPhone(IEnumerable <EditLocalPhoneRequest> requests, Guid ModifiedEmployeeID) { GeneralResponse response = new GeneralResponse(); try { foreach (var request in requests) { LocalPhone localPhone = _localPhoneRepository.FindBy(request.ID); localPhone.ModifiedDate = PersianDateTime.Now; localPhone.ModifiedEmployee = _employeeRepository.FindBy(ModifiedEmployeeID); if (request.LocalPhoneNumber != null) { localPhone.LocalPhoneNumber = request.LocalPhoneNumber; } if (localPhone.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { localPhone.RowVersion += 1; } if (localPhone.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in localPhone.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _localPhoneRepository.Save(localPhone); } _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } return(response); }