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 void SaveList()
        {
            if (CanSaveList())
            {
                var addItems = addedAndDelatedItems.Where(el => el.Value == ChangeStatus.Add)
                               .Select(el => el.Key).ToList();
                var delItems = addedAndDelatedItems.Where(el => el.Value == ChangeStatus.Delete)
                               .Select(el => el.Key).ToList();

                _model.AddItems(addItems);
                _model.DeleteItems(delItems);

                addedAndDelatedItems.Clear();


                IsEditing = false;
                IsSaved   = true;

                UpdateList();

                Debug.Assert(StateCanChanged != null);
                StateCanChanged(this, new EventArgs());
            }
        }