Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 3
0
        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);
        }