public AccomodationListViewModel(StudentHostelContext context) : base(context)
        {
            GetData();
            GetStudentsList();
            GetRoomsList();

            if (AccomodationList == null)
            {
                CurrentAccomodation = null;
            }
            else if (AccomodationList.Count == 0)
            {
                CurrentAccomodation = null;
            }
            else
            {
                CurrentAccomodation = AccomodationList.First();
            }

            // Инициализация команд
            AddCommand    = new Command(Add, () => { return(!(IsAdding || IsEditing) && context != null); });
            SaveCommand   = new Command(SaveChanges, () => { return((IsAdding || IsEditing) && context != null); });
            CancelCommand = new Command(DiscardChanges, () => { return((IsAdding || IsEditing) && context != null); });
            EditCommand   = new Command(Edit, () => { return(!(IsAdding || IsEditing) && isEditable && context != null); });
        }
 protected override void Add()
 {
     AccomodationList.Add(new AccomodationViewModel
     {
         AccomodationId = 0,
         DateStart      = DateTime.Now
     });
     CurrentAccomodation = AccomodationList.Last();
     IsAdding            = true;
 }
 protected override void DiscardChanges()
 {
     if (IsAdding)
     {
         AccomodationList.Remove(CurrentAccomodation);
         IsAdding     = false;
         ErrorMessage = string.Empty;
     }
     else if (IsEditing)
     {
         IsEditing = false;
         CurrentAccomodation.DateEnd = null;
         ErrorMessage = string.Empty;
     }
 }