public ActionResult SaveControl(int riskId, string controlName)
        {
            RCMDetailRiskControl newControl = new RCMDetailRiskControl();

            newControl.RCMDetailRiskID = riskId;
            newControl.ControlName     = controlName;
            newControl.ReviewMasterID  = 0;
            newControl.DueDate         = DateTime.Now;
            newControl.CloseDate       = DateTime.Now;
            newControl.Status          = "Pending";
            db.RCMDetailRiskControls.Add(newControl);
            db.SaveChanges();
            string username         = User.Identity.Name;
            int    riskid           = db.RCMDetailRisks.Where(p => p.RCMDetailRiskID.Equals(riskId)).Select(p => p.RCMDetailRiskID).FirstOrDefault();
            int    wallid           = db.RiskControlMatrixs.Where(p => p.RiskControlMatrixID.Equals(riskid)).Select(p => p.WalktroughID).FirstOrDefault();
            RCMDetailRiskControl ri = new RCMDetailRiskControl();

            auditTransact.CreateAuditTrail("Create", wallid, "RCMDetailRiskControl", ri, newControl, username);
            ReviewRelationMaster rrm = new ReviewRelationMaster();
            string page = "control";

            rrm.Description = page + newControl.RCMDetailRiskControlID;
            db.ReviewRelationMasters.Add(rrm);
            db.SaveChanges();
            var        riskControl           = db.RCMDetailRiskControls.Where(p => p.RCMDetailRiskID == riskId).Select(p => new { controlId = p.RCMDetailRiskControlID, controlName = p.ControlName }).ToList();;
            SelectList riskControlSelectList = new SelectList(riskControl, "controlId", "ControlName", 0);

            return(Json(riskControlSelectList));
        }
        public ActionResult DeleteControl(int riskId, int controlId)
        {
            string username = User.Identity.Name;
            int    riskid   = db.RCMDetailRisks.Where(p => p.RCMDetailRiskID.Equals(riskId)).Select(p => p.RCMDetailRiskID).FirstOrDefault();
            int    wallid   = db.RiskControlMatrixs.Where(p => p.RiskControlMatrixID.Equals(riskid)).Select(p => p.WalktroughID).FirstOrDefault();

            db.Configuration.ProxyCreationEnabled = false;
            RCMDetailRiskControl control = db.RCMDetailRiskControls.Find(controlId);

            db.RCMDetailRiskControls.Remove(control);
            db.SaveChanges();
            RCMDetailRiskControl rc = new RCMDetailRiskControl();

            auditTransact.CreateAuditTrail("Delete", wallid, "RCMDetailRiskControl", control, rc, username);
            var        riskControl           = db.RCMDetailRiskControls.Where(p => p.RCMDetailRiskID == riskId).Select(p => new { controlId = p.RCMDetailRiskControlID, controlName = p.ControlName }).ToList();;
            SelectList riskControlSelectList = new SelectList(riskControl, "controlId", "ControlName", 0);

            return(Json(riskControlSelectList));
        }
        public ActionResult UpdateControl(int riskId, int controlId, string controlName)
        {
            string username = User.Identity.Name;
            int    riskid   = db.RCMDetailRisks.Where(p => p.RCMDetailRiskID.Equals(riskId)).Select(p => p.RCMDetailRiskID).FirstOrDefault();
            int    wallid   = db.RiskControlMatrixs.Where(p => p.RiskControlMatrixID.Equals(riskid)).Select(p => p.WalktroughID).FirstOrDefault();

            db.Configuration.ProxyCreationEnabled = false;
            RCMDetailRiskControl oldData = db.RCMDetailRiskControls.AsNoTracking().Where(p => p.RCMDetailRiskControlID.Equals(controlId)).FirstOrDefault();
            RCMDetailRiskControl control = db.RCMDetailRiskControls.Find(controlId);

            control.ControlName     = controlName;
            db.Entry(control).State = EntityState.Modified;
            db.SaveChanges();
            auditTransact.CreateAuditTrail("Update", wallid, "RCMDetailRiskControl", oldData, control, username);
            var        riskControl           = db.RCMDetailRiskControls.Where(p => p.RCMDetailRiskID == riskId).Select(p => new { controlId = p.RCMDetailRiskControlID, controlName = p.ControlName }).ToList();;
            SelectList riskControlSelectList = new SelectList(riskControl, "controlId", "ControlName", 0);

            return(Json(riskControlSelectList));
        }