コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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();
        }