public void CanGetUpdateAfterEditOnce() { firstDescription = "Ivanovo station. 5 min."; dataModel = new EventModel(23523, "Ivanovo", DateTime.Now, firstDescription); model = new ItemModelAdapterForPassive <IEventModel>(dataModel); var viewModelCreator = new EventDataDetailViewModelCreator(); var itemModelCreator = new EventModelAdapterCreator(); dataViewModel = new DetailEventViewModel(dataModel); IDetailItemViewModel <IEventModel, IDetailEventViewModel> viewModelLeft = new DetailItemViewModel <IEventModel, IDetailEventViewModel>(model, viewModelCreator, itemModelCreator); IDetailItemViewModel <IEventModel, IDetailEventViewModel> viewModelRight = new DetailItemViewModel <IEventModel, IDetailEventViewModel>(model, viewModelCreator, itemModelCreator); viewModelRight.Edit(); viewModelRight.Save(); string secondDescription = "Ivanovo station. 10 min."; viewModelLeft.Edit(); viewModelLeft.DataViewModel.Description = secondDescription; viewModelLeft.Save(); Assert.IsTrue(viewModelRight.DataViewModel.Description == secondDescription); }
public void EventCanNotBeUpdatedWhileItEdit() { firstDescription = "Ivanovo station. 5 min."; dataModel = new EventModel(23523, "Ivanovo", DateTime.Now, firstDescription); model = new ItemModelAdapterForPassive <IEventModel>(dataModel); var viewModelCreator = new EventDataDetailViewModelCreator(); var itemModelCreator = new EventModelAdapterCreator(); IDetailItemViewModel <IEventModel, IDetailEventViewModel> viewModelFirst = new DetailItemViewModel <IEventModel, IDetailEventViewModel>(model, viewModelCreator, itemModelCreator); IDetailItemViewModel <IEventModel, IDetailEventViewModel> viewModelSecond = new DetailItemViewModel <IEventModel, IDetailEventViewModel>(model, viewModelCreator, itemModelCreator); viewModelFirst.EditCommand.Execute(null); viewModelSecond.EditCommand.Execute(null); var changedDescription = "Ivanovo station. Temporarily closed."; viewModelSecond.DataViewModel.Description = changedDescription; viewModelSecond.SaveCommand.Execute(null); Assert.IsTrue(viewModelFirst.DataViewModel.Description == firstDescription); }
protected void Init(bool letUpdateList = true) { 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 vm = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(model, creator, eventModelCreator); vm.LetUpdate = letUpdateList; viewModel = vm; itemsVM = viewModel.ItemsVM; airportVM = itemsVM.FirstOrDefault(itmVM => itmVM.DataViewModel.Name == "Airport"); }
public DetailEventViewModel(IEventModel model, EventViewModelCreator creator = null, EventModelAdapterCreator eventModelCreator = null) { _model = model; if (_model.SubProcess != null) { SubProcess = new ProcessViewModel(_model.SubProcess, creator, eventModelCreator); } }
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 void Init() { firstDescription = "Ivanovo station. 5 min."; dataModel = new EventModel(23523, "Ivanovo", DateTime.Now, firstDescription); model = new ItemModelAdapterForPassive <IEventModel>(dataModel); var viewModelCreator = new EventDataDetailViewModelCreator(); var itemModelCreator = new EventModelAdapterCreator(); viewModel = new DetailItemViewModel <IEventModel, IDetailEventViewModel>(model, viewModelCreator, itemModelCreator); }
public ProcessViewModel(IProcessModel model, EventViewModelCreator creator, EventModelAdapterCreator eventModelCreator) { _model = model; Events = new ListViewModel <IEventModel, IEventViewModel, IDetailEventViewModel>(_model, creator, eventModelCreator); }