public ActionResult MopPlanData(M_MOP_PLAN data) { string actionName = "MopPlanData"; M_MOP_PLAN model = new M_MOP_PLAN(); try { _logger.Log(LogLevel.Trace, actionName + " :: started."); if (data.SiteId == 0 || string.IsNullOrWhiteSpace(data.PMS_No) || string.IsNullOrWhiteSpace(data.MOP_No) || string.IsNullOrWhiteSpace(data.ESWBS)) { } else { using (var context = new WebAppDbContext()) { var result = context.M_MOP_PLAN.Where(x => x.SiteId == data.SiteId && x.PMS_No == data.PMS_No && x.MOP_No == data.MOP_No && x.ESWBS == data.ESWBS).FirstOrDefault(); if (result != null) { result.Actions = PlanActions; model = result; } else { } } } } catch (Exception ex) { _logger.Log(LogLevel.Error, actionName + " EXCEPTION :: " + ex.ToString() + " INNER EXCEPTION :: " + ex.InnerException?.ToString()); } _logger.Log(LogLevel.Trace, actionName + " :: ended."); return(PartialView("_MopPlan", model)); }
public JsonResult EditPlan(M_MOP_PLAN plan) { string actionName = "MopPlanData"; var type = "success"; var msg = "Plan edited successfully."; if (plan.SelectedDate != null) { _logger.Log(LogLevel.Trace, actionName + " :: started."); using (var db = new WebAppDbContext()) { using (var transaction = db.Database.BeginTransaction()) { try { using (var context = new WebAppDbContext()) { var data = context.M_MOP_PLAN.Where(x => x.SiteId == plan.SiteId && x.PMS_No == plan.PMS_No && x.MOP_No == plan.MOP_No && x.ESWBS == plan.ESWBS).FirstOrDefault(); if (data.NextDueDate == null && data.DoneDate == null) { data.NextDueDate = plan.SelectedDate; } else { if (!String.IsNullOrWhiteSpace(plan.Status)) { if (plan.Status == "Deferred") { data.NextDueDate = plan.SelectedDate; } else if (plan.Status == "Done") { var mop = context.M_MOP.Where(x => x.MOP_No == plan.MOP_No && x.PMS_No == plan.PMS_No && x.SiteId == plan.SiteId).FirstOrDefault(); data.DoneDate = plan.SelectedDate; data.NextDueDate = DateTime.Now.AddDays(GetDaysViaPeriod(mop.Period, Convert.ToInt32(mop.Periodicity))); db.M_MOP_PLAN_HISTORY.Add(new M_MOP_PLAN_HISTORY() { SiteId = plan.SiteId, PMS_No = plan.PMS_No, MOP_No = plan.MOP_No, ESWBS = plan.ESWBS, DoneBy = Session[SessionKeys.UserId]?.ToString(), DoneDate = plan.SelectedDate, NextDueDate = data.NextDueDate }); } else { type = "error"; msg = "Invalid data entered."; } } else { type = "error"; msg = "Please fill complete data."; } } db.Entry(data).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); transaction.Commit(); } } catch (Exception ex) { _logger.Log(LogLevel.Error, actionName + " EXCEPTION :: " + ex.ToString() + " INNER EXCEPTION :: " + ex.InnerException?.ToString()); type = "failure"; msg = "Internal server error."; transaction.Rollback(); } } } } else { type = "error"; msg = "Please fill complete data."; } _logger.Log(LogLevel.Trace, actionName + " :: ended."); return(Json(new { msg = msg, type = type }, JsonRequestBehavior.AllowGet)); }