Ejemplo n.º 1
0
        public ActionResult Index(BasePagerModel pager)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToRoute(new { controller = "Login", action = "LogOut" }));
            }
            int uid = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(uid, db, "用户管理"))
            {
                return(RedirectToRoute(new { controller = "Error", action = "Index", err = "没有权限。" }));
            }
            if (pager == null)
            {
                pager = new BasePagerModel();
            }
            ViewData["search"] = pager;
            var list = (from user in db.User_Info
                        join uvr in db.User_vs_Role
                        on user.user_id equals uvr.uvr_user_id into T1
                        from t1 in T1.DefaultIfEmpty()
                        join role in db.Dic_Role
                        on t1.uvr_role_id equals role.role_id into T2
                        from t2 in T2.DefaultIfEmpty()
                        join ue in db.User_Extend
                        on user.user_id equals ue.user_id into T3
                        from t3 in T3.DefaultIfEmpty()
                        join dept in db.Dic_Department
                        on t3.user_dept_id equals dept.dept_id into T4
                        from t4 in T4.DefaultIfEmpty()
                        join post in db.Dic_Post
                        on t3.user_post_id equals post.post_id into T5
                        from t5 in T5.DefaultIfEmpty()
                        orderby user.user_id ascending
                        select new UserListModel
            {
                id = user.user_id,
                name = user.user_name,
                roleName = t2.role_name == null?"":t2.role_name,
                stateTxt = user.user_state == 1 ? "正常" : (user.user_state == 2 ? "锁定" : (user.user_state == 0 ? "未启用" : "未知")),
                realName = user.real_name,
                times = user.user_login_times,
                deptName = t4.dept_name == null?"":t4.dept_name,
                postName = t5.post_name == null?"":t5.post_name,
                picture = t3.user_picture == null?"default.jpg":t3.user_picture,
                loginTimes = user.user_login_times
            }).Skip((pager.PageIndex - 1) * pager.PageSize).Take(pager.PageSize).ToList();

            foreach (var item in list)
            {
                item.realName = Common.DEncrypt.AESEncrypt.Decrypt(item.realName);
            }
            return(View(list));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            int uid = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(uid, db, "用户管理"))
            {
                return(RedirectToRoute(new { controller = "Error", action = "Index", err = "没有权限。" }));
            }
            BasePagerModel pager = new BasePagerModel();

            return(Index(pager));
        }
Ejemplo n.º 3
0
        public async Task <APIResponse> Activity([FromBody] ActivityModel model)
        {
            var sortExpression = new Dictionary <string, System.Linq.Expressions.Expression <Func <DAL.Models.UserActivity, object> > >()
            {
                { "date", _ => _.TimeCreated },
            };

            // validate
            if (BasePagerModel.IsInvalid(model, sortExpression.Keys, out var errFields))
            {
                return(APIResponse.BadRequest(errFields));
            }

            var user = await GetUserFromDb();

            var query = (
                from a in DbContext.UserActivity
                where a.UserId == user.Id
                select a
                );

            var page = await DalExtensions.PagerAsync(query, model.Offset, model.Limit,
                                                      sortExpression.GetValueOrDefault(model.Sort), model.Ascending
                                                      );

            var list =
                from i in page.Selected
                select new ActivityViewItem()
            {
                Type    = i.Type.ToLower(),
                Comment = i.Comment,
                Ip      = i.Ip,
                Agent   = i.Agent,
                Date    = ((DateTimeOffset)i.TimeCreated).ToUnixTimeSeconds(),
            }
            ;

            return(APIResponse.Success(
                       new ActivityView()
            {
                Items = list.ToArray(),
                Limit = model.Limit,
                Offset = model.Offset,
                Total = page.TotalCount,
            }
                       ));
        }
Ejemplo n.º 4
0
        public async Task <APIResponse> FiatHistory([FromBody] FiatHistoryModel model)
        {
            var sortExpression = new Dictionary <string, System.Linq.Expressions.Expression <Func <DAL.Models.UserFinHistory, object> > >()
            {
                { "date", _ => _.TimeCreated },
                { "type", _ => _.Type },
                { "status", _ => _.Status }
            };

            // validate
            if (BasePagerModel.IsInvalid(model, sortExpression.Keys, out var errFields))
            {
                return(APIResponse.BadRequest(errFields));
            }

            var user = await GetUserFromDb();

            var query = (
                from h in DbContext.UserFinHistory
                where
                h.UserId == user.Id &&
                (
                    h.Status == UserFinHistoryStatus.Manual ||
                    h.Status == UserFinHistoryStatus.Processing ||
                    h.Status == UserFinHistoryStatus.Completed ||
                    h.Status == UserFinHistoryStatus.Failed
                )
                select h
                );

            var page = await query.PagerAsync(
                model.Offset, model.Limit,
                sortExpression.GetValueOrDefault(model.Sort), model.Ascending
                );

            var nowTime = DateTime.UtcNow;

            var list =
                from i in page.Selected
                select new FiatHistoryViewItem()
            {
                Type   = i.Type.ToString().ToLower(),
                Status = (
                    i.Status == UserFinHistoryStatus.Completed
                                                ? 2         // success
                                                : i.Status == UserFinHistoryStatus.Failed
                                                        ? 3 // cancelled/failed
                                                        : 1 // pending
                    ),
                Comment   = i.Comment,
                Src       = i.Source,
                SrcAmount = i.SourceAmount,
                Dst       = i.Destination,
                DstAmount = i.DestinationAmount,
                Date      = ((DateTimeOffset)i.TimeCreated).ToUnixTimeSeconds(),
            }
            ;

            return(APIResponse.Success(
                       new FiatHistoryView()
            {
                Items = list.ToArray(),
                Limit = model.Limit,
                Offset = model.Offset,
                Total = page.TotalCount,
            }
                       ));
        }