public async Task <IResponseResult> SaveScreens(ScreensAssignedParameters parameters) { if (parameters.ScreenAssigned != null) { foreach (var ScreenId in parameters.ScreenAssigned) { var isExists = await _menuRoleUnitOfWork.Repository.FirstOrDefaultAsync(q => q.MenuId == ScreenId && q.RoleId == parameters.RoleId) != null; if (!isExists) { var obj = new MenuRoles() { Id = Guid.NewGuid().ToString(), RoleId = parameters.RoleId, MenuId = ScreenId }; _menuRoleUnitOfWork.Repository.Add(obj); } } } if (parameters.ScreenAssignedRemove != null) { var dataRemoved = await _menuRoleUnitOfWork.Repository.FindAsync(q => parameters.ScreenAssignedRemove.Contains(q.MenuId) && q.RoleId == parameters.RoleId); _menuRoleUnitOfWork.Repository.RemoveRange(dataRemoved); } await _menuRoleUnitOfWork.SaveChanges(); return(ResponseResult.GetRepositoryActionResult(true, status: HttpStatusCode.Created, message: HttpStatusCode.Created.ToString())); }
public void GetSetup() { var query = from a in db.Users select a; if (query.Count() == 0) { User user = new User(); user.Name = "Admin"; user.SecondName = "Usuarios"; user.Email = "admin@debate"; user.Password = "******"; user.Rol = "Admin"; db.Users.Add(user); db.SaveChanges(); } var query2 = from a in db.Menu select a; if (query2.Count() == 0) { MenuRoles userAdmin = new MenuRoles("Admin"); db.Menu.Add(userAdmin); MenuRoles userStudent = new MenuRoles("Student"); db.Menu.Add(userStudent); MenuRoles userPrelector = new MenuRoles("Prelector"); db.Menu.Add(userPrelector); db.SaveChanges(); } }
public override void OnAuthorization(AuthorizationContext filterContext) { var nombreAct = filterContext.ActionDescriptor.ActionName; var nombreController = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; var completename = "/" + nombreController + "/" + nombreAct; var mytype = ((ReflectedActionDescriptor)filterContext.ActionDescriptor).MethodInfo.ReturnType.Name; MenuRoles roles = new MenuRoles(); Remesa remex = new Remesa(); var aceso = remex.context.acesos.FirstOrDefault(x => x.link == completename.ToLower()); var userid = filterContext.HttpContext.User.Identity.Name == string.Empty ? "0" : filterContext.HttpContext.User.Identity.Name; var ActualuserID = int.Parse(userid); var usuario = remex.context.users.FirstOrDefault(x => x.id == ActualuserID); if ((usuario != null && roles.Testrole(usuario.roleid, completename.ToLower())) || aceso == null) { filterContext.Controller.ViewBag.AutherizationMessage = "Custom Authorization: Message from OnAuthorization method."; } else { if (!mytype.Contains("Json")) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary { { "action", "notAuth" }, { "controller", "Secure" } }); } else { filterContext.Result = new JsonResult() { Data = new { error = true, errorMsg = "Usuario no Autorizado" }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } } }