示例#1
0
        public ActionResult PartialPatientEdit(vwPatientEdit obj, string queue = "", string returnString = "")
        {
            if (ModelState.IsValid)
            {
                Patient patientObj = dbm.Patients.SingleOrDefault(o => o.PatientID == obj.PatientID);
                patientObj.Lastname = obj.Lastname;
                patientObj.Initials = obj.Initials;
                patientObj.Birthdate = obj.Birthdate;
                string tempSex;
                switch (obj.Sex)
                {
                    case "1":
                        tempSex = "Неизвестно";
                        break;
                    case "2":
                        tempSex = "Мужской";
                        break;
                    case "3":
                        tempSex = "Женский";
                        break;
                    default:
                        tempSex = "Неизвестно";
                        break;
                }
                patientObj.Sex = tempSex;
                dbm.SaveChanges();
                Sample sampleObj = dbm.Samples.SingleOrDefault(o => o.SampleID == obj.SampleID);
                sampleObj.ClinicMaterialID = obj.ClinicMaterialID;
                sampleObj.DoctorID = obj.DoctorID;
                sampleObj.DatetimeCapture = obj.DatetimeCapture;
                sampleObj.DatetimeDelivery = obj.DatetimeDelivery;
                dbm.SaveChanges();

                string strMessage = "Изменения в данных пацента " + obj.Lastname + " " + obj.Initials + " успешно сохранены";

                int temp = -1;
                if (queue == "1")
                {
                    temp = 1;
                }
                if (returnString == "PatientListFree")
                {
                   return  RedirectToAction("PatientListFree","Patient", new { message = strMessage, queue = temp });
                }
                else
                {
                    return  RedirectToAction("PatientListPaid","Patient", new { message = strMessage, queue = temp });
                }
            }
            else
            {
                int temp = -1;
                if (queue == "1")
                {
                    temp = 1;
                }
                ModelState.AddModelError("", "Невозможно сохранить изменения. Проверьте правильность заполнения всех полей.");
                string strMessage = "Изменения в данных пацента " + obj.Lastname + " " + obj.Initials + " не были сохранены из-за ошибок ввода";
                if (returnString == "PatientListFree")
                {
                    return RedirectToAction("PatientListFree", "Patient", new { message = strMessage, queue = temp });
                }
                else
                {
                    return RedirectToAction("PatientListPaid", "Patient", new { message = strMessage, queue = temp });
                }
            }
        }
示例#2
0
        public ActionResult PartialPatientEdit(int sampleId = -1, string returnString = "", int queue = -1)
        {
            try
            {

                vwPatientEdit obj = new vwPatientEdit();
                var temp = dbm.Samples.Include(o => o.Patient).SingleOrDefault(o => o.SampleID == sampleId);
                obj.Birthdate = DateTime.Parse(temp.Patient.Birthdate.ToString());
                obj.ClinicMaterialID = temp.ClinicMaterialID;
                obj.DatetimeCapture = temp.DatetimeCapture;
                obj.DatetimeDelivery = temp.DatetimeDelivery;
                obj.DoctorID = temp.DoctorID;
                obj.Initials = temp.Patient.Initials;
                obj.Lastname = temp.Patient.Lastname;
                obj.PatientID = temp.PatientID;
                obj.SampleID = temp.SampleID;
                obj.Sex = temp.Patient.Sex;

                List<SelectListItem> listSex = new List<SelectListItem>();
                listSex.Add(new SelectListItem { Text = "Неизвестно", Value = "1" });
                listSex.Add(new SelectListItem { Text = "Мужской", Value = "2" });
                listSex.Add(new SelectListItem { Text = "Женский", Value = "3" });
                var selectSex = new SelectList(listSex, "Value", "Text", 1);
                ViewData["selectSex"] = selectSex;

                var itemsClinicMaterials = db.GetClinicMaterialsList();
                List<SelectListItem> listClinicMaterial = new List<SelectListItem>();
                foreach (var item in itemsClinicMaterials)
                {
                    listClinicMaterial.Add(new SelectListItem { Text = item.Description + " - " + item.ClinicMaterialGroup.DescriptionRus, Value = item.ClinicMaterialID.ToString() });
                }
                var selectClinicMaterial = new SelectList(listClinicMaterial, "Value", "Text", 1);
                ViewData["selectClinicMaterial"] = selectClinicMaterial;

                var itemsDoctors = db.GetDoctorsList();
                List<SelectListItem> listDoctor = new List<SelectListItem>();
                foreach (var item in itemsDoctors)
                {
                    listDoctor.Add(new SelectListItem { Text = item.Lastname + " " + item.Initials, Value = item.DoctorID.ToString() });
                }
                var selectDoctor = new SelectList(listDoctor, "Value", "Text", 1);
                ViewData["selectDoctor"] = selectDoctor;

                ViewBag.Queue = queue;
                ViewBag.ReturnString = returnString;

                return PartialView(obj);
            }
            catch (DataException ex)
            {
                string strMessage = "Ошибка " + ex.Message + ". Попробуйте повторить действие. В случае постоянного возникновения ошибки обратитесь к администратору";

                int temp = -1;
                if (queue == 1)
                {
                    temp = 1;
                }
                if (returnString == "PatientListFree")
                {
                    return RedirectToAction("PatientListFree", "Patient", new { message = strMessage, queue = temp });
                }
                else
                {
                    return RedirectToAction("PatientListPaid", "Patient", new { message = strMessage, queue = temp });
                }
            }
        }