public static void HidePlan(int personID)
        {
            using (Context db = new Context())
            {
                if (OperationsOfPersons.FindByID(personID).Role == 2) // 2 = врач
                {
                    var plans = db.TreatmentPlans.Where(p => p.AssignerDoctorID == personID).ToList();

                    foreach (var p in plans)
                    {
                        p.DateOfDelete    = DateTime.Now;
                        db.Entry(p).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                if (OperationsOfPersons.FindByID(personID).Role == 7) // 7 = пациент
                {
                    var plans = db.TreatmentPlans.Where(p => p.PatientID == personID).ToList();

                    foreach (var p in plans)
                    {
                        p.DateOfDelete    = DateTime.Now;
                        db.Entry(p).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
        }
        public void DispensingGrid()
        {
            dataGridView5.Rows.Clear();
            int records = 10; // Количество записей на гриде

            using (Context db = new Context())
            {
                // Находим все записи
                var d = db.DispensingDrugs.Where(x => x.PrescriptionID == pres.ID && x.DateOfDelete == null).ToList();

                maxpage = d.Count() / records; // Поиск максимального числа страниц

                if (d.Count() % records != 0)
                {
                    maxpage++;
                }                                            // Если записи ровно не делятся на 10 - добавляется еще 1 страница

                if (maxpage == 0)
                {
                    maxpage++;
                }                                // Если записей вообще нет - будет 1 страница

                if (currentPage == maxpage)
                {
                    button29.Enabled = false;
                }                                                         // Если текущая выбранная страница = максимальной - дезоктивация кнопки ВПЕРЕД

                if (currentPage == 1)
                {
                    button30.Enabled = false;
                }                                                   // Если текущая выбранная страница = 1 - дезоктивация кнопки НАЗАД

                if (currentPage < maxpage)
                {
                    button29.Enabled = true;
                }                                                       // Если текущая выбранная страница > максимальной - активация кнопки ВПЕРЕД

                label41.Text = "Страница:" + Convert.ToString(currentPage) + "/" + maxpage;
            }

            List <DispensingDrug> dis = OperationsOfDispensingDrugs.FindAllDispensing_Prescription(pres, currentPage, records);

            foreach (var pr in dis)
            {
                if (pr.NurseID.HasValue)
                {
                    dataGridView5.Rows.Add(pr.ID, OperationsOfPersons.FindByID(pr.NurseID.Value).Surname + " "
                                           + OperationsOfPersons.FindByID(pr.NurseID.Value).Name + " "
                                           + OperationsOfPersons.FindByID(pr.NurseID.Value).Patronymic,
                                           pr.PrescriptionID, pr.TreatmentPlanID, pr.Dosage, pr.TimeOfTakeDispense, pr.DateOfCreate, pr.DateOfEdit, pr.Status);
                }
                else
                {
                    dataGridView5.Rows.Add(pr.ID, "",
                                           pr.PrescriptionID, pr.TreatmentPlanID, pr.Dosage, pr.TimeOfTakeDispense, pr.DateOfCreate, pr.DateOfEdit, pr.Status);
                }
            }
        }
示例#3
0
        bool editBan = Model.Prohibition.Banned("dis_edit");             // Перменная для хранения доступа к редактированию

        public Info_DispensingDrug(DispensingDrug ds)
        {
            InitializeComponent();

            // Бан полей
            textBox7.Enabled        = false;
            textBox4.Enabled        = false;
            textBox5.Enabled        = false;
            textBox6.Enabled        = false;
            numericUpDown1.Enabled  = false;
            textBox1.Enabled        = false;
            textBox3.Enabled        = false;
            dateTimePicker1.Enabled = false;
            dateTimePicker2.Enabled = false;
            Status.Enabled          = false;

            // Ограничение функционала
            button2.Visible = editBan;
            button1.Visible = editBan;

            dis = ds; // Передача назначения лекарства

            if (status != 6)
            {
                button3.Hide();
            }
            if (status == 3)
            {
                Status.Enabled = true;
                button2.Hide();
            }

            // Заполнение всех полей
            if (dis.NurseID.HasValue)
            {
                textBox7.Text = Convert.ToString(dis.NurseID.Value);
                textBox4.Text = OperationsOfPersons.FindByID(dis.NurseID.Value).Surname;
                textBox5.Text = OperationsOfPersons.FindByID(dis.NurseID.Value).Name;
                textBox6.Text = OperationsOfPersons.FindByID(dis.NurseID.Value).Patronymic;
            }
            else
            {
                textBox7.Text = "";
                textBox4.Text = "";
                textBox5.Text = "";
                textBox6.Text = "";
            }

            numericUpDown1.Value = (decimal)dis.Dosage;
            textBox1.Text        = Convert.ToString(dis.TreatmentPlanID);
            textBox3.Text        = Convert.ToString(dis.PrescriptionID);

            string[] time = Convert.ToString(dis.TimeOfTakeDispense).Split(' ');
            dateTimePicker1.Value = Convert.ToDateTime(time[0]);
            dateTimePicker2.Value = Convert.ToDateTime(time[1]);

            Status.Checked = dis.Status;
        }
示例#4
0
        // Клик на гриде
        private void dataGridEmployee_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                if (dataGridEmployee.RowCount - 1 >= e.RowIndex)
                {
                    int l = e.RowIndex;                                               // Находим индекс строки, где был клик

                    int k = Convert.ToInt32(dataGridEmployee.Rows[l].Cells[0].Value); // Выдергивание id медсестры из строки

                    Person nurse = OperationsOfPersons.FindByID(k);
                    dis.NurseField(nurse);        // Выбор медсестры в форме добавления
                    dispensing.NurseField(nurse); // Выбор медсестры в форме просмотра
                    this.Close();
                }
            }
        }
示例#5
0
        // Клик на гриде
        private void dataGridEmployee_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                if (dataGridEmployee.RowCount - 1 >= e.RowIndex)
                {
                    int l = e.RowIndex;                                               // Находим индекс строки, где был клик

                    int k = Convert.ToInt32(dataGridEmployee.Rows[l].Cells[0].Value); // Выдергивание id врача из строки

                    Person doctor = OperationsOfPersons.FindByID(k);
                    plan.DoctorField(doctor); // Выбор врача в форме добавления
                    pln.DoctorField(doctor);  // Выбор врача в форме просмотра
                    this.Close();
                }
            }
        }
示例#6
0
        private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                if (dataGridView2.RowCount - 1 >= e.RowIndex)
                {
                    int l = e.RowIndex;                                            // Находим индекс строки, где был клик

                    int k = Convert.ToInt32(dataGridView2.Rows[l].Cells[0].Value); // Выдергивание id пациента из строки

                    Person patient = OperationsOfPersons.FindByID(k);
                    plan.PatientField(patient); // Выбор пациента в форме добавления
                    pln.PatientField(patient);  // Выбор пациента в форме просмотра
                    this.Close();
                }
            }
        }
        public Info_TreatmentPlan(TreatmentPlan pl)
        {
            InitializeComponent();

            // передача плана лечения из грида главной формы
            plan = pl;
            // Ограничение функционала в зависимости от роли
            button24.Visible = addBan;
            button2.Visible  = editBan;
            button3.Visible  = editBan;
            button1.Visible  = editBan;
            dataGridView4.Columns[8].Visible = delBan;

            // Бан полей врача
            textBox7.Enabled = false;
            textBox1.Enabled = false;
            textBox2.Enabled = false;
            textBox3.Enabled = false;
            // Бан полей пациента
            textBox8.Enabled = false;
            textBox6.Enabled = false;
            textBox5.Enabled = false;
            textBox4.Enabled = false;

            if (status == 2)
            {
                button1.Hide();
            }

            // Находим ID врача и пациента для заполнения полей
            int d = plan.AssignerDoctorID;
            int p = plan.PatientID;

            // Заполняем поля
            textBox7.Text = Convert.ToString(OperationsOfPersons.FindByID(d).ID);
            textBox1.Text = Convert.ToString(OperationsOfPersons.FindByID(d).Surname);
            textBox2.Text = Convert.ToString(OperationsOfPersons.FindByID(d).Name);
            textBox3.Text = Convert.ToString(OperationsOfPersons.FindByID(d).Patronymic);

            textBox8.Text = Convert.ToString(OperationsOfPersons.FindByID(p).ID);
            textBox6.Text = Convert.ToString(OperationsOfPersons.FindByID(p).Surname);
            textBox5.Text = Convert.ToString(OperationsOfPersons.FindByID(p).Name);
            textBox4.Text = Convert.ToString(OperationsOfPersons.FindByID(p).Patronymic);

            PrescriptionGrid();
        }
示例#8
0
 // Смена статуса выдано/не выдано
 private void Status_CheckedChanged(object sender, EventArgs e)
 {
     if (status == 3 && Status.Checked == true)
     {
         textBox7.Text = Convert.ToString(nurID);
         textBox4.Text = OperationsOfPersons.FindByID(nurID).Surname;
         textBox5.Text = OperationsOfPersons.FindByID(nurID).Name;
         textBox6.Text = OperationsOfPersons.FindByID(nurID).Patronymic;
     }
     else
     {
         if (status == 3 && Status.Checked == false)
         {
             textBox7.Text = "";
             textBox4.Text = "";
             textBox5.Text = "";
             textBox6.Text = "";
         }
     }
 }
示例#9
0
 // Дабл клик по гриду с пациентами
 private void dataGridView3_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     // Открытие карточки пациента при клике везде на гриде
     if (e.ColumnIndex != 0)
     {
         if (e.RowIndex > -1)
         {
             if (dataGridView3.RowCount - 1 >= e.RowIndex)
             {
                 // Находим индекс строки, где был клик
                 int l = e.RowIndex;
                 // Выдергивание id пациента из строки
                 int k = Convert.ToInt32(dataGridView3.Rows[l].Cells[0].Value);
                 // Вызов конструктора формы с данными строки(пациента) на которую мы кликнули
                 InfoForm.Info_Patient f = new InfoForm.Info_Patient(OperationsOfPersons.FindByID(k));
                 f.ShowDialog();
                 // Вызов функции грида пациентов для его авто обновления
                 GridWithPatient();
             }
         }
     }
 }