// GET: editEvaluation public ActionResult EditEvaluation(int?doctor_id, int?reservation_id) { if (doctor_id == null || reservation_id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var doctor = db.DOCTOR.Find(doctor_id); if (doctor == null) { return(HttpNotFound()); } var isEvaluated = db.DOCTOR_EVALUATION.Find(reservation_id); if (isEvaluated != null) { return(this.RedirectTo("Index", "Patient")); } var v_EVALUATION = new V_EVALUATION(); if (reservation_id != null) { v_EVALUATION.DOCTOR_NM = doctor.DOCTOR_NM; v_EVALUATION.DOCTOR_ID = doctor.DOCTOR_ID; v_EVALUATION.LEVEL = doctor.LEVEL; v_EVALUATION.RATE = 0; v_EVALUATION.RESERVATION_ID = (int)reservation_id; } return(View(v_EVALUATION)); }
public ActionResult EditEvaluation(V_EVALUATION v_EVALUATION) { if (v_EVALUATION == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var dOCTOR_EVALUATION = new DOCTOR_EVALUATION() { EVALUATION_ID = Global.NextEvaluationID(), RESERVATION_ID = v_EVALUATION.RESERVATION_ID, DOCTOR_ID = v_EVALUATION.DOCTOR_ID, PATIENT_ID = Global.CurrentUserID, RATE = v_EVALUATION.RATE, DETAIL = v_EVALUATION.DETAIL, AGREETIMES = 0, INSDATE = DateTime.Now }; db.DOCTOR_EVALUATION.Add(dOCTOR_EVALUATION); db.SaveChanges(); var doctor = db.DOCTOR.Find(v_EVALUATION.DOCTOR_ID); if (doctor == null) { return(HttpNotFound()); } var list = db.DOCTOR_EVALUATION.Where(m => m.DOCTOR_ID == v_EVALUATION.DOCTOR_ID).ToList(); if (list != null) { doctor.LEVEL = (doctor.LEVEL + v_EVALUATION.RATE) / list.Count(); } else { doctor.LEVEL = v_EVALUATION.RATE; } var state = db.Entry(doctor); state.State = System.Data.Entity.EntityState.Unchanged; state.Property(m => m.LEVEL).IsModified = true; db.SaveChanges(); //TODO //修改之后页面跳转至原页面(患者评价) return(this.RedirectTo("Index", "Patient")); }