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(); }