public void ProcessCanNotBeUpdatedWhileItEdit() { IListModel <IEventModel> model = new ListModel <IEventModel>(); List <IItemModelAdapter <IEventModel> > items = new List <IItemModelAdapter <IEventModel> >(); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(235235, "Ivanovo", DateTime.Now, "Ivanovo station. 5 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(945853, "Airport", DateTime.Now, "Airport station. 15 min."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(124590, "Lake", DateTime.Now, "Lake station. 5 min. Temporarily closed."))); items.Add(new ItemModelAdapterForPassive <IEventModel>(new EventModel(744935, "Central station.", DateTime.Now, "Central station. 7 min."))); model.AddItems(items); var creator = new EventViewModelCreator(); var eventModelCreator = new EventModelAdapterCreator(); var vmFirst = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(model, creator, eventModelCreator); vmFirst.LetUpdate = false; IListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel> viewModelFirst = vmFirst; var itemsVMFirst = viewModelFirst.ItemsVM; var vmSecond = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(model, creator, eventModelCreator); vmSecond.LetUpdate = false; IListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel> viewModelSecond = vmSecond; var itemsVMSecond = viewModelSecond.ItemsVM; viewModelFirst.EditListCommand.Execute(null); viewModelSecond.EditListCommand.Execute(null); viewModelSecond.AddItemCommand.Execute(null); viewModelSecond.CurrentVM.DataViewModel.Id = 5374623654; viewModelSecond.CurrentVM.DataViewModel.Name = "XX century"; viewModelSecond.CurrentVM.DataViewModel.Description = "station was built in XX century."; viewModelSecond.CurrentVM.SaveCommand.Execute(null); viewModelSecond.SaveListCommand.Execute(null); Assert.IsNull(itemsVMFirst.FirstOrDefault(ev => ev.DataViewModel.Name == "XX century")); Assert.IsTrue(itemsVMFirst.Count == 4); }
public ProcessViewModel(IProcessModel model, EventViewModelCreator creator, EventModelAdapterCreator eventModelCreator) { _model = model; Events = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(_model, creator, eventModelCreator); }