Exemple #1
0
        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);
        }
Exemple #2
0
        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");
        }
Exemple #4
0
 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);
 }