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 }); } } }
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 }); } } }