public ActionResult UpdateAudit(int controlId, string auditName)
        {
            string username = User.Identity.Name;
            int    deriskid = db.RCMDetailRiskControls.Where(p => p.RCMDetailRiskControlID.Equals(controlId)).Select(p => p.RCMDetailRiskID).FirstOrDefault();
            int    riskids  = db.RCMDetailRisks.Where(p => p.RCMDetailRiskID.Equals(deriskid)).Select(p => p.RiskControlMatrixID).FirstOrDefault();
            int    wallid   = db.RiskControlMatrixs.Where(p => p.RiskControlMatrixID.Equals(riskids)).Select(p => p.WalktroughID).FirstOrDefault();

            db.Configuration.ProxyCreationEnabled = false;
            int auditId = db.RCMDetailControlAuditSteps.Where(p => p.RCMDetailRiskControlID == controlId).Select(p => p.RCMDetailControlAuditStepID).FirstOrDefault();
            RCMDetailControlAuditStep oldData = db.RCMDetailControlAuditSteps.AsNoTracking().Where(p => p.RCMDetailControlAuditStepID.Equals(auditId)).FirstOrDefault();
            RCMDetailControlAuditStep audit   = db.RCMDetailControlAuditSteps.Find(auditId);

            audit.AuditStepName   = auditName;
            db.Entry(audit).State = EntityState.Modified;
            db.SaveChanges();
            auditTransact.CreateAuditTrail("Update", wallid, "RCMDetailControlAuditStep", oldData, audit, username);
            var        auditStep       = db.RCMDetailControlAuditSteps.Where(p => p.RCMDetailRiskControlID == controlId).Select(p => new { auditId = p.RCMDetailControlAuditStepID, auditName = p.AuditStepName }).ToList();;
            SelectList auditSelectList = new SelectList(auditStep, "auditId", "auditName", 0);

            return(Json(auditSelectList));
        }
        public ActionResult DeleteAudit(int controlId)
        {
            string username = User.Identity.Name;
            int    deriskid = db.RCMDetailRiskControls.Where(p => p.RCMDetailRiskControlID.Equals(controlId)).Select(p => p.RCMDetailRiskID).FirstOrDefault();
            int    riskids  = db.RCMDetailRisks.Where(p => p.RCMDetailRiskID.Equals(deriskid)).Select(p => p.RiskControlMatrixID).FirstOrDefault();
            int    wallid   = db.RiskControlMatrixs.Where(p => p.RiskControlMatrixID.Equals(riskids)).Select(p => p.WalktroughID).FirstOrDefault();

            db.Configuration.ProxyCreationEnabled = false;
            int auditId = db.RCMDetailControlAuditSteps.Where(p => p.RCMDetailRiskControlID == controlId).Select(p => p.RCMDetailControlAuditStepID).FirstOrDefault();
            RCMDetailControlAuditStep audit = db.RCMDetailControlAuditSteps.Find(auditId);

            db.RCMDetailControlAuditSteps.Remove(audit);
            db.SaveChanges();
            RCMDetailControlAuditStep rc = new RCMDetailControlAuditStep();

            auditTransact.CreateAuditTrail("Delete", wallid, "RCMDetailControlAuditStep", audit, rc, username);
            var        auditStep       = db.RCMDetailControlAuditSteps.Where(p => p.RCMDetailRiskControlID == controlId).Select(p => new { auditId = p.RCMDetailControlAuditStepID, auditName = p.AuditStepName }).ToList();;
            SelectList auditSelectList = new SelectList(auditStep, "auditId", "auditName", 0);

            return(Json(auditSelectList));
        }
        public ActionResult SaveAudit(int controlId, string auditName)
        {
            RCMDetailControlAuditStep newAudit = new RCMDetailControlAuditStep();

            newAudit.RCMDetailRiskControlID = controlId;
            newAudit.AuditStepName          = auditName;
            newAudit.Status = "Pending";
            db.RCMDetailControlAuditSteps.Add(newAudit);
            db.SaveChanges();
            string username = User.Identity.Name;
            int    deriskid = db.RCMDetailRiskControls.Where(p => p.RCMDetailRiskControlID.Equals(controlId)).Select(p => p.RCMDetailRiskID).FirstOrDefault();
            int    riskids  = db.RCMDetailRisks.Where(p => p.RCMDetailRiskID.Equals(deriskid)).Select(p => p.RiskControlMatrixID).FirstOrDefault();
            int    wallid   = db.RiskControlMatrixs.Where(p => p.RiskControlMatrixID.Equals(riskids)).Select(p => p.WalktroughID).FirstOrDefault();
            RCMDetailControlAuditStep ri = new RCMDetailControlAuditStep();

            auditTransact.CreateAuditTrail("Create", wallid, "RCMDetailControlAuditStep", ri, newAudit, username);
            var        auditStep       = db.RCMDetailControlAuditSteps.Where(p => p.RCMDetailRiskControlID == controlId).Select(p => new { auditId = p.RCMDetailControlAuditStepID, auditName = p.AuditStepName }).ToList();;
            SelectList auditSelectList = new SelectList(auditStep, "auditId", "auditName", 0);

            return(Json(auditSelectList));
        }