Exemplo n.º 1
0
        bool delBan  = Model.Prohibition.Banned("dis_del");   // Перменная для хранения доступа к удалению

        //MainFormClinic main = new MainFormClinic();

        public Info_Prescription(PrescriptionOfDrug pr)
        {
            InitializeComponent();

            pres = pr; // Передача назначения лекарства из грида главной формы

            // Ограничение функционала в зависимости от роли
            button3.Visible  = editBan;
            button2.Visible  = editBan;
            button24.Visible = addBan;
            dataGridView5.Columns[9].Visible = delBan;

            textBox1.Text = Convert.ToString(pres.PlanID); // Передача ID плана лечения в textbox
            // Заполнение полей данными из грида главной формы
            int d = pres.DrugID;

            textBox3.Text         = Convert.ToString(OperationsOfDrugs.FindByID(d).ID);
            textBox4.Text         = Convert.ToString(OperationsOfDrugs.FindByID(d).Name);
            numericUpDown1.Value  = (decimal)pres.Quantity;
            dateTimePicker1.Value = pres.StartTimeOfTaken;
            dateTimePicker2.Value = pres.FinishTimeOfTaken;

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

            DispensingGrid();
        }
Exemplo n.º 2
0
        // Заполнение грида
        private void Choice_Drug_Load(object sender, EventArgs e)
        {
            List <Drug> drug = OperationsOfDrugs.ChoiceGrid_Drug();

            foreach (var p in drug)
            {
                dataGridView6.Rows.Add(p.ID, p.Name, p.Quantity, p.Measure, p.DateOfCreate, p.DateOfEdit);
            }
        }
Exemplo n.º 3
0
        // Грид с назначениями лекарств
        public void PrescriptionGrid()
        {
            dataGridView4.Rows.Clear();

            // Количество записей на гриде
            int records = 10;

            using (Context db = new Context())
            {
                // Находим все записи
                var p = db.PrescriptionsOfDrugs.Where(x => x.PlanID == plan.ID && x.DateOfDelete == null).ToList();
                // Поиск максимального числа страниц
                maxpage = p.Count() / records;

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

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

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

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

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

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

            List <PrescriptionOfDrug> pres = OperationsOfPrescriptionsOfDrugs.FindAllPrescription_Plan(plan, currentPage, records);

            foreach (var pr in pres)
            {
                dataGridView4.Rows.Add(pr.ID, pr.PlanID, OperationsOfDrugs.FindByID(pr.DrugID).Name, pr.Quantity, pr.StartTimeOfTaken, pr.FinishTimeOfTaken, pr.DateOfCreate, pr.DateOfEdit);
            }
        }
Exemplo n.º 4
0
        // Кнопка "Сохранить", при нажатии считывает текстбоксы и заносит их данные в поля объекта + проверка полей
        private void button2_Click(object sender, EventArgs e)
        {
            if (CheckField() == 2)
            {
                drug.Name     = textBox1.Text;
                drug.Quantity = (int)numericUpDown1.Value;
                drug.Measure  = textBox8.Text;

                OperationsOfDrugs.Edit(drug);
                MessageBox.Show("Данные о лекарстве изменены");

                // При нажатии кнопки вызывается грид с уже измененными данными(авто обновление) на главной форме
            }
        }
Exemplo n.º 5
0
        // Клик на гриде
        private void dataGridView6_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                if (dataGridView6.RowCount - 1 >= e.RowIndex)
                {
                    int l = e.RowIndex;                                            // Находим индекс строки, где был клик

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

                    Drug drug = OperationsOfDrugs.FindByID(k);
                    prs.DrugField(drug); // Выбор лекарства в форме добавления
                    ps.DrugField(drug);  // Выбор лекарства в форме просмотра
                    this.Close();
                }
            }
        }
Exemplo n.º 6
0
        private void GridWithPatient()
        {
            // Очистка грида чтобы записи не дублировались
            dataGridView2.Rows.Clear();

            // Количество записей на гриде
            int records = 10;

            // Все пациенты данного лекарства
            List <Person> emp = OperationsOfDrugs.Drug_Patient(drug, currentPage, records);

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

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

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

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

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

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

            // Заполнение грида с мостом пациентов
            foreach (Person p in emp)
            {
                dataGridView2.Rows.Add(p.ID, p.Surname, p.Name, p.Patronymic, p.Phone, p.DateOfCreate, p.DateOfEdit);
            }
        }
Exemplo n.º 7
0
 // Дабл клик по гриду с лекарствами
 private void dataGridView6_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     // Открытие карточки лекарства при клике везде на гриде
     if (e.ColumnIndex != 0)
     {
         if (e.RowIndex > -1)
         {
             if (dataGridView6.RowCount - 1 >= e.RowIndex)
             {
                 // Находим индекс строки, где был клик
                 int l = e.RowIndex;
                 // Выдергивание id пациента из строки
                 int k = Convert.ToInt32(dataGridView6.Rows[l].Cells[0].Value);
                 // Вызов конструктора формы с данными строки(лекарства) на которую мы кликнули
                 InfoForm.Info_Drug f = new InfoForm.Info_Drug(OperationsOfDrugs.FindByID(k));
                 f.ShowDialog();
                 // Вызов функции грида лекарств для его авто обновления
                 GridWithDrugs();
             }
         }
     }
 }