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); } } }
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; }
// Клик на гриде 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(); } } }
// Клик на гриде 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(); } } }
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(); }
// Смена статуса выдано/не выдано 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 = ""; } } }
// Дабл клик по гриду с пациентами 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(); } } } }