Esempio n. 1
0
        public bool DeletePatientCard(string patientJmbg)
        {
            PatientCard deletedPatientCard = activePatientCardRepository.DeletePatientCard(patientJmbg);

            if (deletedPatientCard != null)
            {
                PatientCard newPatientCard = deletedPatientCardRepository.NewPatientCard(deletedPatientCard);
                if (newPatientCard != null)
                {
                    return(true);
                }
            }
            return(false);
        }
        public Model.Secretary.PatientCard NewPatientCard(Model.Secretary.PatientCard patientCard)
        {
            List <PatientCard> patientCards      = ReadFromFile();
            PatientCard        searchPatientCard = GetPatientCard(patientCard.patient.Jmbg);

            if (searchPatientCard != null)
            {
                return(null);
            }

            patientCards.Add(patientCard);
            WriteInFile(patientCards);

            return(patientCard);
        }
Esempio n. 3
0
        /// <summary>
        /// Метод записывает на пациента прием.
        /// </summary>
        /// <param name="patient"></param>
        /// <returns></returns>
        public async Task Write(PatientCard patient)
        {
            int sNum   = Convert.ToInt32(RandomDataService.GenerateRandomNumber());  // Получает рандомный номер записи на прием.
            int userId = await GetUserIds(patient.FullName);

            try {
                using (var db = new SqlConnection(_connectionString)) {
                    var oReception = await db.QueryAsync($"INSERT INTO dbo.Receptions (date, number_reception, employee_id, card_number) " +
                                                         $"VALUES ('{patient.TimeProcRecommend}', {sNum}, {userId}, '{patient.CardNumber}')");
                }
            }
            catch (Exception ex) {
                throw new Exception(ex.Message.ToString());
            }
        }
        private void btnAddNewRequest_Click(object sender, RoutedEventArgs e)
        {
            var currentCard = dgPatients.SelectedItem as PatientCard;

            //if the btnAddNewRequest has been clicked from the patient's card
            //we are placing current card to the temp variable and invoking AddNewRequest
            if (currentCard != null)
            {
                tempCard = currentCard;
            }
            //if it has been clicked right after AddNewRequest form went back, we can't get
            //current patient's card from dgPatients.SelectedItem variable. Since we are working
            //with the same patien's card we can get it from tempCard variable
            mainFrame.Content = new AddModifyRequest(tempCard, mainFrame);
        }
Esempio n. 5
0
        /// <summary>
        /// Метод редактирует карту пациента.
        /// </summary>
        /// <param name="patientCard"></param>
        /// <returns></returns>
        public async Task Edit(PatientCard patientCard)
        {
            using (var db = new SqlConnection(_conStr)) {
                var parameters = new DynamicParameters();
                parameters.Add("@cardNumber", patientCard.CardNumber, DbType.Int32);
                parameters.Add("@fullName", patientCard.FullName, DbType.String);
                parameters.Add("@dateOfBirth", patientCard.DateOfBirth, DbType.DateTime);
                parameters.Add("@address", patientCard.Address, DbType.String);
                parameters.Add("@number", patientCard.Number, DbType.String);
                parameters.Add("@policy", patientCard.Policy, DbType.String);
                parameters.Add("@snails", patientCard.Snails, DbType.String);
                parameters.Add("@timeProcAndRec", patientCard.TimeProcRecommend, DbType.DateTime);
                parameters.Add("@prescriptionDrugs", patientCard.PrescriptionDrugs, DbType.String);
                parameters.Add("@diagnosis", patientCard.Diagnosis, DbType.String);
                parameters.Add("@recipesRecommend", patientCard.RecipesRecommend, DbType.String);
                parameters.Add("@medicalHistory", patientCard.MedicalHistory, DbType.String);
                parameters.Add("@doctor", patientCard.Doctor, DbType.String);
                parameters.Add("@blood_group", patientCard.BloodGroup, DbType.String);
                parameters.Add("@category", patientCard.Category, DbType.String);
                parameters.Add("@seat_work", patientCard.SeatWork, DbType.String);
                parameters.Add("@position", patientCard.Position, DbType.String);
                parameters.Add("@tab_number", patientCard.TabNum, DbType.String);
                parameters.Add("@insurance_company", patientCard.InsuranceCompany, DbType.String);
                parameters.Add("@date_to", patientCard.DateTo, DbType.Date);
                parameters.Add("@comment", patientCard.Comment, DbType.String);
                parameters.Add("@email", patientCard.Email, DbType.String);
                parameters.Add("@indicator", patientCard.Indicator, DbType.String);
                parameters.Add("@isVich", patientCard.isVich, DbType.String);
                parameters.Add("@isHb", patientCard.isHb, DbType.String);
                parameters.Add("@isRw", patientCard.isRw, DbType.String);
                parameters.Add("@city", patientCard.City, DbType.String);
                parameters.Add("@region", patientCard.Region, DbType.String);
                parameters.Add("@district", patientCard.District, DbType.String);
                parameters.Add("@form_payment", patientCard.FormPay, DbType.String);
                parameters.Add("@plan_payment", patientCard.PlanPay, DbType.String);
                parameters.Add("@registry", patientCard.Registry, DbType.Date);
                parameters.Add("@who_change", patientCard.WhoChange, DbType.String);
                parameters.Add("@operator", patientCard.Operator, DbType.String);
                parameters.Add("@index_number", patientCard.IndexNumber, DbType.String);

                // Вызывает процедуру изменения карты пациента.
                await db.QueryAsync <PatientCard>("sp_UpdateCard",
                                                  commandType : CommandType.StoredProcedure,
                                                  param : parameters);
            }
        }
Esempio n. 6
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrEmpty(txtbox2.Text))
            {
                MessageBox.Show("Morate unijeti tok bolesti.", "Upozorenje!",
                                MessageBoxButton.OK, MessageBoxImage.Warning);
                txtbox2.Clear();
                txtbox2.Focus();
                return;
            }
            else if (String.IsNullOrEmpty(txtbox3.Text))
            {
                MessageBox.Show("Morate unijeti terapiju", "Upozorenje!",
                                MessageBoxButton.OK, MessageBoxImage.Warning);
                txtbox3.Clear();
                txtbox3.Focus();
                return;
            }
            try
            {
                string date    = txtbox1.Text;
                string disease = txtbox2.Text;
                string therapy = txtbox3.Text;

                PatientCard pc = new PatientCard();
                string[]    ss = showName.Text.Split(' ');
                pc = ap.ViewPatientCard(ss[ss.Length - 1]);
                string mh = pc.MedicalHistory;

                pc.MedicalHistory = mh + date + ":" + disease + ":" + therapy + ";";

                ap.EditPatientCard(pc);
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }

            var s = new ScheduleExaminaton();

            s.Show();

            txtbox2.Clear();
            txtbox3.Clear();
        }
Esempio n. 7
0
        private void btnPatientCard_Click(object sender, EventArgs e)
        {
            if (lvAppointment.FocusedItem == null)
            {
                return;
            }
            var patientId = lvAppointment.FocusedItem.SubItems[chPatient.Index + 1].Text;

            if (!string.IsNullOrEmpty(patientId))
            {
                var patient = new PatientCard(Int32.Parse(patientId));

                patient.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"You need to choose a record", @"Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Esempio n. 8
0
        public ActionResult GetAllPatients()
        {
            List <PatientBasicDTO> patientDTOs = new List <PatientBasicDTO>();

            try
            {
                foreach (Patient patient in _patientService.ViewPatients())
                {
                    PatientCard     patientCard = _patientCardService.ViewPatientCard(patient.Jmbg);
                    PatientBasicDTO patientDTO  = PatientMapper.PatientAndPatientCardToPatientBasicDTO(patient, patientCard);
                    patientDTOs.Add(patientDTO);
                }

                return(Ok(patientDTOs));
            }
            catch (NotFoundException exception)
            {
                return(NotFound(exception.Message));
            }
        }
Esempio n. 9
0
        public void CreatePatientCard(PatientCardDTO patientCardDto)
        {
            Patient patient = Database.Patients.Get(patientCardDto.PatientId);

            // валидация
            if (patient == null)
            {
                throw new ValidationException("Patient не найден", "");
            }
            // применяем скидку
            PatientCard patientCard = new PatientCard
            {
                DateOfRecord = DateTime.Now,
                TextInfo     = patientCardDto.TextInfo,
                PatientId    = patient.Id,
            };

            Database.PatientCards.Create(patientCard);
            Database.Save();
        }
        private void InitializePatientCard(PatientCard patientCard)
        {
            if (patientCard.Id == 0)
            {
                patientCard.BirthDay = DateTime.Now.AddDays(-35040);
            }
            PatientCard = new PatientCardWrapper(patientCard);
            PatientCard.PropertyChanged += (s, e) =>
            {
                if (!HasChanges)
                {
                    HasChanges = _patientCardRepository.HasChanges();
                }
                if (e.PropertyName == nameof(PatientCard.HasErrors))
                {
                    ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
                }
            };

            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
Esempio n. 11
0
        public CardPagesViewModel(PatientCard card)
        {
            PatientCard = card;

            using (ClinicModelContainer container = new ClinicModelContainer())
            {
                _pages = container.CardPages.Where(p => p.PatientCardId == card.PatientCardId)
                         .ToList();
                _pages.ForEach(p =>
                {
                    p.PatientCard     = PatientCard;
                    p.Doctor          = p.Doctor;
                    p.Doctor.Category = p.Doctor.Category;
                    p.Doctor.Special  = p.Doctor.Special;
                });
            }

            _currentPageIndex = 0;
            PageCount         = _pages.Count;

            CurrentPage = _pages[_currentPageIndex];
        }
Esempio n. 12
0
        public bool DeletePatientCard(string patientJmbg)
        {
            List <PatientCard> patientCards         = ReadFromFile();
            PatientCard        patientCardForDelete = null;

            foreach (PatientCard pc in patientCards)
            {
                if (pc.patient.Jmbg.Equals(patientJmbg))
                {
                    patientCardForDelete = pc;
                    break;
                }
            }
            if (patientCardForDelete == null)
            {
                return(false);
            }

            patientCards.Remove(patientCardForDelete);
            WriteInFile(patientCards);
            return(true);
        }
Esempio n. 13
0
        public PlacemetnInARoom(PatientCard patientCard, Room room, int id, DateTime dateOfPlacement, DateTime dateOfDismison)
        {
            if (patientCard == null)
            {
                this.patientCard = new PatientCard();
            }
            else
            {
                this.patientCard = new PatientCard(patientCard);
            }

            if (room == null)
            {
                this.room = new Room();
            }
            else
            {
                this.room = new Room(room);
            }
            this.Id = id;
            this.DateOfPlacement = dateOfPlacement;
            this.DateOfDismison  = dateOfDismison;
        }
        public Model.Secretary.PatientCard DeletePatientCard(string patientJmbg)
        {
            List <PatientCard> patientCards         = ReadFromFile();
            PatientCard        patientCardForDelete = null;

            foreach (PatientCard patientCard in patientCards)
            {
                if (patientCard.patient.Jmbg.Equals(patientJmbg))
                {
                    patientCardForDelete = patientCard;
                    break;
                }
            }

            if (patientCardForDelete == null)
            {
                return(null);
            }

            patientCards.Remove(patientCardForDelete);
            WriteInFile(patientCards);
            return(patientCardForDelete);
        }
Esempio n. 15
0
 public Therapy(Drug drug, PatientCard patientCard, int id, string anamnesis, DateTime startDate, DateTime endDate, int dailyDose)
 {
     if (drug == null)
     {
         this.drug = new Drug();
     }
     else
     {
         this.drug = new Drug(drug);
     }
     if (patientCard == null)
     {
         this.patientCard = new PatientCard();
     }
     else
     {
         this.patientCard = new PatientCard(patientCard);
     }
     this.Id        = id;
     this.Anamnesis = anamnesis;
     this.StartDate = startDate;
     this.EndDate   = endDate;
     this.DailyDose = dailyDose;
 }
        private void buttonConfrim_Click(object sender, RoutedEventArgs e)
        {
            if (firstName.Text.Equals("") || lastName.Text.Equals("") || jmbg.Text.Equals("") || dateOfBirthPicker.Text.Equals("") || telephoneNumber.Text.Equals("") || homeAdress.Text.Equals("") || cityAdress.Text.Equals("") || emailAdress.Text.Equals(""))
            {
                ValidationMessageWindow validationWindow = new ValidationMessageWindow();
                validationWindow.Show();
            }
            else
            {
                string name = firstName.Text;

                string surname = lastName.Text;

                GenderType gender;

                if (male.IsChecked == true)
                {
                    gender = GenderType.M;
                }
                else
                {
                    gender = GenderType.Z;
                }

                DateTime dateOfBirth = (DateTime)dateOfBirthPicker.SelectedDate;

                string telephone = telephoneNumber.Text;

                string street = homeAdress.Text;

                City city = (City)cityAdress.SelectedItem;

                string email = emailAdress.Text;

                patient = new Patient(MainWindow.patient.Jmbg, name, surname, dateOfBirth, gender, city, street, telephone, email, MainWindow.patient.Username, MainWindow.patient.Password, MainWindow.patient.DateOfRegistration, MainWindow.patient.IsGuest);

                PatientCard pc = new PatientCard(patient);

                if (userController.EditProfile(patient) != null && patientCardController.EditPatientCard(pc) != null)
                {
                    List <Examination> examinations = examinationController.ViewExaminationsByPatient(patient.Jmbg);

                    foreach (Examination exm in examinations)
                    {
                        exm.patientCard = pc;
                        examinationController.EditExamination(exm);
                    }

                    List <Therapy> therapies = therapyController.ViewAllTherapyByPatient(patient.Jmbg);

                    foreach (Therapy t in therapies)
                    {
                        t.patientCard = pc;
                        therapyController.EditTherapy(t);
                    }

                    List <PlacemetnInARoom> placemetnInARooms = placementInSickRoomController.ViewPatientPlacements(patient.Jmbg);

                    foreach (PlacemetnInARoom p in placemetnInARooms)
                    {
                        p.patientCard = pc;
                        placementInSickRoomController.EditPlacement(p);
                    }

                    ProfileWindow profileWindow = new ProfileWindow();
                    profileWindow.Show();
                    this.Close();
                }
                else
                {
                    ValidationMessageWindow validationMessageWindow = new ValidationMessageWindow();
                    validationMessageWindow.caption.Text = "Neuspešna izmena podataka!";
                    validationMessageWindow.Show();
                }
            }
        }
Esempio n. 17
0
        public void SetFreeAppointmentSearchServiceTestIntegration()
        {
            _context = new MyDbContext(_options);
            var country = new Country {
                Id = 1, Name = "Srbija"
            };
            var city = new City {
                ZipCode = 21000, Name = "Novi Sad", CountryId = 1
            };
            var room1 = new Room {
                Id = 1, Usage = TypeOfUsage.CONSULTING_ROOM, Capacity = 2, Occupation = 1, Renovation = false
            };
            var room2 = new Room {
                Id = 2, Usage = TypeOfUsage.CONSULTING_ROOM, Capacity = 2, Occupation = 1, Renovation = false
            };
            var patient1 = new Patient
            {
                Jmbg               = "1234567891234",
                Name               = "Pera",
                Surname            = "Peric",
                DateOfBirth        = DateTime.Now,
                Gender             = GenderType.M,
                CityZipCode        = 21000,
                HomeAddress        = "Zmaj Jovina 10",
                Phone              = "065452102",
                Email              = "*****@*****.**",
                Username           = "******",
                Password           = "******",
                DateOfRegistration = DateTime.Now,
                IsBlocked          = false,
                IsActive           = true
            };
            var patient2 = new Patient
            {
                Jmbg               = "987654321124",
                Name               = "Nina",
                Surname            = "Ristic",
                DateOfBirth        = DateTime.Now,
                Gender             = GenderType.F,
                CityZipCode        = 21000,
                HomeAddress        = "Zmaj Jovina 10",
                Phone              = "43242341",
                Email              = "*****@*****.**",
                Username           = "******",
                Password           = "******",
                DateOfRegistration = DateTime.Now,
                IsBlocked          = false,
                IsActive           = true
            };
            var patientCard1 = new PatientCard
            {
                Id             = 1,
                BloodType      = BloodType.A,
                RhFactor       = RhFactorType.NEGATIVE,
                Alergies       = "",
                MedicalHistory = "",
                HasInsurance   = false,
                Lbo            = "",
                PatientJmbg    = "987654321124"
            };
            var patientCard2 = new PatientCard
            {
                Id             = 2,
                BloodType      = BloodType.A,
                RhFactor       = RhFactorType.NEGATIVE,
                Alergies       = "",
                MedicalHistory = "",
                HasInsurance   = false,
                Lbo            = "",
                PatientJmbg    = "1234567891234"
            };
            var speciality = new Specialty {
                Id = 1, Name = "Kardiolog"
            };
            var doctor1 = new Doctor
            {
                Jmbg             = "0909965768767",
                Name             = "Mira",
                Surname          = "Markovic",
                DateOfBirth      = DateTime.Now,
                Gender           = GenderType.F,
                CityZipCode      = 21000,
                HomeAddress      = "Zmaj Jovina 10",
                Phone            = "065452102",
                Email            = "*****@*****.**",
                Username         = "******",
                Password         = "******",
                NumberOfLicence  = "",
                DoctorsOfficeId  = 1,
                DateOfEmployment = DateTime.Now
            };
            var doctor2 = new Doctor
            {
                Jmbg             = "1109965768767",
                Name             = "Mira",
                Surname          = "Markovic",
                DateOfBirth      = DateTime.Now,
                Gender           = GenderType.F,
                CityZipCode      = 21000,
                HomeAddress      = "Zmaj Jovina 10",
                Phone            = "065452102",
                Email            = "*****@*****.**",
                Username         = "******",
                Password         = "******",
                NumberOfLicence  = "",
                DoctorsOfficeId  = 1,
                DateOfEmployment = DateTime.Now
            };
            var doctor1Speciality = new DoctorSpecialty {
                DoctorJmbg = "0909965768767", SpecialtyId = 1
            };
            var doctor2Speciality = new DoctorSpecialty {
                DoctorJmbg = "1109965768767", SpecialtyId = 1
            };
            var examination1 = new Examination
            {
                Id                = 1,
                Type              = TypeOfExamination.GENERAL,
                DateAndTime       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.AddDays(1).Day, 7, 0, 0, DateTimeKind.Utc),
                Anamnesis         = "Bol u grlu",
                DoctorJmbg        = "0909965768767",
                IdRoom            = 1,
                IdPatientCard     = 1,
                ExaminationStatus = ExaminationStatus.CREATED,
                IsSurveyCompleted = false
            };
            var examination2 = new Examination
            {
                Id                = 2,
                Type              = TypeOfExamination.GENERAL,
                DateAndTime       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.AddDays(1).Day, 7, 30, 0, DateTimeKind.Utc),
                Anamnesis         = "COVID-19",
                DoctorJmbg        = "0909965768767",
                IdRoom            = 1,
                IdPatientCard     = 1,
                ExaminationStatus = ExaminationStatus.CREATED,
                IsSurveyCompleted = false
            };
            var examination3 = new Examination
            {
                Id                = 3,
                Type              = TypeOfExamination.GENERAL,
                DateAndTime       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.AddDays(1).Day, 8, 0, 0, DateTimeKind.Utc),
                Anamnesis         = "COVID-19",
                DoctorJmbg        = "0909965768767",
                IdRoom            = 1,
                IdPatientCard     = 1,
                ExaminationStatus = ExaminationStatus.CREATED,
                IsSurveyCompleted = false
            };
            var examination4 = new Examination
            {
                Id                = 4,
                Type              = TypeOfExamination.GENERAL,
                DateAndTime       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.AddDays(1).Day, 8, 30, 0, DateTimeKind.Utc),
                Anamnesis         = "COVID-19",
                DoctorJmbg        = "0909965768767",
                IdRoom            = 1,
                IdPatientCard     = 1,
                ExaminationStatus = ExaminationStatus.CREATED,
                IsSurveyCompleted = false
            };
            var examination5 = new Examination
            {
                Id                = 5,
                Type              = TypeOfExamination.GENERAL,
                DateAndTime       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.AddDays(1).Day, 9, 0, 0, DateTimeKind.Utc),
                Anamnesis         = "COVID-19",
                DoctorJmbg        = "0909965768767",
                IdRoom            = 1,
                IdPatientCard     = 1,
                ExaminationStatus = ExaminationStatus.CREATED,
                IsSurveyCompleted = false
            };
            var equipmentType = new EquipmentType {
                Id = 1, Name = "Krevet", IsConsumable = false
            };
            var equipment = new Equipment {
                Id = 1, Quantity = 5, TypeId = 1
            };
            var equipmentInRoom = new EquipmentInRooms {
                IdEquipment = 1, Quantity = 2, RoomNumber = 1
            };

            _context.Add(country);
            _context.Add(city);
            _context.Add(room1);
            _context.Add(room2);
            _context.Add(patient1);
            _context.Add(patient2);
            _context.Add(patientCard1);
            _context.Add(patientCard2);
            _context.Add(speciality);
            _context.Add(doctor1);
            _context.Add(doctor2);
            _context.Add(doctor1Speciality);
            _context.Add(doctor2Speciality);
            _context.Add(examination1);
            _context.Add(examination2);
            _context.Add(examination3);
            _context.Add(examination4);
            _context.Add(examination5);
            _context.Add(equipmentType);
            _context.Add(equipment);
            _context.Add(equipmentInRoom);
            _context.SaveChanges();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Regex regex = new Regex(@"^[a-z]{2}[0-9]{3}$");
            Match match = regex.Match(txtLbo.Text);

            if (match.Success == false)
            {
                MessageBox.Show("Broj osiguranja mora biti u formatu xxYYY (x-slovo, Y-cifra).", "Upozorenje!",
                                MessageBoxButton.OK, MessageBoxImage.Warning);

                txtLbo.Focus();
                return;
            }

            PatientCard patinetC = p;

            patinetC.Lbo      = txtLbo.Text;
            patinetC.Alergies = txtAlergija.Text;
            if (comboKrvna.SelectedItem.ToString().Equals("A"))
            {
                patinetC.BloodType = BloodType.A;
            }
            else if (comboKrvna.SelectedItem.ToString().Equals("B"))
            {
                patinetC.BloodType = BloodType.B;
            }
            else if (comboKrvna.SelectedItem.ToString().Equals("AB"))
            {
                patinetC.BloodType = BloodType.AB;
            }
            else
            {
                patinetC.BloodType = BloodType.O;
            }

            if (comboRh.SelectedItem.ToString().Equals("Pozitivna"))
            {
                patinetC.RhFactor = RhFactorType.Pozitivna;
            }
            else
            {
                patinetC.RhFactor = RhFactorType.Negativna;
            }

            pc.EditPatientCard(patinetC);

            List <Examination> examinations = ec.ViewExaminationsByPatient(patinetC.patient.Jmbg);

            foreach (Examination exm in examinations)
            {
                exm.patientCard = patinetC;
                ec.EditExamination(exm);
            }

            List <PlacemetnInARoom> placements = prc.ViewPatientPlacements(patinetC.patient.Jmbg);

            foreach (PlacemetnInARoom p in placements)
            {
                p.patientCard = patinetC;
                prc.EditPlacement(p);
            }

            List <Therapy> therapies = tc.ViewAllTherapyByPatient(patinetC.patient.Jmbg);

            foreach (Therapy t in therapies)
            {
                t.patientCard = patinetC;
                tc.EditTherapy(t);
            }


            this.Close();
        }
Esempio n. 19
0
        public async Task <IActionResult> WriteReception([FromBody] PatientCard patientCard)
        {
            await _registry.Write(patientCard);

            return(Ok("Запись успешно создана"));
        }
Esempio n. 20
0
        private void yesBtn_Click(object sender, RoutedEventArgs e)
        {
            Regex regexJmbg  = new Regex(@"^[0-9]{13}$");
            Match match      = regexJmbg.Match(txtJmbg.Text);
            Regex regexPhone = new Regex(@"^[0-9]+$");
            Match match1     = regexPhone.Match(txtPhone.Text);
            Regex regexLbo   = new Regex(@"^[a-z]{2}[0-9]{3}$");
            Match match2     = regexLbo.Match(txtLbo.Text);
            Regex regexEmail = new Regex(@"^[a-z0-9\.\-_]{4,20}[@]{1}[a-z.]{4,10}");
            Match match3     = regexEmail.Match(txtEmail.Text);

            if (txtName.Text.Equals("") || txtSurname.Text.Equals("") || txtJmbg.Text.Equals(""))
            {
                var okMbx = new OKMessageBox(this, 1);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Unos imena, prezimena i jmbg-a je obavezan!";
                okMbx.ShowDialog();
            }
            else if (!match.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "JMBG mora da sadrži 13 cifara!";
                okMbx.ShowDialog();
            }
            else if (!txtPhone.Text.Equals("") && !match1.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Telefon može da sadrži samo cifre!";
                okMbx.ShowDialog();
            }
            else if (!txtLbo.Text.Equals("") && !match2.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Lbo mora da bude u formatu xx000!";
                okMbx.ShowDialog();
            }
            else if (!txtEmail.Text.Equals("") && !match3.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Pogrešan format za email!";
                okMbx.ShowDialog();
            }
            else
            {
                bool hi = false;
                if ((bool)yesCheckBtn.IsChecked)
                {
                    hi = true;
                }
                BloodType    blood = BloodType.O;
                RhFactorType rh    = RhFactorType.Negativna;
                DateTime     date  = DateTime.Today;
                GenderType   gen   = GenderType.Z;

                if (cmbBloodType.Text.Equals("A"))
                {
                    blood = BloodType.A;
                }
                else if (cmbBloodType.Text.Equals("B"))
                {
                    blood = BloodType.B;
                }
                else if (cmbBloodType.Text.Equals("AB"))
                {
                    blood = BloodType.AB;
                }

                if (cmbRh.Text.Equals("+"))
                {
                    rh = RhFactorType.Pozitivna;
                }
                if (dpDateOfBirth.SelectedDate != null)
                {
                    date = (DateTime)dpDateOfBirth.SelectedDate;
                }
                if (cmbGender.Text.Equals("M"))
                {
                    gen = GenderType.M;
                }

                City city = (City)txtCity.SelectedItem;

                bool guest = false;
                if (txtUsername.Text.Equals("") || txtUsername.Text == null)
                {
                    guest = true;
                }


                Patient p = new Patient(txtJmbg.Text, txtName.Text, txtSurname.Text, date, gen, city, txtStreet.Text, txtPhone.Text, txtEmail.Text, txtUsername.Text, txtPassword.Password, DateTime.Today, guest);

                string   medicalHistory = "";
                string[] partsDate      = txtDate.Text.Split('\n');
                string[] partsDesc      = txtDesc.Text.Split('\n');
                string[] partsTherapy   = txtTherapy.Text.Split('\n');

                if (!txtDate.Text.Equals(dates) || !txtTherapy.Text.Equals(therapy) || !txtDesc.Text.Equals(desc))
                {
                    if (partsDate.Length != partsDesc.Length || partsDate.Length != partsTherapy.Length || partsDate.Length != partsTherapy.Length)
                    {
                        var okMbx = new OKMessageBox(this, 2);
                        okMbx.titleMsgBox.Text = "Greška";
                        okMbx.textMsgBox.Text  = "Niste dobro unijeli istoriju bolesti!";
                        okMbx.ShowDialog();
                        return;
                    }
                    if (!txtDate.Text.Equals("") || !txtDesc.Text.Equals("") || !txtTherapy.Text.Equals(""))
                    {
                        for (int i = 0; i < partsDate.Length; i++)
                        {
                            if (partsDate[i].Equals("") || partsDesc[i].Equals("") || partsTherapy[i].Equals(""))
                            {
                                var okMbx = new OKMessageBox(this, 2);
                                okMbx.titleMsgBox.Text = "Greška";
                                okMbx.textMsgBox.Text  = "Niste dobro unijeli istoriju bolesti!";
                                okMbx.ShowDialog();
                                return;
                            }
                            medicalHistory += partsDate[i] + ":" + partsDesc[i] + ":" + partsTherapy[i] + ";";
                        }
                    }
                }
                else
                {
                    medicalHistory = dates + desc + therapy;
                    medicalHistory = medicalHistory.Replace('\n', ':');
                    if (medicalHistory.Length > 0)
                    {
                        medicalHistory  = medicalHistory.Substring(0, medicalHistory.Length - 1);
                        medicalHistory += ";";
                    }
                }

                PatientCard pc = new PatientCard(p, blood, rh, txtAllergy.Text, medicalHistory, hi, txtLbo.Text);

                if (patientController.EditProfile(p) != null && patientCardController.EditPatientCard(pc) != null)
                {
                    List <Examination> examinations = examinationController.ViewExaminationsByPatient(p.Jmbg);
                    foreach (Examination exm in examinations)
                    {
                        exm.patientCard = pc;
                        examinationController.EditExamination(exm);
                    }
                    List <Therapy> therapies = therapyController.ViewAllTherapyByPatient(p.Jmbg);
                    foreach (Therapy t in therapies)
                    {
                        t.patientCard = pc;
                        therapyController.EditTherapy(t);
                    }
                    List <PlacemetnInARoom> placemetnInARooms = placementInSickRoomController.ViewPatientPlacements(p.Jmbg);
                    foreach (PlacemetnInARoom pr in placemetnInARooms)
                    {
                        pr.patientCard = pc;
                        placementInSickRoomController.EditPlacement(pr);
                    }

                    var okMb = new OKMessageBox(this, 3);
                    okMb.titleMsgBox.Text = "Obavještenje";
                    okMb.textMsgBox.Text  = "Uspješno ste izmijenili informacije o pacijentu.";
                    okMb.ShowDialog();
                }
                else
                {
                    var okMbx = new OKMessageBox(this, 2);
                    okMbx.titleMsgBox.Text = "Greška";
                    okMbx.textMsgBox.Text  = "Došlo je do greške prilikom izmjene informacija! Provjerite da li su korisničko ime/lozinka validni.";
                    okMbx.ShowDialog();
                }
            }
        }
Esempio n. 21
0
 public PatientCard EditPatientCard(PatientCard patientCard)
 {
     return(patientCardService.EditPatientCard(patientCard));
 }
Esempio n. 22
0
        private void yesBtn_Click(object sender, RoutedEventArgs e)
        {
            Patient selectedPatient = (Patient)txtPatient.SelectedItem;
            Room    selectedRoom    = (Room)cmbNumberOfRoom.SelectedItem;

            if (selectedPatient == null)
            {
                var okMbx = new OKMessageBox(this, 4);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Morate odabrati pacijenta!";
                okMbx.ShowDialog();
                return;
            }
            if (cmbTypeOfExamination.SelectedItem == null)
            {
                var okMbx = new OKMessageBox(this, 4);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Morate odabrati vrstu pregleda!";
                okMbx.ShowDialog();
                return;
            }
            if (selectedRoom == null)
            {
                var okMbx = new OKMessageBox(this, 4);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Morate odabrati sobu!";
                okMbx.ShowDialog();
                return;
            }
            TypeOfExamination    type;
            TypeOfExaminationDTO selectedType = (TypeOfExaminationDTO)cmbTypeOfExamination.SelectedItem;

            if (selectedType.Type.Equals("Opšti pregled"))
            {
                type = TypeOfExamination.Opsti;
            }
            else if (selectedType.Type.Equals("Specijalistički pregled"))
            {
                type = TypeOfExamination.Specijalisticki;
            }
            else
            {
                type = TypeOfExamination.Operacija;
            }
            DateTime date = Convert.ToDateTime(examination.Date + " " + examination.Time, CultureInfo.InvariantCulture);

            string[]    partsDoctor         = examination.Doctor.Split(' ');
            Doctor      selectedDoctor      = (Doctor)userDoctorController.ViewProfile(partsDoctor[partsDoctor.Length - 1]);
            PatientCard selectedPatientCard = patientCardController.ViewPatientCard(selectedPatient.Jmbg);

            if (examinationController.ScheduleExamination(new Examination(examination.Id, type, date, selectedDoctor, selectedRoom, selectedPatientCard)) == null)
            {
                var okMbx = new OKMessageBox(this, 4);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Došlo je do greške, doktor/soba su već zauzeti u izabranom terminu!";
                okMbx.ShowDialog();
                return;
            }

            int    lastId  = notificationController.getLastId();
            string message = "Zakazan pregled\n" + "Doktor: " + selectedDoctor.Name + " " + selectedDoctor.Surname
                             + "\nBroj sobe: " + selectedRoom.Number + "\nDatum:" + date.ToShortDateString() + "\nVrijeme: " + date.ToShortTimeString();

            notificationController.SendNotification(new Notification(++lastId, TypeOfNotification.Pregled, message, selectedPatientCard.patient.Jmbg));


            var okMb = new OKMessageBox(this, 0);

            okMb.titleMsgBox.Text = "Obavještenje";
            okMb.textMsgBox.Text  = "Uspješno ste zakazali pregled.";
            okMb.ShowDialog();
            this.Close();

            foreach (Window window in Application.Current.Windows)
            {
                if (window.GetType() == typeof(MainWindow))
                {
                    (window as MainWindow).Main.Content = new ExaminationViewByDoctor(selectedDoctor.Jmbg);
                }
            }
        }
        private void buttonRegistration_Click(object sender, RoutedEventArgs e)
        {
            if (firstName.Text.Equals("") || lastName.Text.Equals("") || jmbg.Text.Equals("") || dateOfBirthPicker.Text.Equals("") || telephoneNumber.Text.Equals("") || homeAdress.Text.Equals("") || cityAdress.Text.Equals("") || emailAdress.Text.Equals("") || user.Text.Equals("") || pass.Text.Equals(""))
            {
                ValidationMessageWindow validationWindow = new ValidationMessageWindow();
                validationWindow.Show();
            }
            else
            {
                string jmbgPatient = jmbg.Text;

                string name = firstName.Text;

                string surname = lastName.Text;

                DateTime dateOfBirth = (DateTime)dateOfBirthPicker.SelectedDate;

                GenderType gender;

                if (male.IsChecked == true)
                {
                    gender = GenderType.M;
                }
                else
                {
                    gender = GenderType.Z;
                }

                string telephone = telephoneNumber.Text;

                string street = homeAdress.Text;

                City city = (City)cityAdress.SelectedItem;

                string email = emailAdress.Text;

                string username = user.Text;

                string password = pass.Text;

                DateTime currentDate = DateTime.Now;

                bool isGuest = false;

                patient = new Patient(jmbgPatient, name, surname, dateOfBirth, gender, city, street, telephone, email, username, password, currentDate, isGuest);

                patientCard = new PatientCard(patient);

                if (userController.Register(patient) != null && patientCardController.CreatePatientCard(patientCard) != null)
                {
                    MainWindow mainWindow = new MainWindow();
                    mainWindow.Show();
                    this.Close();
                    SuccessfulRegistrationWindow successfulRegistrationWindow = new SuccessfulRegistrationWindow();
                    successfulRegistrationWindow.ShowDialog();
                }
                else
                {
                    NotSuccessfulRegistratonWindow notSuccessfulRegistratonWindow = new NotSuccessfulRegistratonWindow();
                    notSuccessfulRegistratonWindow.ShowDialog();
                }
            }
        }
Esempio n. 24
0
        private void btnYes_Click(object sender, RoutedEventArgs e)
        {
            Regex regexJmbg  = new Regex(@"^[0-9]{13}$");
            Match match      = regexJmbg.Match(txtJmbg.Text);
            Regex regexPhone = new Regex(@"^[0-9]+$");
            Match match1     = regexPhone.Match(txtPhone.Text);
            Regex regexLbo   = new Regex(@"^[a-z]{2}[0-9]{3}$");
            Match match2     = regexLbo.Match(lboTextInput.Text);
            Regex regexEmail = new Regex(@"^[a-z0-9\.\-_]{4,20}[@]{1}[a-z.]{4,10}");
            Match match3     = regexEmail.Match(txtEmail.Text);

            if (txtName.Text.Equals("") || txtSurname.Text.Equals("") || txtJmbg.Text.Equals("") || cmbGender.SelectedItem == null || datePicker.SelectedDate == null)
            {
                var okMbx = new OKMessageBox(this, 1);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Unos imena, prezimena, JMBG-a, pola i datuma rođenja je obavezan!";
                okMbx.ShowDialog();
            }
            else if (!match.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "JMBG mora da sadrži 13 cifara!";
                okMbx.ShowDialog();
            }
            else if (!txtPhone.Text.Equals("") && !match1.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Telefon može da sadrži samo cifre!";
                okMbx.ShowDialog();
            }
            else if (!lboTextInput.Text.Equals("") && !match2.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Lbo mora da bude u formatu xx000!";
                okMbx.ShowDialog();
            }
            else if (!txtEmail.Text.Equals("") && !match3.Success)
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Pogrešan format za email!";
                okMbx.ShowDialog();
            }
            else if ((bool)completeRadioBtn.IsChecked && (txtUsername.Text.Equals("") || txtPassword.Password.Equals("")))
            {
                var okMbx = new OKMessageBox(this, 2);
                okMbx.titleMsgBox.Text = "Greška";
                okMbx.textMsgBox.Text  = "Unos korisničkog imena i lozinke je obavezan za kompletnu registraciju!";
                okMbx.ShowDialog();
            }
            else
            {
                bool hi = false;
                if ((bool)yesCheckBtn.IsChecked)
                {
                    hi = true;
                }
                BloodType    bloodType    = BloodType.O;
                RhFactorType rhFactorType = RhFactorType.Negativna;
                GenderType   gender       = GenderType.Z;
                DateTime     sd           = DateTime.Today;
                if (cmbBlood.SelectedItem != null)
                {
                    if (cmbBlood.Text.Equals("A"))
                    {
                        bloodType = BloodType.A;
                    }
                    else if (cmbBlood.Text.Equals("B"))
                    {
                        bloodType = BloodType.B;
                    }
                    else if (cmbBlood.Text.Equals("AB"))
                    {
                        bloodType = BloodType.AB;
                    }
                }
                if (cmbRh.SelectedItem != null)
                {
                    if (cmbRh.Text.Equals("+"))
                    {
                        rhFactorType = RhFactorType.Pozitivna;
                    }
                }
                if (datePicker.SelectedDate != null)
                {
                    sd = (DateTime)datePicker.SelectedDate;
                }
                if (cmbGender.SelectedItem != null)
                {
                    if (cmbGender.Text.Equals("M"))
                    {
                        gender = GenderType.M;
                    }
                }

                bool isGuest = false;
                if ((bool)quickRadioBtn.IsChecked)
                {
                    isGuest = true;
                }

                if (txtCity.SelectedItem != null)
                {
                    city = (City)txtCity.SelectedItem;
                }
                else
                {
                    city = new City();
                }

                string   medicalHistory = "";
                string[] partsDate      = txtDate.Text.Split('\n');
                string[] partsDesc      = txtDesc.Text.Split('\n');
                string[] partsTherapy   = txtTherapy.Text.Split('\n');


                if (partsDate.Length != partsDesc.Length || partsDate.Length != partsTherapy.Length || partsDate.Length != partsTherapy.Length)
                {
                    var okMbx = new OKMessageBox(this, 2);
                    okMbx.titleMsgBox.Text = "Greška";
                    okMbx.textMsgBox.Text  = "Niste dobro unijeli istoriju bolesti!";
                    okMbx.ShowDialog();
                    return;
                }

                if (!txtDate.Text.Equals("") || !txtDesc.Text.Equals("") || !txtTherapy.Text.Equals(""))
                {
                    for (int i = 0; i < partsDate.Length; i++)
                    {
                        if (partsDate[i].Equals("") || partsDesc[i].Equals("") || partsTherapy[i].Equals(""))
                        {
                            var okMbx = new OKMessageBox(this, 2);
                            okMbx.titleMsgBox.Text = "Greška";
                            okMbx.textMsgBox.Text  = "Niste dobro unijeli istoriju bolesti!";
                            okMbx.ShowDialog();
                            return;
                        }
                        medicalHistory += partsDate[i] + ":" + partsDesc[i] + ":" + partsTherapy[i] + ";";
                    }
                }

                patient     = new Patient(txtJmbg.Text, txtName.Text, txtSurname.Text, sd, gender, city, txtStreet.Text, txtPhone.Text, txtEmail.Text, txtUsername.Text, txtPassword.Password, DateTime.Today, isGuest);
                patientCard = new PatientCard(patient, bloodType, rhFactorType, txtAllergy.Text, medicalHistory, hi, lboTextInput.Text);

                if (userController.Register(patient) != null && patientCardController.CreatePatientCard(patientCard) != null)
                {
                    var okMb = new OKMessageBox(this, 3);
                    okMb.titleMsgBox.Text = "Obavještenje";
                    okMb.textMsgBox.Text  = "Uspješno ste registrovali novog pacijenta.";
                    okMb.ShowDialog();
                }
                else
                {
                    var okMbx = new OKMessageBox(this, 2);
                    okMbx.titleMsgBox.Text = "Greška";
                    okMbx.textMsgBox.Text  = "Pacijent je već registrovan ili ste unijeli nedovoljan broj karaktera za korisničko ime/lozinku!";
                    okMbx.ShowDialog();
                }
            }
        }
Esempio n. 25
0
 public PatientCard EditPatientCard(PatientCard patientCard)
 {
     return(activePatientCardRepository.SetPatientCard(patientCard));
 }
Esempio n. 26
0
        /// <summary>
        /// Метод создает новую карту пациента.
        /// </summary>
        /// <param name="patientCard"></param>
        /// <returns></returns>
        public async Task Create(PatientCard patientCard)
        {
            string typeParam = "card";
            int    generateNumber;

            // Генерит рандомный номер заявки.
            int RandomGenerate()
            {
                return(RandomDataService.GenerateRandomNumber());
            }

            generateNumber = RandomGenerate();

            // Проверяет существует ли уже такая карта.
            var resultCheck = await CheckingCard(typeParam, patientCard.CardNumber);

            // Если такая карта уже существует, то повторно пойдет генерить номер карты.
            if (Convert.ToBoolean(resultCheck))
            {
                generateNumber = RandomGenerate();
            }

            patientCard.CardNumber = generateNumber;

            using (var db = new SqlConnection(_conStr)) {
                var parameters = new DynamicParameters();
                parameters.Add("@cardNumber", patientCard.CardNumber, DbType.Int32);
                parameters.Add("@fullName", patientCard.FullName, DbType.String);
                parameters.Add("@dateOfBirth", patientCard.DateOfBirth, DbType.DateTime);
                parameters.Add("@address", patientCard.Address, DbType.String);
                parameters.Add("@number", patientCard.Number, DbType.String);
                parameters.Add("@policy", patientCard.Policy, DbType.String);
                parameters.Add("@snails", patientCard.Snails, DbType.String);
                parameters.Add("@timeProcAndRec", patientCard.TimeProcRecommend, DbType.DateTime);
                parameters.Add("@prescriptionDrugs", patientCard.PrescriptionDrugs, DbType.String);
                parameters.Add("@diagnosis", patientCard.Diagnosis, DbType.String);
                parameters.Add("@recipesRecommend", patientCard.RecipesRecommend, DbType.String);
                parameters.Add("@medicalHistory", patientCard.MedicalHistory, DbType.String);
                parameters.Add("@doctor", patientCard.Doctor, DbType.String);
                parameters.Add("@blood_group", patientCard.BloodGroup, DbType.String);
                parameters.Add("@category", patientCard.Category, DbType.String);
                parameters.Add("@seat_work", patientCard.SeatWork, DbType.String);
                parameters.Add("@position", patientCard.Position, DbType.String);
                parameters.Add("@tab_number", patientCard.TabNum, DbType.String);
                parameters.Add("@insurance_company", patientCard.InsuranceCompany, DbType.String);
                parameters.Add("@date_to", patientCard.DateTo, DbType.Date);
                parameters.Add("@comment", patientCard.Comment, DbType.String);
                parameters.Add("@email", patientCard.Email, DbType.String);
                parameters.Add("@indicator", patientCard.Indicator, DbType.String);
                parameters.Add("@isVich", patientCard.isVich, DbType.String);
                parameters.Add("@isHb", patientCard.isHb, DbType.String);
                parameters.Add("@isRw", patientCard.isRw, DbType.String);
                parameters.Add("@city", patientCard.City, DbType.String);
                parameters.Add("@region", patientCard.Region, DbType.String);
                parameters.Add("@district", patientCard.District, DbType.String);
                parameters.Add("@form_payment", patientCard.FormPay, DbType.String);
                parameters.Add("@plan_payment", patientCard.PlanPay, DbType.String);
                parameters.Add("@registry", patientCard.Registry, DbType.Date);
                parameters.Add("@who_change", patientCard.WhoChange, DbType.String);
                parameters.Add("@operator", patientCard.Operator, DbType.String);
                parameters.Add("@index_number", patientCard.IndexNumber, DbType.String);

                // Вызывает процедуру создания новой карты пациента.
                await db.QueryAsync <PatientCard>("sp_CreateCard",
                                                  commandType : CommandType.StoredProcedure,
                                                  param : parameters);
            }
        }
Esempio n. 27
0
 public PatientCard CreatePatientCard(PatientCard patientCard)
 {
     return(activePatientCardRepository.NewPatientCard(patientCard));
 }
Esempio n. 28
0
        public async Task <IActionResult> IdentityPatient([FromBody] PatientCard patientCard)
        {
            var isPatient = await _registry.GetIdentityPatient(patientCard);

            return(Ok(isPatient));
        }
Esempio n. 29
0
 public PatientCard CreatePatientCard(PatientCard patientCard)
 {
     return(patientCardService.CreatePatientCard(patientCard));
 }
Esempio n. 30
0
        protected override void Seed(HospitalContext context)
        {
            #region property init block
            var password    = "******";
            var patientRole = new Role {
                Name = "patient"
            };
            var doctorRole = new Role {
                Name = "doctor"
            };
            #endregion

            #region Create list of doctors
            var specialities = new[]
            {
                "Pediatrician", "Traumatologist", "Surgeon", "Therapist", "Cardiologist"
            };
            var lastNames = new[] { "Ariol", "Markay", "Mirkuriy", "Caningem", "Testovich" };
            var doctors   = new List <Doctor>();
            for (int i = 0; i < specialities.Length; i++)
            {
                var doctor = new Doctor
                {
                    Roles = new List <Role> {
                        doctorRole
                    },
                    Speciality = new Speciality {
                        Name = specialities[i]
                    },
                    Email        = $"doctor{i}@hospital.com.ua",
                    UserName     = $"doctor{i}",
                    FirstName    = "Nikita",
                    LastName     = lastNames[i],
                    PasswordHash = password
                };
                doctors.Add(doctor);
            }

            #endregion
            #region Test Data for debug
            var prescription = new Prescription
            {
                Description      = "It's Example of prescriptions description",
                IsDone           = false,
                PrescriptionType = new PrescriptionType {
                    Name = "NurseType"
                }
            };
            var diagnosis = new Diagnosis
            {
                DefinitiveDiagnosis = "It's Example of definitive diagnosis",
                IsCured             = false,
                Prescriptions       = new List <Prescription> {
                    prescription
                }
            };
            var patientCard = new PatientCard {
                Diagnoses = new List <Diagnosis> {
                    diagnosis
                }
            };
            var patientTest = new Patient
            {
                PasswordHash = password,
                Roles        = new List <Role> {
                    patientRole
                },
                Email       = $"*****@*****.**",
                UserName    = $"patient",
                FirstName   = "Artem",
                LastName    = "Test",
                PatientCard = patientCard
            };

            var doctorTest = new Doctor
            {
                Roles = new List <Role> {
                    doctorRole
                },
                Speciality = new Speciality {
                    Name = "9doctor"
                },
                Email        = $"*****@*****.**",
                UserName     = $"doctor",
                FirstName    = "Nikita",
                LastName     = "Test",
                PasswordHash = password,
                Patients     = new List <Patient> {
                    patientTest
                }
            };
            doctors.Add(doctorTest);
            #endregion
            #region Create users(patients)

            var admin = new User {
                Roles = new List <Role> {
                    new Role {
                        Name = "admin"
                    }
                }, Email = "*****@*****.**", UserName = "******", FirstName = "Nikita", LastName = "Watashi", PasswordHash = password
            };
            var nurse = new User {
                Roles = new List <Role> {
                    new Role {
                        Name = "nurse"
                    }
                }, Email = "*****@*****.**", UserName = "******", FirstName = "Nikita", LastName = "GaDono", PasswordHash = password
            };

            var firstNames = new[] { "Nikita", "Igor", "Misha", "Ira", "Tanya", "Artem", "Pavel", "Irma" };
            var lastNames2 = new[] { "KaMitekudasai", "Adara", "Badara", "Madara", "Arara", "Irata", "Makynda", "Arkynda", "Lolelo" };
            var patients   = new List <Patient>();
            for (int i = 0; i < firstNames.Length; i++)
            {
                var patient = new Patient {
                    PasswordHash = password, Roles = new List <Role> {
                        patientRole
                    }, Email = $"patient{i}@gmail.com", UserName = $"patient{i}", FirstName = firstNames[i], LastName = lastNames2[i], PatientCard = new PatientCard()
                };
                patients.Add(patient);
            }
            #endregion

            #region Add all entity to context
            context.Users.Add(admin);
            context.Users.Add(nurse);
            context.Doctors.AddRange(doctors);
            context.Patients.AddRange(patients);
            context.SaveChanges();
            #endregion

            base.Seed(context);
        }