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 void RaiseAnalyticEditedEvent(AnalyticEditModel analytic) { var handler = AnalyticEdited; if (handler != null) { AnalyticEditEventArgs e = new AnalyticEditEventArgs(analytic); handler(this, e); } }
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()); }
public AnalyticEditEventArgs(AnalyticEditModel analytic) { this.Analytic = analytic; }