public ActionResult AssignedRoles(int id) { if (id == 0) { return(Json("")); } var context = new RSMDataModelDataContext(); JCLRoleRule rule = (from r in context.JCLRoleRules where r.ID == id select r).Single(); var jsonAssLevels = new { total = 1, page = 1, records = rule.JCLRoles.Count, rows = ( from r in rule.JCLRoles select new { i = r.ID, cell = new string[] { r.RoleID.ToString(), r.Role.RoleName, r.Role.RoleDesc.ToString() } }).ToArray() }; return(Json(jsonAssLevels)); }
public ActionResult Clone(int id) { RSMDataModelDataContext context = new RSMDataModelDataContext(); JCLRoleRule source = (from j in context.JCLRoleRules where j.ID == id select j).Single(); JCLRoleRule dest = new JCLRoleRule(); JCLRole newRole; dest.JobCode = source.JobCode; dest.DeptID = source.DeptID; dest.Location = source.Location; context.JCLRoleRules.InsertOnSubmit(dest); context.SubmitChanges(); foreach (JCLRole role in source.JCLRoles) { newRole = new JCLRole(); newRole.RoleID = role.RoleID; newRole.JCLRoleRule = dest; context.JCLRoles.InsertOnSubmit(newRole); } context.SubmitChanges(); return(RedirectToAction("Edit", new { id = dest.ID, message = "You are now editing a new copy of your previous rule." })); }
public ActionResult Create() { JCLRoleRule rule = new JCLRoleRule(); RSMDataModelDataContext context = new RSMDataModelDataContext(); rule.JobCode = "0"; rule.DeptID = "0"; ViewBag.Model = rule; List <Job> jobs; //bool jobCodesFirst = bool.Parse(ConfigurationManager.AppSettings["JobCodesFirst"]); var jobCodesFirst = Service.Library.Controllers.Settings.GetValueAsBool("R1SM", "JobCodesFirst"); if (jobCodesFirst) { jobs = (from j in context.Jobs select j).OrderBy("JobCode ASC").ToList(); } else { jobs = (from j in context.Jobs select j).OrderBy("JobDescription ASC").ToList(); } ViewBag.JobCodesFirst = jobCodesFirst; ViewBag.Jobs = jobs; List <Department> depts = (from d in context.Departments select d).OrderBy("DeptDescr ASC").ToList(); ViewBag.Depts = depts; List <Location> locs = (from l in context.Locations select l).OrderBy("LocationName ASC").ToList(); ViewBag.Locs = locs; ViewBag.AvailRolesURL = Url.Action("AvailableRoles", new { ID = 0 }); ViewBag.AssRolesURL = Url.Action("AssignedRoles", new { ID = 0 }); return(View(rule)); }
public ActionResult Edit(int id, string message = null) { RSMDataModelDataContext context = new RSMDataModelDataContext(); JCLRoleRule model = (from j in context.JCLRoleRules where j.ID == id select j).Single(); ViewBag.Model = model; List <Job> jobs; bool jobCodesFirst = bool.Parse(ConfigurationManager.AppSettings["JobCodesFirst"]); if (jobCodesFirst) { jobs = (from j in context.Jobs select j).OrderBy("JobCode ASC").ToList(); } else { jobs = (from j in context.Jobs select j).OrderBy("JobDescription ASC").ToList(); } ViewBag.JobCodesFirst = jobCodesFirst; ViewBag.Jobs = jobs; List <Department> depts = (from d in context.Departments select d).OrderBy("DeptDescr ASC").ToList(); ViewBag.Depts = depts; List <Location> locs = (from l in context.Locations select l).OrderBy("LocationName ASC").ToList(); ViewBag.Locs = locs; ViewBag.Message = message; ViewBag.AvailRolesURL = Url.Action("AvailableRoles", new { ID = id }); ViewBag.AssRolesURL = Url.Action("AssignedRoles", new { ID = id }); return(View(model)); }
int UpdateRule(int id, string jobCode, string deptID, int location, List <GridDataRow> roles) { JCLRoleRule rule; var context = new RSMDataModelDataContext(); var action = "modified"; if (id > 0) { rule = (from r in context.JCLRoleRules where r.ID == id select r).Single(); } else { action = "created"; rule = new JCLRoleRule(); context.JCLRoleRules.InsertOnSubmit(rule); } rule.JobCode = jobCode; rule.DeptID = deptID; rule.Location = location; var thisRuleRoles = from r in context.JCLRoles where r.RuleID == id select r; if (thisRuleRoles.Any()) { context.JCLRoles.DeleteAllOnSubmit(thisRuleRoles); } context.SubmitChanges(); foreach (var row in roles) { var role = new JCLRole { RoleID = int.Parse(row.ID), RuleID = id }; rule.JCLRoles.Add(role); } context.SubmitChanges(); //bool reqApproval = bool.Parse( ConfigurationManager.AppSettings["RequireAccessApproval"]); var reqApproval = Settings.GetValueAsBool("R1SM", "RequireAccessApproval"); var engine = new RoleAssignmentEngine(context); var count = engine.FlagPeopleWithRule(rule.ID, reqApproval); //context.Syslog(RSMDataModelDataContext.LogSources.USER, // RSMDataModelDataContext.LogSeverity.INFO, // string.Format("{0} {1} rule for {2}, {3}, {4}", // User.Identity.Name, // action, // rule.Job.DisplayName, // rule.Departments.DisplayName, // rule.Locations.LocationName), // string.Format("The {0} associates affected by last rule edit will be processed by the rule engine next pass.", count)); var logger = new Logger(); logger.LogUserActivity(Severity.Informational, string.Format("{0} {1} rule for {2}, {3}, {4}", User.Identity.Name, action, rule.Job.DisplayName, rule.Departments.DisplayName, rule.Locations.LocationName), string.Format("The {0} associates affected by last rule edit will be processed by the rule engine next pass.", count)); return(rule.ID); }