コード例 #1
0
ファイル: MopPlan.cs プロジェクト: j2cute/CMMS
        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));
        }
コード例 #2
0
ファイル: MopPlan.cs プロジェクト: j2cute/CMMS
        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));
        }