コード例 #1
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();
        }
コード例 #2
0
        private void RaiseAnalyticEditedEvent(AnalyticEditModel analytic)
        {
            var handler = AnalyticEdited;

            if (handler != null)
            {
                AnalyticEditEventArgs e = new AnalyticEditEventArgs(analytic);
                handler(this, e);
            }
        }
コード例 #3
0
        public AnalyticInfoViewModel(AnalyticEditModel analytic)
        {
            this.analytic        = analytic;
            this.analyticForEdit = new AnalyticEditModel
            {
                FirstName   = analytic.FirstName,
                LastName    = analytic.LastName,
                PhoneNumber = analytic.PhoneNumber,
                Login       = analytic.Login
            };

            this.SaveChangesCommand = new DelegateCommand(() => RaiseAnalyticEditedEvent(analyticForEdit), CanSave);
            this.UndoCommand        = new DelegateCommand(Undo, obj => IsDirty());
        }
コード例 #4
0
 public AnalyticEditEventArgs(AnalyticEditModel analytic)
 {
     this.Analytic = analytic;
 }