public ActionResult Create(AccessRightCreateModel model) { if (model.UserTypePage != null) { //Reset cache for pagerightaccess & pagemenu Erp.BackOffice.Helpers.CacheHelper.PagesAccessRight = null; Erp.BackOffice.Helpers.CacheHelper.PagesMenu = null; using (var scope = new TransactionScope(TransactionScopeOption.Required)) { try { // TODO: Add insert logic here _userTypePageRepository.DeleteAll(); foreach (string userTypePage in model.UserTypePage) { // value PageId-UserTypeId string[] arrVal = userTypePage.Split('-'); var userTypePageViewModel = new UserTypePageViewModel { PageId = int.Parse(arrVal[0], CultureInfo.InvariantCulture), UserTypeId = int.Parse(arrVal[1], CultureInfo.InvariantCulture) }; //add var userTypePageModel = new UserTypePage(); AutoMapper.Mapper.Map(userTypePageViewModel, userTypePageModel); _userTypePageRepository.Insert(userTypePageModel); } scope.Complete(); ViewBag.AlertMessage = App_GlobalResources.Wording.SaveAccessRightSuccessful; return(RedirectToAction("Create")); } catch (DbUpdateException) { ViewBag.AlertMessage = App_GlobalResources.Wording.SaveAccessRightUnsuccessful; return(View("Create")); } } } return(RedirectToAction("Create")); }
public JsonResult GetUserTypePermission(string id) { var cResult = "Error"; var cMessage = "something wrong!"; var lstPages = new List <Page>(); if (!string.IsNullOrEmpty(id)) { int oUserTypeId = Convert.ToInt32(id); var oUserTypePages = new UserTypePage(); oUserTypePages.UserTypeId = oUserTypeId; var oPages = new Page(); var query = ( from userPage in _db.UserTypePages join page in _db.Pages on userPage.PageId equals page.Id select new { userPage.UserTypeId, page.Id, page.Name, page.Link, page.ParentId, page.OrderId, page.InMenu, page.ForAdmin, page.NeedLogin, page.IsActive, page.Icon, page.TypeId }).Where(x => x.UserTypeId == oUserTypeId).ToList(); if (query.Count > 0) { for (int i = 0; i < query.Count; i++) { var page = new Page { Id = query[i].Id, Name = query[i].Name, Link = query[i].Link, ParentId = query[i].ParentId, OrderId = query[i].OrderId, InMenu = query[i].InMenu, ForAdmin = query[i].ForAdmin, NeedLogin = query[i].NeedLogin, IsActive = query[i].IsActive, Icon = query[i].Icon, TypeId = query[i].TypeId }; lstPages.Add(page); } } var oResulPages = lstPages; if (oResulPages.Count > 0) { lstPages = oResulPages; cResult = "OK"; cMessage = "Successfuly"; } } return(Json(new { cResult, cMessage, lstPages }, JsonRequestBehavior.AllowGet)); }
public ActionResult UserPermission() { var oModel = new UserPermissionModel(); var oResult = _db.UserTypes.Where(x => x.IsDeleted == false).ToList(); if (oResult.Count > 0) { oModel.LstUserTypes = User.UserTypeId == 1 ? oResult : oResult.Where(x => x.Id != 1).ToList(); } var oUserTypePages = new UserTypePage(); oUserTypePages.UserTypeId = User.UserTypeId; oModel.LstPages = _db.Pages.ToList(); var query = ( from userPage in _db.UserTypePages join page in _db.Pages on userPage.PageId equals page.Id select new { userPage.UserTypeId, page.Id, page.Name, page.Link, page.ParentId, page.OrderId, page.InMenu, page.ForAdmin, page.NeedLogin, page.IsActive, page.Icon, page.TypeId }).Where(x => x.UserTypeId == User.UserTypeId).ToList(); var lstPages = new List <Page>(); if (query.Count > 0) { for (int i = 0; i < query.Count; i++) { var page = new Page { Id = query[i].Id, Name = query[i].Name, Link = query[i].Link, ParentId = query[i].ParentId, OrderId = query[i].OrderId, InMenu = query[i].InMenu, ForAdmin = query[i].ForAdmin, NeedLogin = query[i].NeedLogin, IsActive = query[i].IsActive, Icon = query[i].Icon, TypeId = query[i].TypeId }; lstPages.Add(page); } } var oResulPages = lstPages; if (oResulPages.Count > 0) { oModel.LstPages = oResulPages; } return(View(oModel)); }