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