/// <summary> /// Gets user actions list /// </summary> /// <param name="userId"></param> /// <param name="categoryId"></param> /// <param name="categoryName"></param> /// <returns></returns> public List <UserAdminAction> GetUserPermissionActions(int userId, int categoryId, string categoryName) { List <UserAdminAction> actions = new List <UserAdminAction>(); using (chargebitEntities db = new chargebitEntities()) { List <Admin_Categories> allcates = (from cate in db.Admin_Categories orderby cate.Id select cate).ToList <Admin_Categories>(); var userActions = from ua in db.Admin_Users_Actions join action in db.Admin_Actions on ua.Action_Id equals action.Id into laction from uaction in laction.DefaultIfEmpty() join cate in db.Admin_Categories on uaction.Category equals cate.Id into lcate from ucate in lcate.DefaultIfEmpty() select new { userId = ua.User_Id, categoryId = uaction.Id, categoryName = ucate.Name, actionId = ua.Action_Id, actionName = uaction.Name, actionDesc = uaction.Description }; if (userId > 0) { userActions = userActions.Where(u => u.userId == userId); } if (categoryId > 0) { userActions = userActions.Where(u => u.categoryId == categoryId); } if (!string.IsNullOrEmpty(categoryName)) { userActions = userActions.Where(u => u.categoryName == categoryName); } foreach (var uaction in userActions) { UserAdminAction uaa = new UserAdminAction(); uaa.Action = new Admin_Actions() { Id = uaction.actionId, Name = uaction.actionName, Description = uaction.actionDesc, Enabled = true }; uaa.Category = new Admin_Categories() { Id = uaction.categoryId, Name = uaction.categoryName }; actions.Add(uaa); } } return(actions); }
public static async Task<UserViewModel> GetModel(IDataContext context, UserFilter filter, UserAdminAction action) { var model = await GetModel(context, filter); model.CurrentAction = action; if (action != UserAdminAction.NoAction) { model.IdentifierPrefix = Enum.GetName(action.GetType(), action); } return model; }
public static async Task <UserViewModel> GetModel(IDataContext context, UserFilter filter, UserAdminAction action) { var model = await GetModel(context, filter); model.CurrentAction = action; if (action != UserAdminAction.NoAction) { model.IdentifierPrefix = Enum.GetName(action.GetType(), action); } return(model); }