示例#1
0
        TreatmentPlan pln       = new TreatmentPlan();      // Экземпляр TreatmentPlan

        public Card_Prescription(TreatmentPlan pl)
        {
            pln = pl; // передача плана лечения из грида главной формы

            InitializeComponent();

            textBox1.Text = Convert.ToString(pln.ID); // Передача ID плана лечения в textbox
        }
 public static void Edit(TreatmentPlan plan)
 {
     using (Context db = new Context())
     {
         plan.DateOfEdit      = DateTime.Now;
         db.Entry(plan).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
 public static void Add(TreatmentPlan plan)
 {
     using (Context db = new Context())
     {
         plan.DateOfCreate = DateTime.Now;
         db.TreatmentPlans.Add(plan);
         db.SaveChanges();
     }
 }
        public static List <TreatmentPlan> Plans_Doctor(TreatmentPlan plan, int docID, bool checkCreate1, bool checkCreate2, bool checkEdit1, bool checkEdit2,
                                                        DateTime create1, DateTime create2, DateTime edit1, DateTime edit2, int pageNum, int recordsCount)
        {
            using (Context db = new Context())
            {
                IEnumerable <TreatmentPlan> plansIQuer = db.TreatmentPlans.Where(x => x.DateOfDelete == null);

                var plans = plansIQuer.Where(x => x.AssignerDoctorID == docID);

                if (plan.ID != 0) // Поиск по ID
                {
                    plans = plans.Where(x => x.ID == plan.ID);
                }

                if (checkCreate1 == true && checkCreate2 == false) // Поиск по дате создания
                {
                    plans = plans.Where(x => x.DateOfCreate >= create1);
                }
                if (checkCreate2 == true && checkCreate1 == false)
                {
                    plans = plans.Where(x => x.DateOfCreate <= create2);
                }
                if (checkCreate1 == true && checkCreate2 == true)
                {
                    plans = plans.Where(x => x.DateOfCreate >= create1 && x.DateOfCreate <= create2);
                }


                if (checkEdit1 == true && checkEdit2 == false) // Поиск по дате изменения
                {
                    plans = plans.Where(x => x.DateOfEdit >= edit1);
                }
                if (checkEdit2 == true && checkEdit1 == false)
                {
                    plans = plans.Where(x => x.DateOfEdit <= edit2);
                }
                if (checkEdit1 == true && checkEdit2 == true)
                {
                    plans = plans.Where(x => x.DateOfEdit >= edit1 && x.DateOfEdit <= edit2);
                }

                plans = plans.OrderBy(x => x.ID);

                plans = plans.Skip((pageNum - 1) * recordsCount).Take(recordsCount);

                //plans = plans.ToList().Cast<TreatmentPlan>;
                List <TreatmentPlan> p = plans.ToList();
                return(p);
            }
        }
        public static string Edit(TreatmentPlan plan)
        {
            string answer = СheckField(plan);

            if (answer == "Данные корректны")
            {
                using (Context db = new Context())
                {
                    plan.DateOfEdit      = DateTime.Now;
                    db.Entry(plan).State = EntityState.Modified;
                    db.SaveChanges();
                    answer = "Произошло редактирование";
                }
                return(answer);
            }
            return(answer);
        }
        public static string Add(TreatmentPlan plan)
        {
            string answer = СheckField(plan);

            if (answer == "Данные корректны!")
            {
                using (Context db = new Context())
                {
                    plan.DateOfCreate = DateTime.Now;
                    db.TreatmentPlans.Add(plan);
                    db.SaveChanges();
                    answer = "Произошло добавление";
                }
                return(answer);
            }
            return(answer);
        }
示例#7
0
        public static List <PrescriptionOfDrug> FindAllPrescription_Plan(TreatmentPlan plan, int pageNum, int recordsCount)
        {
            List <PrescriptionOfDrug> listPrescription = new List <PrescriptionOfDrug>();

            using (Context db = new Context())
            {
                var pres = db.PrescriptionsOfDrugs.Where(x => x.PlanID == plan.ID && x.DateOfDelete == null);

                // Сортировка по id, без OrderBy не работает Skip
                pres = pres.OrderBy(x => x.ID);
                // Отбираем нужное количество записей
                pres = pres.Skip((pageNum - 1) * recordsCount).Take(recordsCount);

                listPrescription.AddRange(pres);
            }
            return(listPrescription);
        }
        public static string СheckField(TreatmentPlan plan)
        {
            if (plan.AssignerDoctorID == 0)
            {
                return("Выберите врача. Это поле не может быть пустым");
            }
            if (plan.PatientID == 0)
            {
                return("Выберите пациента. Это поле не может быть пустым");
            }

            using (Context context = new Context())
            {
                TreatmentPlan p = new TreatmentPlan();
                p = context.TreatmentPlans.Where(x => x.AssignerDoctorID == plan.AssignerDoctorID && x.PatientID == plan.PatientID).FirstOrDefault <TreatmentPlan>();
                if (p != null)
                {
                    return("Такой план лечения уже существует в базе под номером " + p.ID);
                }
            }
            return("Данные корректны");
        }
        public static List <TreatmentPlan> FindAllPlan(TreatmentPlan plan, bool checkCreate1, bool checkCreate2, bool checkEdit1, bool checkEdit2,
                                                       DateTime create1, DateTime create2, DateTime edit1, DateTime edit2, int pageNum, int recordsCount)
        {
            List <TreatmentPlan> listPlan = new List <TreatmentPlan>();

            using (Context db = new Context())
            {
                var query = from t in db.TreatmentPlans
                            select new
                {
                    ID = t.ID,
                    AssignerDoctorID = t.AssignerDoctorID,
                    PatientID        = t.PatientID,
                    AddTime          = t.DateOfCreate,
                    DelDate          = t.DateOfDelete,
                    EditDate         = t.DateOfEdit,
                };

                query = query.Where(x => x.DelDate == null); // Убираем удаленные

                if (plan.ID != 0)                            // Поиск по ID
                {
                    query = query.Where(x => x.ID == plan.ID);
                }

                if (checkCreate1 == true && checkCreate2 == false) // Поиск по дате создания
                {
                    query = query.Where(x => x.AddTime >= create1);
                }
                if (checkCreate2 == true && checkCreate1 == false)
                {
                    query = query.Where(x => x.AddTime <= create2);
                }
                if (checkCreate1 == true && checkCreate2 == true)
                {
                    query = query.Where(x => x.AddTime >= create1 && x.AddTime <= create2);
                }


                if (checkEdit1 == true && checkEdit2 == false) // Поиск по дате изменения
                {
                    query = query.Where(x => x.EditDate >= edit1);
                }
                if (checkEdit2 == true && checkEdit1 == false)
                {
                    query = query.Where(x => x.EditDate <= edit2);
                }
                if (checkEdit1 == true && checkEdit2 == true)
                {
                    query = query.Where(x => x.EditDate >= edit1 && x.EditDate <= edit2);
                }

                query = query.OrderBy(x => x.ID);

                query = query.Skip((pageNum - 1) * recordsCount).Take(recordsCount);

                foreach (var d in query)
                {
                    if (listPlan.Find(x => x.ID == d.ID) == null) // условие предохранения от дубликатов
                    {
                        listPlan.Add(new TreatmentPlan
                        {
                            ID = d.ID,
                            AssignerDoctorID = d.AssignerDoctorID,
                            PatientID        = d.PatientID,
                            DateOfCreate     = d.AddTime,
                            DateOfDelete     = d.DelDate,
                            DateOfEdit       = d.EditDate
                        });
                    }
                }
                return(listPlan);
            }
        }