public ActionResult Edit(string id, string UrlReferrer, bool?IsAddPop) { if (!User.CanAdd("Reports")) { return(RedirectToAction("Index", "Error")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ReportsInRole objreportsinrole = new ReportsInRole(); var reportsinrole = db.ReportsInRoles.Where(p => p.ReportId == id); objreportsinrole.ReportId = id; if (reportsinrole.Count() > 0) { objreportsinrole.SelectedRoleId = reportsinrole.Select(r => r.RoleId).ToArray(); } var RoleList = (new GeneratorBase.MVC.Models.CustomRoleProvider()).GetAllRolesReport(); ViewBag.RoleId = RoleList; ViewBag.IsAddPop = IsAddPop; ViewData["ReportsInRoleParentUrl"] = UrlReferrer; return(View(objreportsinrole)); }
public ActionResult Edit([Bind(Include = "Id,ReportId,RoleId,SelectedRoleId")] ReportsInRole reportsinrole, string UrlReferrer, bool?IsAddPop) { if (ModelState.IsValid || reportsinrole.Id == 0) { var objreportinrole = db.ReportsInRoles.Where(r => r.ReportId == reportsinrole.ReportId).ToList(); foreach (var obj in objreportinrole) { db.ReportsInRoles.Remove(obj); db.SaveChanges(); } if (reportsinrole.SelectedRoleId != null) { foreach (var role in reportsinrole.SelectedRoleId) { ReportsInRole objreportinroleadd = new ReportsInRole(); objreportinroleadd.ReportId = reportsinrole.ReportId; objreportinroleadd.RoleId = role; db.Entry(objreportinroleadd).State = EntityState.Added; db.ReportsInRoles.Add(objreportinroleadd); } db.SaveChanges(); } return(Json("FROMPOPUP", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet)); } else { var errors = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { errors += error.ErrorMessage + ". "; } } return(Json(errors, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet)); } return(View()); }