public ActionResult Edit(MyClinic.Infrastructure.Disease disease) { Disease originDisease = diseaseRepository.GetDiseaseById(disease.Id); try { if (ModelState.IsValid) { var objSession = Session["user"] as MyClinic.Infrastructure.SessUser; disease.ModifiedBy = objSession.UserId; disease.ModifiedDate = DateTime.Now; disease.CreateBy = originDisease.CreateBy; disease.CreateDate = originDisease.CreateDate; disease.Status = originDisease.Status; string diffString = originDisease.EnumeratePropertyDifferencesInString(disease); diseaseRepository.UpdateFieldChangedOnly(originDisease, disease); /*For Add New Record to LogTable*/ logTran.UserId = objSession.UserId; logTran.ProcessType = "Edit Disease"; logTran.Description = "Edit Disease value as follow: " + diffString; logTran.LogDate = DateTime.Now; logRepository.Add(logTran); return(RedirectToAction("Index", "Disease")); } } catch (Exception ex) { log.Error(ex); ModelState.AddModelError("error", Translator.UnexpectedError); } diseaseModel = new DiseaseModels { disease = disease, }; return(View(diseaseModel)); }