private async void FindDiagnosis()
        {
            var panelgradient = new LinearGradientBrush()
            {
                StartPoint = new Point(0.5, 0),
                EndPoint = new Point(0.5, 1)
            };
            panelgradient.GradientStops.Add(new GradientStop() {Color = Color.FromArgb(255, 255, 255, 255), Offset = 0});
            panelgradient.GradientStops.Add(new GradientStop() {Color = Color.FromArgb(198, 250, 225, 4), Offset = 1});
            var panelAllDiagnosis = new DockPanel
            {
                Background = panelgradient,
                Margin = new Thickness(15, 15, 15, 15),
                Visibility = Visibility.Hidden
            };
            var labelstartdiagnosis = new Label
            {
                Content = "Діагнози",
                Foreground = Brushes.MediumBlue,
                FontWeight = FontWeights.Bold
            };
            DockPanel.SetDock(labelstartdiagnosis, Dock.Top);
            panelAllDiagnosis.Children.Add(labelstartdiagnosis);
            DockPanel.SetDock(panelAllDiagnosis, Dock.Top);
            PatientPanel.Children.Add(panelAllDiagnosis);

            foreach (var disease in _listPatientDiagnosis.Where(disease => CheckBoxViewDiagnosisDepartment.IsChecked == null || (!CheckBoxViewDiagnosisDepartment.IsChecked.Value || disease.IdDepartment == Worker.IdDepartment)))
            {
                panelAllDiagnosis.Visibility = Visibility.Visible;
                if (disease.IdWorker == "0" && disease.Snp == "0")
                {
                    WpfMessageBox.Show("Відсутнє підключення до сервера. \n Зверніться до адміністратора!");
                    Close();
                }
                var paneldiagnosis1 = new DockPanel
                {
                    Background = Brushes.LightSkyBlue,
                    Margin = new Thickness(15, 15, 15, 15)
                };
                var paneldiagnosis = new DockPanel
                {
                    Background = Brushes.WhiteSmoke,
                    Margin = new Thickness(3, 3, 3, 3)
                };
                var photoDiagnosisScrollViewer = new ScrollViewer
                {
                    VerticalScrollBarVisibility = ScrollBarVisibility.Disabled,
                    HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                    CanContentScroll = true
                };
                var paneldiagnosisphoto = new DockPanel
                {
                    Background = Brushes.WhiteSmoke,
                    Margin = new Thickness(3, 3, 3, 3)
                };
                var disease2 = disease;
                foreach (var loadPhotoDiagnosis in LoadPhotoDiagnosis.PhotoDiagnosis.Where(loadPhotoDiagnosis => loadPhotoDiagnosis.IdDiagnosis == disease2.IdDiagnosis))
                {
                    var photo = await LoadPhoto(loadPhotoDiagnosis.Photo);
                    var buttonPhotoDiagnosis = new Button
                    {
                        Background = new ImageBrush(photo),
                        Foreground = Brushes.MediumBlue,
                        FontWeight = FontWeights.Bold,
                        Content = " ",
                        Height = 160,
                        Width = 160,
                        HorizontalAlignment = HorizontalAlignment.Left,
                    };
                    buttonPhotoDiagnosis.Click += (o, args) =>
                    {
                        var form = new PhotoInfo(photo);
                        form.Show();
                    };
                    DockPanel.SetDock(paneldiagnosisphoto, Dock.Top);
                    paneldiagnosisphoto.Children.Add(buttonPhotoDiagnosis);
                }
                var labeldiagnosis = new Label
                {

                    Content = string.Format(
                        "Захворювання: {0} \n Діагноз: {1} \n Лікування: {2} \n Дата встановлення захворювання: {3}\n Лікар: {4}",
                        disease.NameDisease,
                        disease.Disease,
                        disease.Treatment,
                        disease.DateOnset,
                        disease.Snp),
                    Margin = new Thickness(10, 10, 10, 10),
                };

                var panelallprocedure = new DockPanel
                {
                    Background = Brushes.LightSkyBlue,
                    Margin = new Thickness(0, 0, 0, 0),
                };
                var intProcedure = 0;
                foreach (var procedure in Procedure.ListProcedure)
                {
                    if (procedure.IdDiagnosis != disease.IdDiagnosis) continue;
                    var panelprocedure1 = new DockPanel
                    {
                        Background = new SolidColorBrush(Color.FromRgb(244, 244, 40)),
                        Margin = new Thickness(5, 5, 5, 5),
                    };

                    var panelprocedure = new DockPanel
                    {
                        Background = Brushes.LightSteelBlue,
                        Margin = new Thickness(3, 3, 3, 3),
                    };
                    var photoProcedureScrollViewer = new ScrollViewer
                    {
                        VerticalScrollBarVisibility = ScrollBarVisibility.Disabled,
                        HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                        CanContentScroll = true
                    };
                    var panelprocedurephoto = new DockPanel
                    {
                        Background = Brushes.WhiteSmoke,
                        Margin = new Thickness(3, 3, 3, 3)
                    };
                    foreach (var loadPhotoProcedure in LoadPhotoProcedure.PhotoProcedures)
                    {
                        if (loadPhotoProcedure.IdProcedure != procedure.IdProcedure)
                        {
                            var photo = await LoadPhoto(loadPhotoProcedure.Photo);
                            var buttonPhotoProcedure = new Button
                            {
                                Background = new ImageBrush(photo),
                                Foreground = Brushes.MediumBlue,
                                FontWeight = FontWeights.Bold,
                                Content = " ",
                                Height = 160,
                                Width = 160,
                                HorizontalAlignment = HorizontalAlignment.Left,
                            };
                            buttonPhotoProcedure.Click += (o, args) =>
                            {
                                var form = new PhotoInfo(photo);
                                form.Show();
                            };
                            DockPanel.SetDock(buttonPhotoProcedure, Dock.Left);
                            panelprocedurephoto.Children.Add(buttonPhotoProcedure);

                        }
                    }
                    var labelprocedure = new Label
                    {
                        Content = string.Format(
                            "Процедура: {0} \n Результат: {1} \n Дата: {2} \n Лікар: {3}",
                            procedure.NameProcedure,
                            procedure.Result,
                            procedure.DateOnset,
                            procedure.Snp),
                        Margin = new Thickness(10, 10, 10, 10),
                    };
                    intProcedure = intProcedure + 1;
                    photoProcedureScrollViewer.Content = panelprocedurephoto;
                    photoProcedureScrollViewer.PreviewMouseWheel += (o, args) =>
                    {
                        if (args.Delta > 0)
                        {
                            ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset - 48);
                        }

                        else
                        {
                            ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset + 48);
                        }
                    };
                    DockPanel.SetDock(panelprocedurephoto, Dock.Top);
                    DockPanel.SetDock(panelprocedure1, Dock.Top);
                    DockPanel.SetDock(panelprocedure, Dock.Top);
                    DockPanel.SetDock(labelprocedure, Dock.Top);
                    panelprocedure.Children.Add(labelprocedure);
                    panelprocedure.Children.Add(photoProcedureScrollViewer);
                    panelprocedure1.Children.Add(panelprocedure);
                    panelallprocedure.Children.Add(panelprocedure1);
                    var procedure1 = procedure;
                    labelprocedure.MouseDoubleClick += (o, args) =>
                    {
                        var form = new WorkerInfo(procedure1.IdWorker);
                        form.ShowDialog();
                    };
                }
                if (intProcedure != 0)
                {
                    var gradient = new LinearGradientBrush {StartPoint = new Point(0, 0), EndPoint = new Point(1, 1)};
                    var buttonopenprocedure = new Button
                    {
                        Background = gradient,
                        Foreground = Brushes.MediumBlue,
                        FontWeight = FontWeights.Bold,
                        Content = "Переглянути процедури",
                        Height = 20,
                        Width = 450
                    };
                    gradient.GradientStops.Add(new GradientStop
                    {
                        Color = Color.FromArgb(255, 249, 249, 200),
                        Offset = 0
                    });
                    gradient.GradientStops.Add(new GradientStop
                    {
                        Color = Color.FromArgb(255, 251, 228, 0),
                        Offset = 1
                    });
                    DockPanel.SetDock(buttonopenprocedure, Dock.Bottom);
                    paneldiagnosis1.Children.Add(buttonopenprocedure);
                    panelallprocedure.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
                    panelallprocedure.Arrange(new Rect(new Point(0, 0), panelallprocedure.DesiredSize));
                    var panelHeight = panelallprocedure.ActualHeight;
                    panelallprocedure.Height = 0;
                    var isToggle = new bool();
                    buttonopenprocedure.Click += (o, args) =>
                    {
                        var da = new DoubleAnimation();
                        if (!isToggle)
                        {
                            da.From = 450;
                            da.To = 800;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            buttonopenprocedure.BeginAnimation(WidthProperty, da);
                            da.From = 0;
                            da.To = panelHeight;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            panelallprocedure.BeginAnimation(HeightProperty, da);
                            isToggle = true;
                            buttonopenprocedure.Content = "Закрити";

                        }
                        else
                        {
                            da.From = 800;
                            da.To = 450;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            buttonopenprocedure.BeginAnimation(WidthProperty, da);
                            da.From = panelHeight;
                            da.To = 0;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            panelallprocedure.BeginAnimation(HeightProperty, da);
                            isToggle = false;
                            buttonopenprocedure.Content = "Переглянути процедури";
                        }
                    };
                }
                DockPanel.SetDock(paneldiagnosis1, Dock.Top);
                DockPanel.SetDock(panelallprocedure, Dock.Top);
                DockPanel.SetDock(paneldiagnosis, Dock.Top);
                photoDiagnosisScrollViewer.Content = paneldiagnosisphoto;
                photoDiagnosisScrollViewer.PreviewMouseWheel += (o, args) =>
                {
                    if (args.Delta > 0)
                    {
                        ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset - 48);
                    }

                    else
                    {
                        ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset + 48);
                    }
                };
                DockPanel.SetDock(paneldiagnosisphoto, Dock.Top);
                DockPanel.SetDock(labeldiagnosis, Dock.Top);
                paneldiagnosis.Children.Add(labeldiagnosis);
                paneldiagnosis.Children.Add(photoDiagnosisScrollViewer);
                paneldiagnosis1.Children.Add(paneldiagnosis);
                paneldiagnosis1.Children.Add(panelallprocedure);
                panelAllDiagnosis.Children.Add(paneldiagnosis1);
                var disease1 = disease;
                labeldiagnosis.MouseDoubleClick += (o, args) =>
                {
                    var form = new WorkerInfo(disease1.IdWorker);
                    form.ShowDialog();
                };
                PatientPanel.Visibility = Visibility.Visible;
            }
        }
        private async void FindVisit()
        {
            foreach (var acceptance in Acceptance.ListAcceptance)
            {
                if (DateTime.Parse(acceptance.Date).Date>= DateTime.Now.Date && acceptance.PatientIdPatient==Patient.IdPatient)
                {
                    WpfMessageBox.Show("Пацієнт записаний на прийом!\n "+"Дата: "+acceptance.Date+" Час: "+acceptance.Time);
                }
            }
            var panelgradient = new LinearGradientBrush()
            {
                StartPoint = new Point(0.5, 0),
                EndPoint = new Point(0.5, 1)
            };
            panelgradient.GradientStops.Add(new GradientStop {Color = Color.FromArgb(255, 255, 255, 255), Offset = 0});
            panelgradient.GradientStops.Add(new GradientStop {Color = Color.FromArgb(128, 255, 255, 255), Offset = 1});
            var panelAllVisit = new DockPanel
            {

                Margin = new Thickness(15, 15, 15, 15),
                Visibility = Visibility.Hidden,
                Background = panelgradient
            };

            var labelstartvisit = new Label
            {
                Content = "Записи",
                Foreground = Brushes.MediumBlue,
                FontWeight = FontWeights.Bold
            };
            DockPanel.SetDock(labelstartvisit, Dock.Top);
            panelAllVisit.Children.Add(labelstartvisit);
            DockPanel.SetDock(panelAllVisit, Dock.Top);
            PatientPanel.Children.Add(panelAllVisit);
            foreach (var visit in _listPatientVisits.Where(visit => CheckBoxViewDiagnosisDepartment.IsChecked == null || (!CheckBoxViewDiagnosisDepartment.IsChecked.Value || visit.IdDepartment == Worker.IdDepartment)))
            {
                panelAllVisit.Visibility = Visibility.Visible;
                if (visit.IdWorker == "0" && visit.Snp == "0")
                {
                    WpfMessageBox.Show("Відсутнє підключення до сервера. \n Зверніться до адміністратора!");
                    Close();
                }
                var panelvisit1 = new DockPanel
                {
                    Background = Brushes.LightSkyBlue,
                    Margin = new Thickness(15, 15, 15, 15),
                };

                var panelvisit = new DockPanel
                {
                    Background = Brushes.WhiteSmoke,
                    Margin = new Thickness(3, 3, 3, 3),
                };
                var photoVisitsScrollViewer = new ScrollViewer
                {
                    VerticalScrollBarVisibility = ScrollBarVisibility.Disabled,
                    HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                    CanContentScroll = true

                };
                var panelvisitphoto = new DockPanel
                {
                    Background = Brushes.WhiteSmoke,
                    Margin = new Thickness(3, 3, 3, 3)
                };
                var visit2 = visit;
                foreach (var loadPhotoVisits in LoadPhotoVisits.PhotoVisits.Where(loadPhotoVisits => loadPhotoVisits.IdVisits == visit2.IdVisit))
                {
                    var photo = await LoadPhoto(loadPhotoVisits.Photo);
                    var buttonPhotoVisits = new Button
                    {
                        Background = new ImageBrush(photo),
                        Foreground = Brushes.MediumBlue,
                        FontWeight = FontWeights.Bold,
                        Content = " ",
                        Height = 160,
                        Width = 160,
                        HorizontalAlignment = HorizontalAlignment.Left
                    };

                    buttonPhotoVisits.Click += (o, args) =>
                    {
                        var form = new PhotoInfo(photo);
                        form.Show();
                    };
                    DockPanel.SetDock(panelvisitphoto, Dock.Top);
                    panelvisitphoto.Children.Add(buttonPhotoVisits);
                }
                var labelvisit = new Label
                {

                    Content = string.Format(
                        "Причина: {0} \n Скарги: {1} \n Огляд: {2} \n Дата: {3}\n Лікар: {4} ",
                        visit.Reason,
                        visit.Complaints,
                        visit.Inspection,
                        visit.VisitDateOnset,
                        visit.Snp),
                    Margin = new Thickness(10, 10, 10, 10),
                };

                var panelallanalysis = new DockPanel
                {
                    Background = Brushes.LightSkyBlue,
                    Margin = new Thickness(0, 0, 0, 0),
                };
                var intAnalysis = 0;
                foreach (var analysis in Analysis.ListAnalysis)
                {
                    if (analysis.IdVisit != visit.IdVisit) continue;
                    var panelanalysis1 = new DockPanel
                    {
                        Background = new SolidColorBrush(Color.FromRgb(244, 244, 40)),
                        Margin = new Thickness(5, 5, 5, 5),
                    };

                    var panelanalysis = new DockPanel
                    {
                        Background = Brushes.LightSteelBlue,
                        Margin = new Thickness(3, 3, 3, 3),
                    };
                    var photoAnalysisScrollViewer = new ScrollViewer
                    {
                        VerticalScrollBarVisibility = ScrollBarVisibility.Disabled,
                        HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                        CanContentScroll = true

                    };
                    var panelanalysisphoto = new DockPanel
                    {
                        Background = Brushes.WhiteSmoke,
                        Margin = new Thickness(3, 3, 3, 3)
                    };
                    foreach (var loadPhotoAnalysis in LoadPhotoAnalysis.PhotoAnalysis)
                    {
                        if (loadPhotoAnalysis.IdAnalysis == analysis.IdAnalysis)
                        {
                            var photo = await LoadPhoto(loadPhotoAnalysis.Photo);
                            var buttonPhotoAnalysis = new Button
                            {
                                Background = new ImageBrush(photo),
                                Foreground = Brushes.MediumBlue,
                                FontWeight = FontWeights.Bold,
                                Content = " ",
                                Height = 160,
                                Width = 160,
                                HorizontalAlignment = HorizontalAlignment.Left,
                            };
                            buttonPhotoAnalysis.Click += (o, args) =>
                            {
                                var form = new PhotoInfo(photo);
                                form.Show();
                            };
                            DockPanel.SetDock(buttonPhotoAnalysis, Dock.Left);
                            panelanalysisphoto.Children.Add(buttonPhotoAnalysis);
                        }
                    }
                    var labelanalysis = new Label
                    {

                        Content = string.Format(
                            "Назва: {0} \n Показники: {1} \n Заключення: {2} \n Дата: {3} \n Лікар: {4}",
                            analysis.NameAnalysis,
                            analysis.Indicators,
                            analysis.Result,
                            analysis.AnalysisDateOnset,
                            analysis.Snp),
                        Margin = new Thickness(10, 10, 10, 10),
                    };
                    intAnalysis = intAnalysis + 1;
                    photoAnalysisScrollViewer.Content = panelanalysisphoto;
                    photoAnalysisScrollViewer.PreviewMouseWheel += (o, args) =>
                    {
                        if (args.Delta > 0)
                        {
                            ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset - 48);
                        }

                        else
                        {
                            ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset + 48);
                        }
                    };
                    DockPanel.SetDock(panelallanalysis, Dock.Top);
                    DockPanel.SetDock(panelanalysis1, Dock.Top);
                    DockPanel.SetDock(panelanalysis, Dock.Top);
                    DockPanel.SetDock(labelanalysis, Dock.Top);
                    panelanalysis.Children.Add(labelanalysis);
                    panelanalysis.Children.Add(photoAnalysisScrollViewer);
                    panelanalysis1.Children.Add(panelanalysis);
                    panelallanalysis.Children.Add(panelanalysis1);
                    var analysis1 = analysis;
                    labelanalysis.MouseDoubleClick += (o, args) =>
                    {
                        var form = new WorkerInfo(analysis1.IdWorker);
                        form.ShowDialog();
                    };
                }
                if (intAnalysis != 0)
                {
                    var gradient = new LinearGradientBrush {StartPoint = new Point(0, 0), EndPoint = new Point(1, 1)};
                    var buttonopenanalisis = new Button
                    {
                        Background = gradient,
                        Foreground = Brushes.MediumBlue,
                        FontWeight = FontWeights.Bold,
                        Content = "Переглянути аналізи",
                        Height = 20,
                        Width = 450
                    };
                    gradient.GradientStops.Add(new GradientStop
                    {
                        Color = Color.FromArgb(255, 249, 249, 200),
                        Offset = 0
                    });
                    gradient.GradientStops.Add(new GradientStop
                    {
                        Color = Color.FromArgb(255, 251, 228, 0),
                        Offset = 1
                    });

                    DockPanel.SetDock(buttonopenanalisis, Dock.Bottom);
                    panelvisit1.Children.Add(buttonopenanalisis);
                    panelallanalysis.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
                    panelallanalysis.Arrange(new Rect(new Point(0, 0), panelallanalysis.DesiredSize));
                    var panelHeight = panelallanalysis.ActualHeight;
                    panelallanalysis.Height = 0;
                    var isToggle = new bool();
                    buttonopenanalisis.Click += (o, args) =>
                    {
                        var da = new DoubleAnimation();
                        if (!isToggle)
                        {
                            da.From = 450;
                            da.To = 800;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            buttonopenanalisis.BeginAnimation(WidthProperty, da);
                            da.From = 0;
                            da.To = panelHeight;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            panelallanalysis.BeginAnimation(HeightProperty, da);
                            isToggle = true;
                            buttonopenanalisis.Content = "Закрити";

                        }
                        else
                        {
                            da.From = 800;
                            da.To = 450;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            buttonopenanalisis.BeginAnimation(WidthProperty, da);
                            da.From = panelHeight;
                            da.To = 0;
                            da.Duration = TimeSpan.FromSeconds(0.5);
                            panelallanalysis.BeginAnimation(HeightProperty, da);
                            isToggle = false;
                            buttonopenanalisis.Content = "Переглянути аналізи";
                        }
                    };
                }
                DockPanel.SetDock(panelvisit1, Dock.Top);
                DockPanel.SetDock(panelallanalysis, Dock.Top);
                DockPanel.SetDock(panelvisit, Dock.Top);
                photoVisitsScrollViewer.Content = panelvisitphoto;
                photoVisitsScrollViewer.PreviewMouseWheel += (o, args) =>
                {
                    if (args.Delta > 0)
                    {
                        ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset - 48);
                    }

                    else
                    {
                        ScrollViewerFull.ScrollToVerticalOffset(ScrollViewerFull.VerticalOffset + 48);
                    }
                };
                DockPanel.SetDock(panelvisitphoto, Dock.Top);
                DockPanel.SetDock(labelvisit, Dock.Top);
                panelvisit.Children.Add(labelvisit);
                panelvisit.Children.Add(photoVisitsScrollViewer);
                panelvisit1.Children.Add(panelvisit);
                panelvisit1.Children.Add(panelallanalysis);
                panelAllVisit.Children.Add(panelvisit1);
                var visit1 = visit;
                labelvisit.MouseDoubleClick += (o, args) =>
                {
                    var form = new WorkerInfo(visit1.IdWorker);
                    form.ShowDialog();
                };
                PatientPanel.Visibility = Visibility.Visible;
            }
        }