private bool Validate(AdminEditDTO adminEditDTO, ref string message) { bool isValid = true; if (String.IsNullOrEmpty(adminEditDTO.FirstName)) { message = "First name cannot be empty"; isValid = false; } else if (String.IsNullOrEmpty(adminEditDTO.LastName)) { message = "Last name cannot be empty"; isValid = false; } else if (String.IsNullOrEmpty(adminEditDTO.PhoneNumber)) { message = "Phone number cannot be empty"; isValid = false; } else { bool invalidPhone = adminEditDTO.PhoneNumber.Any(c => !Char.IsDigit(c)); if (invalidPhone) { message = "Phone number must consist only of digits"; isValid = false; } } return(isValid); }
public ServiceMessage Update(AdminEditDTO adminEditDTO) { string message = ""; bool success = true; if (success = Validate(adminEditDTO, ref message)) { string login = adminEditDTO.Login; string firstName = adminEditDTO.FirstName; string lastName = adminEditDTO.LastName; string phoneNumber = adminEditDTO.PhoneNumber; try { int id = unitOfWork.Users.GetIdByLogin(login); AdminEntity adminEntity = unitOfWork.Admins.Get(id); adminEntity.FirstName = firstName; adminEntity.LastName = lastName; adminEntity.PhoneNumber = phoneNumber; unitOfWork.Commit(); message = "Changed admin's info"; } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }
private void Edit(AdminDisplayModel adminDisplayModel) { AdminEditModel admin = new AdminEditModel { FirstName = adminDisplayModel.FirstName, LastName = adminDisplayModel.LastName, PhoneNumber = adminDisplayModel.PhoneNumber, Login = adminDisplayModel.Login }; AdminInfoViewModel viewModel = new AdminInfoViewModel(admin); AdminInfoControl control = new AdminInfoControl(viewModel); Window window = WindowFactory.CreateByContentsSize(control); viewModel.AdminEdited += (s, e) => { AdminEditModel adminEditModel = e.Admin; AdminEditDTO adminEditDTO = Mapper.Map <AdminEditModel, AdminEditDTO>(adminEditModel); using (IAdminService service = factory.CreateAdminService()) { ServiceMessage serviceMessage = service.Update(adminEditDTO); RaiseReceivedMessageEvent(serviceMessage); if (serviceMessage.IsSuccessful) { window.Close(); Notify(); } } }; window.Show(); }