public ActionResult EditAdmins(int adminid, int p, ICollection <AdminLims> AdminLims, int isenable = 0, string password = null) { Admins admin = adminsService.GetByID(adminid); if (ModelState.IsValid) { admin.Isenable = Convert.ToByte(isenable); if (password != null && password != "") { admin.Password = password; } if (AdminLims != null) { AdminLims = AdminLims.Where(a => a.LimID != 0).ToList(); foreach (AdminLims adminlim in admin.AdminLims.ToArray()) { if (!AdminLims.ToList().Exists(a => a.LimID == adminlim.LimID)) { admin.AdminLims.Remove(adminlim); adminlimsService.Delete(adminlim.AdminLimID); } } foreach (AdminLims al in AdminLims) { if (admin.AdminLims.ToList().Exists(a => a.LimID == al.LimID)) { AdminLims cd = admin.AdminLims.Where(a => a.LimID == al.LimID).FirstOrDefault(); cd.IsAdd = al.IsAdd; cd.IsUpdate = al.IsUpdate; cd.IsDelete = al.IsDelete; } else { al.AdminLimID = Guid.NewGuid(); al.AdminID = admin.AdminID; admin.AdminLims.Add(al); } } } adminsService.Update(admin); adminsService.SaveChanges(); return(RedirectToAction("Admins", new { p = p })); } else { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); ViewBag.pageNumber = p; ViewBag.Lims = limsService.Get().Where(a => a.ParentID == null).OrderBy(a => a.Sort); return(View(admin)); } }
public override void OnActionExecuting(ActionExecutingContext context) { bool islogin = (context.HttpContext.Session.Contents["IsLogin"] == null) ? false : (bool)context.HttpContext.Session.Contents["IsLogin"]; if (!islogin) { context.HttpContext.Session.Add("IsLogin", false); RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary(); redirectTargetDictionary.Add("action", "Login"); redirectTargetDictionary.Add("controller", "Main"); context.Result = new RedirectToRouteResult(redirectTargetDictionary); return; } if (IsAuth) { int adminid = (int)context.HttpContext.Session.Contents["AdminID"]; if (adminid != 888) { string action = (string)context.RequestContext.RouteData.Values["action"]; string controller = (string)context.RequestContext.RouteData.Values["controller"]; string ac = action; ac = ac.Replace("AddNo", "Add"); ac = ac.Replace("EditNo", "Edit"); ac = ac.Replace("Add", ""); ac = ac.Replace("Edit", ""); ac = ac.Replace("Delete", ""); ac = ac.Replace("Result", ""); ac = ac.Replace("Export", ""); ac = ac.Replace("Sort", ""); ac = ac.Replace("Brandphotos", "Brands"); ac = ac.Replace("Productphotos", "Products"); ac = ac.Replace("Eventphotos", "Events"); ac = ac.Replace("details", ""); ac = ac.Replace("Upload", ""); ac = ac.Replace("FBOrderlist", ""); ac = ac.Replace("FBOrderrework", ""); ac = ac.Replace("FBOrderregain", ""); ac = ac.Replace("IGOrderlist", ""); ac = ac.Replace("IGOrderrework", ""); ac = ac.Replace("IGOrderregain", ""); ac = ac.Replace("YTOrderlist", ""); ac = ac.Replace("YTOrderrework", ""); ac = ac.Replace("YTOrderregain", ""); Lims lim = limsService.Get().Where(a => a.Key.Contains(controller)).FirstOrDefault(); int limid = limsService.Get().Where(a => a.Key.Contains(ac) && a.ParentID == lim.LimID).Select(a => a.LimID).FirstOrDefault(); AdminLims adminlim = adminlimsService.Get().Where(a => a.AdminID == adminid && a.LimID == limid).FirstOrDefault(); if (adminlim == null) { context.Result = new RedirectResult("/Error/Validation"); return; } if (!adminlim.IsAdd && action.Contains("Add")) { context.Result = new RedirectResult("/Error/Validation"); return; } if (!adminlim.IsUpdate && action.Contains("Edit")) { context.Result = new RedirectResult("/Error/Validation"); return; } if (!adminlim.IsDelete && action.Contains("Delete")) { context.Result = new RedirectResult("/Error/Validation"); return; } } } base.OnActionExecuting(context); }