public ActionResult MitigationActionApp()
        {
            var userData = Utils.LoadUserDataFromSession();

            if (!userData.IsAdmin && !userData.IsRiskOwner)
            {
                MitigationActionAppModel ma = new MitigationActionAppModel();

                var action = from act in db.MitigationsActions
                             join app in db.ActionApprovals
                             on act.ActionID equals app.ActionID
                             where ((act.DivisionId == null) &&
                                    (act.SubDivId == null) &&
                                    (app.ApprovelDate == null))
                             select act;

                ma.actionList = action;
                ma.tglAwal    = DateTime.Now;
                ma.tglAkhir   = DateTime.Now;
                return(View(ma));
            }
            else
            {
                ViewBag.Message = "Tidak bisa melakukan approve tindakan mitigasi ";
                return(View("Error"));
            }
        }
        public ActionResult MitigationActionAppView(int id)
        {
            //if (userData.IsRiskOwner)
            //{
            MitigationActionAppModel ma = new MitigationActionAppModel();

            ma.actionId   = id;
            ma.action     = db.MitigationsActions.Single(m => m.ActionID == id);
            ma.mitigation = db.RiskMitigations.Single(m => m.MitigationId == ma.action.MitigationId);

            return(View(ma));
            //}
        }
        public ActionResult MitigationActionAppView(MitigationActionAppModel ma)
        {
            var data = Utils.LoadUserDataFromSession();

            ma.actionApp        = db.ActionApprovals.SingleOrDefault(m => m.ActionID == ma.actionId);
            ma.actionApp.UserId = data.UserId;
            if (ma.actionApp.status == null)
            {
                ma.actionApp.ApprovelDate = DateTime.Now;
                ma.actionApp.status       = 1;
            }
            //db.ActionApprovals.Attach(ma.actionApp);
            db.SaveChanges();

            return(RedirectToAction("MitigationActionApproval"));
        }
        public ActionResult MitigationActionApp(MitigationActionAppModel ma)
        {
            var userData = Utils.LoadUserDataFromSession();

            if (ma.isApproved)
            {
                if (ma.mitigationcode == null)
                {
                    var action = from act in db.MitigationsActions
                                 join app in db.ActionApprovals
                                 on act.ActionID equals app.ActionID
                                 where ((act.DivisionId == userData.DivisionId)
                                        //    && (act.SubDivId == userData.SubDivId)
                                        && (app.ApprovelDate != null) &&
                                        ((act.ActionDate >= ma.tglAwal) &&
                                         (act.ActionDate <= ma.tglAkhir)))

                                 select act;

                    ma.actionList = action;
                }
                else
                {
                    var action = from act in db.MitigationsActions
                                 join app in db.ActionApprovals
                                 on act.ActionID equals app.ActionID
                                 where ((act.DivisionId == userData.DivisionId)
                                        //   && (act.SubDivId == userData.SubDivId)
                                        && (app.ApprovelDate != null) &&
                                        ((act.ActionDate >= ma.tglAwal) &&
                                         (act.ActionDate <= ma.tglAkhir)) &&
                                        (act.RiskMitigation.MitigationCode == ma.mitigationcode))
                                 select act;
                    ma.actionList = action;
                }
            }
            else
            {
                if (ma.mitigationcode == null)
                {
                    var action = from act in db.MitigationsActions
                                 join app in db.ActionApprovals
                                 on act.ActionID equals app.ActionID
                                 where ((act.DivisionId == userData.DivisionId)
                                        // && (act.SubDivId == userData.SubDivId)
                                        && (act.ActionDate >= ma.tglAwal) &&
                                        (act.ActionDate <= ma.tglAkhir) &&
                                        (act.ActionApproval.ApprovelDate == null))
                                 select act;

                    ma.actionList = action;
                }
                else
                {
                    var action = from act in db.MitigationsActions
                                 join app in db.ActionApprovals
                                 on act.ActionID equals app.ActionID
                                 where ((act.DivisionId == userData.DivisionId)
                                        //&& (act.SubDivId == userData.SubDivId)
                                        && (act.ActionDate >= ma.tglAwal) &&
                                        (act.ActionDate <= ma.tglAkhir) &&
                                        (act.ActionApproval.ApprovelDate == null) &&
                                        (act.RiskMitigation.MitigationCode == ma.mitigationcode))
                                 select act;
                    ma.actionList = action;
                }
            }

            return(View(ma));
        }