public ServiceMessage Update(AnalyticEditDTO analyticEditDTO) { string message = ""; bool success = true; if (success = Validate(analyticEditDTO, ref message)) { string login = analyticEditDTO.Login; string firstName = analyticEditDTO.FirstName; string lastName = analyticEditDTO.LastName; string phoneNumber = analyticEditDTO.PhoneNumber; try { int id = unitOfWork.Users.GetIdByLogin(login); AnalyticEntity analyticEntity = unitOfWork.Analytics.Get(id); analyticEntity.FirstName = firstName; analyticEntity.LastName = lastName; analyticEntity.PhoneNumber = phoneNumber; unitOfWork.Commit(); message = "Changed analytics's info"; } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }
private void Edit(AnalyticDisplayModel analyticDisplayModel) { AnalyticEditModel analytic = new AnalyticEditModel { FirstName = analyticDisplayModel.FirstName, LastName = analyticDisplayModel.LastName, PhoneNumber = analyticDisplayModel.PhoneNumber, Login = analyticDisplayModel.Login }; AnalyticInfoViewModel viewModel = new AnalyticInfoViewModel(analytic); AnalyticInfoControl control = new AnalyticInfoControl(viewModel); Window window = WindowFactory.CreateByContentsSize(control); viewModel.AnalyticEdited += (s, e) => { AnalyticEditModel analyticEditModel = e.Analytic; AnalyticEditDTO analyticEditDTO = Mapper.Map <AnalyticEditModel, AnalyticEditDTO>(analyticEditModel); using (IAnalyticService service = factory.CreateAnalyticService()) { ServiceMessage serviceMessage = service.Update(analyticEditDTO); RaiseReceivedMessageEvent(serviceMessage); if (serviceMessage.IsSuccessful) { window.Close(); Notify(); } } }; window.Show(); }
private bool Validate(AnalyticEditDTO analyticEditDTO, ref string message) { bool isValid = true; if (String.IsNullOrEmpty(analyticEditDTO.FirstName)) { message = "First name cannot be empty"; isValid = false; } else if (String.IsNullOrEmpty(analyticEditDTO.LastName)) { message = "Last name cannot be empty"; isValid = false; } else if (String.IsNullOrEmpty(analyticEditDTO.PhoneNumber)) { message = "Phone number cannot be empty"; isValid = false; } else { bool invalidPhone = analyticEditDTO.PhoneNumber.Any(c => !Char.IsDigit(c)); if (invalidPhone) { message = "Phone number must consist only of digits"; isValid = false; } } return(isValid); }