public ViewModelArchivePathology(NavigationController controller) : base(controller)
        {
            Monthd = new ObservableCollection <string>();
            Yeard  = new ObservableCollection <string>();
            Month  = new ObservableCollection <string>();
            Year   = new List <string>();

            // MonthAndYear = new List<string>();

            Month.Add("Январь");
            Month.Add("Февраль");
            Month.Add("Март");
            Month.Add("Апрель");
            Month.Add("Май");
            Month.Add("Июнь");
            Month.Add("Июль");
            Month.Add("Август");
            Month.Add("Сентябрь");
            Month.Add("Октябрь");
            Month.Add("Ноябрь");
            Month.Add("Декабрь");
            Monthd = new ObservableCollection <string>(Month);
            for (int i = 1950; i <= DateTime.Now.Year; ++i)
            {
                Year.Add(i.ToString());
                if (DateTime.Now.Month == 1 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 2 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 3 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 4 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 5 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 6 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 7 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 8 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 9 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 10 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 11 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 12 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }
            }

            Yeard = new ObservableCollection <string>(Year);
            Yeard.Add("-");
            Monthd.Add("-");

            TextAddOrSave = "В архив";
            YearAppearB   = Brushes.Gray;
            MonthAppearB  = Brushes.Gray;
            PatologyType  = new PatologyType();
            DateAppear    = DateTime.Now;
            DateDisappear = DateTime.Now;
            MessageBus.Default.Subscribe("GetPatologyForArchivePatology", SetCurrentPatology);
            HasNavigation         = false;
            CurrentPanelViewModel = new PatologyTypePanelViewModel(this);
            OpenPanelCommand      = new DelegateCommand(() =>
            {
                CurrentPanelViewModel.ClearPanel();
                CurrentPanelViewModel.PanelOpened = true;
            });


            ReturnBtnName = "Вернуться";

            ToPathologyListCommand = new DelegateCommand(
                () =>
            {
                if (Monthd[MonthDissapearSelectedId] != "-" && Yeard[YearDissapearSelectedId] != "-")
                {
                    foreach (var Patology in Data.Patology.GetAll)
                    {
                        if (Patology.id == CurrentPatology.id)
                        {
                            DateAppear = new DateTime(int.Parse(Year[YearSelectedId]), getmonthName(Month[MonthSelectedId]), 1);

                            Patology.MonthAppear = DateAppear;

                            Patology.YearAppear = DateAppear;

                            DateDisappear = new DateTime(int.Parse(Yeard[YearDissapearSelectedId]), getmonthName(Monthd[MonthDissapearSelectedId]), 1);

                            Patology.MonthDisappear = DateDisappear;

                            Patology.YearDisappear = DateDisappear;

                            Patology.isArchivatied = true;

                            break;
                        }
                    }

                    Data.Complete();
                    MessageBus.Default.Call("GetPatientForPatology", this, CurrentPatient.Id);
                    Controller.NavigateTo <ViewModelPathologyList>();
                }
                else
                {
                    MessageBox.Show("Укажите дату исчезновения");
                }
            }
                );
            ToPathologyListNoSaveCommands = new DelegateCommand(
                () =>
            {
                MessageBus.Default.Call("GetPatientForPatology", this, CurrentPatient.Id);
                Controller.NavigateTo <ViewModelPathologyList>();
            }
                );

            RevertCommand = new DelegateCommand(() =>
            {
                CurrentPanelViewModel.PanelOpened = false;
                Handled = false;
            });

            SaveCommand = new DelegateCommand(() =>
            {
                CurrentPanelViewModel.PanelOpened = false;
                Handled     = false;
                var newType = CurrentPanelViewModel.GetPanelType();
                Data.PatologyType.Add((newType));
                Data.Complete();
                MessageBus.Default.Call("GetPatologyForRedactPatology", this, CurrentPatology);
            });
        }
        public ViewModelAddPathology(NavigationController controller) : base(controller)
        {
            Monthd = new ObservableCollection <string>();
            Yeard  = new ObservableCollection <string>();

            Year = new List <string>();

            // MonthAndYear = new List<string>();
            Month = new ObservableCollection <string>();
            Month.Add("Январь");
            Month.Add("Февраль");
            Month.Add("Март");
            Month.Add("Апрель");
            Month.Add("Май");
            Month.Add("Июнь");
            Month.Add("Июль");
            Month.Add("Август");
            Month.Add("Сентябрь");
            Month.Add("Октябрь");
            Month.Add("Ноябрь");
            Month.Add("Декабрь");
            Monthd = new ObservableCollection <string>(Month);
            for (int i = 1950; i <= DateTime.Now.Year; ++i)
            {
                Year.Add(i.ToString());
                if (DateTime.Now.Month == 1 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 2 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 3 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 4 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 5 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 6 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 7 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 8 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 9 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 10 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 11 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }

                if (DateTime.Now.Month == 12 && i == DateTime.Now.Year)
                {
                    setCurrMonth(i);
                    break;
                }
            }

            Yeard = new ObservableCollection <string>(Year);
            Yeard.Add("-");
            Monthd.Add("-");
            ReturnBtnName = "Вернуться";

            TextAddOrSave   = "Добавить";
            YearAppearB     = Brushes.Gray;
            MonthAppearB    = Brushes.Gray;
            YearDisappearB  = Brushes.Gray;
            MonthDisappearB = Brushes.Gray;
            DateAppear      = DateTime.Now;
            DateDisappear   = DateTime.Now;
            MessageBus.Default.Subscribe("GetPatientForAddPatology", SetCurrentPatientID);
            HasNavigation         = true;
            CurrentPanelViewModel = new PatologyTypePanelViewModel(this);
            OpenPanelCommand      = new DelegateCommand(() =>
            {
                CurrentPanelViewModel.ClearPanel();
                CurrentPanelViewModel.PanelOpened = true;
            });



            ToPathologyListCommand = new DelegateCommand(
                () =>
            {
                if (PatologyTypes.Count != 0)
                {
                    try
                    {
                        Patology buff = new Patology();

                        // string[] curDate = MonthAndYear[MonthAndYearSelectedId].Split(' ');

                        DateAppear       = new DateTime(int.Parse(Year[YearSelectedId]), getmonthName(Month[MonthSelectedId]), 1);
                        buff.MonthAppear = DateAppear;
                        buff.YearAppear  = DateAppear;


                        if (Monthd[MonthDissapearSelectedId] != "-" && Yeard[YearDissapearSelectedId] != "-")
                        {
                            buff.isArchivatied  = true;
                            DateDisappear       = new DateTime(int.Parse(Yeard[YearDissapearSelectedId]), getmonthName(Monthd[MonthDissapearSelectedId]), 1);
                            buff.MonthDisappear = DateDisappear;
                            buff.YearDisappear  = DateDisappear;
                        }
                        else
                        {
                            buff.MonthDisappear = null;
                            buff.YearDisappear  = null;
                        }
                        buff.id_пациента = CurrentPatient.Id;

                        buff.id_патологии = PatologyTypesId[Index];

                        Data.Patology.Add(buff);
                        Data.Complete();
                        MessageBus.Default.Call("GetPatientForPatology", this, CurrentPatient.Id);
                        Controller.NavigateTo <ViewModelPathologyList>();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Добавьте патологию");
                    }
                }
                else
                {
                    MessageBox.Show("Добавьте патологию");
                }
            }
                );
            ToPathologyListNoSaveCommands = new DelegateCommand(
                () =>
            {
                MessageBus.Default.Call("GetPatientForPatology", this, CurrentPatient.Id);
                Controller.NavigateTo <ViewModelPathologyList>();
            }
                );

            RevertCommand = new DelegateCommand(() =>
            {
                CurrentPanelViewModel.PanelOpened = false;
                Handled = false;
            });

            SaveCommand = new DelegateCommand(() =>
            {
                var newType = CurrentPanelViewModel.GetPanelType();
                if (!string.IsNullOrWhiteSpace(newType.Str))
                {
                    CurrentPanelViewModel.PanelOpened = false;
                    Handled = false;
                    Data.PatologyType.Add((newType));
                    Data.Complete();
                    MessageBus.Default.Call("GetPatientForAddPatology", this, CurrentPatient.Id);
                    Index = PatologyTypes.Count - 1;
                }
                else
                {
                    MessageBox.Show("Не все поля заполнены");
                }
            });
        }