Example #1
0
        /// <summary>
        /// user account paged query
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public List <UserAccountEntity> GetPaged(UserAccountQuery query, out int count)
        {
            IDbSession session = SessionFactory.CreateSession();

            try
            {
                var sortList = new List <DapperExtensions.ISort>();
                sortList.Add(new DapperExtensions.Sort {
                    PropertyName = "ID", Ascending = false
                });

                //administator not listed(AccountType=-1)
                if (string.IsNullOrEmpty(query.UserName))
                {
                    var predicate = Predicates.Field <UserAccountEntity>(a => a.AccountType, Operator.Eq, -1, true);
                    count = QuickRepository.Count <UserAccountEntity>(session.Connection, predicate);
                    var list = QuickRepository.GetPaged <UserAccountEntity>(session.Connection,
                                                                            query.PageIndex, query.PageSize, predicate, sortList, false).ToList();
                    return(list);
                }
                else
                {
                    //query by user name
                    var pg = new PredicateGroup {
                        Operator = GroupOperator.And, Predicates = new List <IPredicate>()
                    };
                    pg.Predicates.Add(Predicates.Field <UserAccountEntity>(f => f.AccountType, Operator.Eq, -1, true));
                    pg.Predicates.Add(Predicates.Field <UserAccountEntity>(f => f.UserName,
                                                                           Operator.Like, "%" + query.UserName + "%", false));

                    count = QuickRepository.Count <UserAccountEntity>(session.Connection, pg);
                    var list = QuickRepository.GetPaged <UserAccountEntity>(session.Connection,
                                                                            query.PageIndex, query.PageSize, pg, sortList, true).ToList();

                    return(list);
                }
            }
            catch (System.Exception)
            {
                throw;
            }
        }
Example #2
0
        public ResponseResult <List <UserAccountEntity> > SelectPaged(UserAccountQuery query)
        {
            var result = ResponseResult <List <UserAccountEntity> > .Default();

            try
            {
                var count = 0;
                var list  = AccountService.GetPaged(query, out count);

                result = ResponseResult <List <UserAccountEntity> > .Success(list);

                result.TotalRowsCount = count;
                result.TotalPages     = (count + query.PageSize - 1) / query.PageSize;
            }
            catch (System.Exception)
            {
                result = ResponseResult <List <UserAccountEntity> > .Error("获取用户账号分页数据失败!");
            }
            return(result);
        }
Example #3
0
        public async Task <ActionResult <UserAccountDto> > GetAsync(
            [FromServices] IQueryBus queryBus,
            [FromServices] ILogger logger,
            [FromServices] IUrlBuilder urlBuilder,
            CancellationToken token)
        {
            var userId = _userManager.GetLongUserId(User);
            var query  = new UserAccountQuery(userId);
            var user   = await queryBus.QueryAsync(query, token);

            if (user == null)
            {
                await _signInManager.SignOutAsync();

                logger.Error($"User is null {userId}");
                return(Unauthorized());
            }
            user.Image = urlBuilder.BuildUserImageEndpoint(userId, user.Image);
            return(user);
        }
        public IActionResult GetDonatorUserAccount(Guid donatorUserId)
        {
            UserAccountQuery userAccount = null;
            var donatorUser = _donatorUserRepository.GetById(donatorUserId);

            if (donatorUser != null)
            {
                var userSocialNotificationCodes = _userSocialNotificationTypeRepository.GetUserSocialNotificationTypeCode(donatorUser.UserId);
                userAccount = new UserAccountQuery()
                {
                    ActivedBloodNotification = donatorUser.ActivedBloodNotification,
                    ActivedHairNotification  = donatorUser.ActivedHairNotification,
                    CellPhone                   = donatorUser.CellPhone,
                    LastDonatedBlood            = donatorUser.LastDonatedBlood,
                    LastDonatedHair             = donatorUser.LastDonatedHair,
                    SocialNotificationTypeCodes = userSocialNotificationCodes
                };
            }
            ;

            return(Response(userAccount));
        }
Example #5
0
 public async Task AccountUserDataById_Ok()
 {
     var query = new UserAccountQuery(638);
     var _     = await fixture.QueryBus.QueryAsync(query, default);
 }