Esempio n. 1
0
        public ResponseApi <List <UserDTO> > Get(UserQueryFilter filters)
        {
            //obtenemos IEnumerable
            var list = _entity.AsEnumerable();

            //aplicamos filtros
            if (filters.UserId != null)
            {
                list = list.Where(x => x.UserId.Equals(filters.UserId));
            }
            if (filters.Firstname != null)
            {
                list = list.Where(x => x.Firstname.ToLower().Contains(filters.Firstname.ToLower()));
            }
            if (filters.Lastname != null)
            {
                list = list.Where(x => x.Lastname.ToLower().Contains(filters.Lastname.ToLower()));
            }
            if (filters.Phone != null)
            {
                list = list.Where(x => x.Phone.Equals(filters.Phone));
            }

            return(GetPagedList(list, filters));
        }
        public IActionResult GetUsers([FromQuery] UserQueryFilter filters)
        {
            var usersDto = _userService.GetUsers(filters);

            var metadata = new Metadata
            {
                TotalCount      = usersDto.TotalCount,
                PageSize        = usersDto.PageSize,
                CurrentPage     = usersDto.CurrentPage,
                TotalPage       = usersDto.TotalPage,
                HasNextPage     = usersDto.HasNextPage,
                HasPreviousPage = usersDto.HasPreviousPage,
                NextPageUrl     = _uriService.GetUsersPaginationUri(filters, Url.RouteUrl(nameof(GetUsers))).ToString(),
                PreviousPageUrl = _uriService.GetUsersPaginationUri(filters, Url.RouteUrl(nameof(GetUsers))).ToString()
            };

            var response = new ApiResponse <IEnumerable <UserDto> >(usersDto)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(response));
        }
Esempio n. 3
0
        public async Task <IActionResult> GetAllAsync([FromQuery] UserQueryFilter filters)
        {
            try
            {
                _logger.LogInformation("-------GETALLASYNC-------");

                var users    = _userService.GetUsers(filters);
                var usersDto = _mapper.Map <IEnumerable <UserDto> >(users);
                usersDto = await _supervisorService.AddSupervisorData(usersDto);

                var metadata = new Metadata
                {
                    TotalCount      = users.TotalCount,
                    PageSize        = users.PageSize,
                    CurrentPage     = users.CurrentPage,
                    TotalPages      = users.TotalPages,
                    HasNextPage     = users.HasNextPage,
                    HasPreviousPage = users.HasPreviousPage,
                    NextPageUrl     = _uriService.GetPaginationUri(Url.RouteUrl(nameof(GetAllAsync))).ToString(),
                    PreviousPageUrl = _uriService.GetPaginationUri(Url.RouteUrl(nameof(GetAllAsync))).ToString()
                };

                var response = new ApiResponse <IEnumerable <UserDto> >(usersDto)
                {
                    Meta = metadata
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Exception Caught");
                return(BadRequest());
            }
        }
Esempio n. 4
0
        public Result <PagedList <User> > GetAll(UserQueryFilter filter)
        {
            IEnumerable <User> users;
            PagedList <User>   pagedUsers = null;

            try
            {
                users = _unitOfWork.UserRepository.GetFullUsers();
                if (users != null)
                {
                    users = UserDataFilter.FilterUsers(users, filter);
                }
                if (users != null)
                {
                    filter.PageNumber = filter.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filter.PageNumber;
                    filter.PageSize   = filter.PageSize == 0 ? _paginationOptions.DefaultPageSize : filter.PageSize;

                    pagedUsers = PagedList <User> .Create(users,
                                                          filter.PageNumber, filter.PageSize);
                }
            }
            catch (Exception ex)
            {
                return(Result <PagedList <User> > .Error(new[] { ex.Message }));
            }
            var result = Result <PagedList <User> > .Success(pagedUsers);

            return(result);
        }
Esempio n. 5
0
        public PagedList <User> GetUsers(UserQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;

            var users = _unitOfWork.UserRepository.GetAll().ToList();

            /*if (!String.IsNullOrEmpty(filters.Name))
             * {
             *  users = users.Where(x => x.Name.ToLower().Contains(filters.Name.ToLower())).ToList();
             * }*/

            /*if (!String.IsNullOrEmpty(filters.Role))
             * {
             *  users = users.Where(x => x.Role.Name.ToLower().Contains(filters.Role.ToLower())).ToList();
             * }*/

            if (!String.IsNullOrEmpty(filters.Email))
            {
                users = users.Where(x => x.Email.ToLower().Contains(filters.Email.ToLower())).ToList();
            }

            var pagedUsers = PagedList <User> .Create(users, filters.PageNumber, filters.PageSize);

            return(pagedUsers);
        }
Esempio n. 6
0
        public PagedList <UserDto> GetUsers(UserQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;

            var users = _unitOfWork.UserRepository.GetAll();

            if (filters.FirstName != null)
            {
                users = users.Where(x => x.FirstName.ToLower() == filters.FirstName.ToLower());
            }
            if (filters.Role != null)
            {
                var role = _unitOfWork.RoleRepository.GetAll().FirstOrDefault(x => x.RoleType.ToLower() == filters.Role.ToLower());
                users = users.Where(x => x.Role == role.Id);
            }
            if (filters.Email != null)
            {
                users = users.Where(x => x.Email.ToLower() == filters.Email.ToLower());
            }

            var usersDto = _mapper.Map <IEnumerable <UserDto> >(users);

            var pagedUsers = PagedList <UserDto> .Create(usersDto, filters.PageNumber, filters.PageSize);


            return(pagedUsers);
        }
        public IActionResult GetUsers([FromQuery] UserQueryFilter filter)
        {
            ApiResponse <IEnumerable <UserReadDto> > response;
            var resultUser = _userService.GetAll(filter);

            if (resultUser.Status == ResultStatus.Error)
            {
                response = new ApiPagedResponse <IEnumerable <UserReadDto> >(Array.Empty <UserReadDto>())
                {
                    Title  = nameof(HttpStatusCode.InternalServerError),
                    Errors = resultUser.Errors
                };
                return(StatusCode(StatusCodes.Status500InternalServerError, response));
            }
            var users = resultUser.Value;
            var meta  = _mapper.Map <Metadata>(users);

            meta.NextPageUrl     = _uriService.GetPaginationNextUrl(filter, Request, meta.HasNextPage);
            meta.PreviousPageUrl = _uriService.GetPaginationPreviousUrl(filter, Request, meta.HasPreviousPage);
            var usersReadDto = _mapper.Map <IEnumerable <UserReadDto> >(users);

            response = new ApiPagedResponse <IEnumerable <UserReadDto> >(usersReadDto)
            {
                Title   = nameof(HttpStatusCode.OK),
                Meta    = meta,
                Satatus = (int)HttpStatusCode.OK
            };
            return(Ok(response));
        }
        public IActionResult GetUsers([FromBody] UserQueryFilter filters)
        {
            if (!User.Identity.IsAuthenticated)
            {
                throw new AuthenticationException();
            }
            var users    = _userService.GetUsers(filters);
            var usersDto = _mapper.Map <IEnumerable <UserDto> >(users);
            var metadata = new Metadata
            {
                TotalCount      = users.TotalCount,
                PageSize        = users.PageSize,
                CurrentPage     = users.CurrentPage,
                TotalPages      = users.TotalPages,
                HasNextPage     = users.HasNextPage,
                HasPreviousPage = users.HasPreviousPage,
                NextPageUrl     = _uriService.GetPostPaginationUri(filters, Url.RouteUrl(nameof(GetUsers))).ToString(),
                PreviousPageUrl = _uriService.GetPostPaginationUri(filters, Url.RouteUrl(nameof(GetUsers))).ToString()
            };
            var response = new ApiResponse <IEnumerable <UserDto> >(usersDto)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(response));
        }
Esempio n. 9
0
        public ActionResult QueryUserData()
        {
            UserQueryFilter filter = BuildQueryFilterEntity <UserQueryFilter>();

            filter.ManufacturerSysNo = UserAuthHelper.GetCurrentUser().SellerSysNo;
            var result = UserService.QueryUser(filter);

            return(AjaxGridJson(result));
        }
Esempio n. 10
0
        public static DataTable UserQuery(UserQueryFilter filter, out int dataCount)
        {
            CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("Query_Vendor_User");

            using (DynamicQuerySqlBuilder builder = new DynamicQuerySqlBuilder(command.CommandText, command, filter, !string.IsNullOrWhiteSpace(filter.SortFields) ? filter.SortFields : "a.SysNo DESC"))
            {
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                          "a.UserName", DbType.String,
                                                          "@UserName", QueryConditionOperatorType.LeftLike,
                                                          filter.UserName);

                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                          "a.UserID", DbType.String,
                                                          "@UserID", QueryConditionOperatorType.LeftLike,
                                                          filter.UserID);

                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                          "a.Status", DbType.AnsiStringFixedLength,
                                                          "@Status", QueryConditionOperatorType.Equal, filter.UserStatus);

                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                          "a.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode",
                                                          QueryConditionOperatorType.Equal,
                                                          filter.CompanyCode);

                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                          "a.VendorSysNo", DbType.AnsiStringFixedLength, "@ManufacturerSysNo",
                                                          QueryConditionOperatorType.Equal,
                                                          filter.ManufacturerSysNo);
                if (!string.IsNullOrEmpty(filter.SerialNum))
                {
                    string[] serialNum = filter.SerialNum.Split('-');

                    builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                              "a.VendorSysNo", DbType.Int32,
                                                              "@VendorSysNo", QueryConditionOperatorType.Equal,
                                                              serialNum[0]);
                    if (serialNum.Length > 1)
                    {
                        builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND,
                                                                  "a.UserNum", DbType.Int32,
                                                                  "@UserNum", QueryConditionOperatorType.Equal,
                                                                  Convert.ToInt32(serialNum[1]).ToString());
                    }
                }

                command.CommandText = builder.BuildQuerySql();
                var            dt          = command.ExecuteDataTable();
                EnumColumnList enumColList = new EnumColumnList();
                enumColList.Add("Status", typeof(UserStatus));
                command.ConvertEnumColumn(dt, enumColList);
                dataCount = Convert.ToInt32(command.GetParameterValue("@TotalCount"));
                return(dt);
            }
        }
Esempio n. 11
0
        public static IEnumerable <User> FilterUsers(IEnumerable <User> users, UserQueryFilter userQueryFilter)
        {
            if (!string.IsNullOrEmpty(userQueryFilter.Name) && users != null)
            {
                users = FilterByName(users, userQueryFilter.Name);
            }

            if (!string.IsNullOrEmpty(userQueryFilter.Surnames) && users != null)
            {
                users = FilterBySurnames(users, userQueryFilter.Surnames);
            }

            if (userQueryFilter.Bithdate != null && users != null)
            {
                users = FilterByDate(users, userQueryFilter.Bithdate);
            }
            return(users);
        }
Esempio n. 12
0
        public IActionResult GetUsers([FromQuery] UserQueryFilter filters)
        {
            var usuarios = new List <Usuario>()
            {
                new Usuario()
                {
                    UsuarioId = 1, Nombre = "adelson"
                },
                new Usuario()
                {
                    UsuarioId = 2, Nombre = "Rosalis"
                },
            };

            var usuarioDTOs = _mapper.Map <List <UsuarioDTO> >(usuarios);

            var response = usuarioDTOs;//_user.Get(filters);

            return(Ok(response));
        }
Esempio n. 13
0
        public PageList <User> GetUsers(UserQueryFilter filter)
        {
            filter.PageNumber = filter.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filter.PageNumber;
            filter.PageSize   = filter.PageSize == 0 ? _paginationOptions.DefaultPageSize : filter.PageSize;
            var data = _unitofWork.UserRepository.GetUsers();

            if (filter.UserId != null)
            {
                data = data.Where(x => x.IdUser == filter.UserId);
            }
            if (filter.Name != null)
            {
                data = data.Where(x => x.Name == filter.Name);
            }


            var userPage = PageList <User> .Create(data, filter.PageNumber, filter.PageSize);

            return(userPage);
        }
Esempio n. 14
0
        public async Task <IActionResult> GetUsers([FromQuery] UserQueryFilter filters)
        {
            var usersDto = await _userService.GetUsers(filters);

            var metadata = new Metadata
            {
                TotalCount      = usersDto.TotalCount,
                PageSize        = usersDto.PageSize,
                CurrentPage     = usersDto.CurrentPage,
                TotalPages      = usersDto.TotalPages,
                HasNextPage     = usersDto.HasNextPage,
                HasPreviousPage = usersDto.HasPreviousPage,
            };

            var response = new ApiResponse <IEnumerable <UserDto> >(usersDto)
            {
                Metadata = metadata
            };

            // Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(response));
        }
Esempio n. 15
0
        public async Task <PagedList <UserDto> > GetUsers(UserQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            try
            {
                var users = await _userRepository.GetUsers(filters);

                var usersDto = users.Select(u =>
                                            new UserDto
                {
                    UserId = u.UserId,
                    Name   = u.Name,
                    Email  = u.Email,
                    Role   = u.Role
                }).AsEnumerable();

                return(PagedList <UserDto> .Create(usersDto, filters.PageNumber, filters.PageSize));
            }
            catch (Exception ex)
            {
                throw new ChallengeException(ex.Message);
            }
        }
Esempio n. 16
0
        public IActionResult GetUsers([FromQuery] UserQueryFilter filters)
        {
            var data     = _userService.GetUsers(filters);
            var ndata    = _mapper.Map <IEnumerable <UserDTO> >(data);
            var metadata = new Metadata
            {
                TotalCount      = data.TotalCount,
                PageSize        = data.PageSize,
                CurrentPage     = data.CurrentPage,
                TotalPages      = data.TotalPages,
                HasNextPage     = data.HasNextPage,
                HasPreviousPage = data.HasPreviousPage,
                NextPageURL     = _uriServicer.GetUserPaginationUri(filters, Url.RouteUrl(nameof(GetUsers))).ToString()
            };

            var response = new ApiResponse <IEnumerable <UserDTO> >(ndata)
            {
                Meta = metadata
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(response));
        }
Esempio n. 17
0
        public static QueryResult QueryUser(UserQueryFilter filter)
        {
            int count = 0;

            return(new QueryResult(UserDA.UserQuery(filter, out count), filter, count));
        }
        public PagedList <User> GetUsers(UserQueryFilter filters)
        {
            filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber;
            filters.PageSize   = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize;
            var users = _unitOfWork.UserRepository.GetAll();

            if (filters.filter != null)
            {
                users = users.Where(x => x.nickname.ToLower().Contains(filters.filter.ToLower()));
                users = users.Where(x => x.email.ToLower().Contains(filters.filter.ToLower()));
                users = users.Where(x => x.phone_number.ToLower().Contains(filters.filter.ToLower()));
                users = users.Where(x => x.firstName.ToLower().Contains(filters.filter.ToLower()));
                users = users.Where(x => x.lastName.ToLower().Contains(filters.filter.ToLower()));
            }
            if (filters.CountryId != null)
            {
                users = users.Where(x => x.id_country == filters.CountryId);
            }
            if (filters.RoleId != null)
            {
                users = users.Where(x => x.id_role == filters.RoleId);
            }
            if (filters.EnterpriseId != null)
            {
                users = users.Where(x => x.id_enterprise == filters.EnterpriseId);
            }
            if (filters.Nickname != null)
            {
                users = users.Where(x => x.nickname.ToLower().Contains(filters.Nickname.ToLower()));
            }
            if (filters.FirstName != null)
            {
                users = users.Where(x => x.firstName == filters.FirstName);
            }
            if (filters.LastName != null)
            {
                users = users.Where(x => x.lastName == filters.LastName);
            }
            if (filters.Email != null)
            {
                users = users.Where(x => x.email.ToLower().Contains(filters.Email.ToLower()));
            }
            if (filters.PhoneNumber != null)
            {
                users = users.Where(x => x.phone_number.ToLower().Contains(filters.PhoneNumber.ToLower()));
            }
            if (filters.Status != null)
            {
                users = users.Where(x => x.status.Equals(filters.Status));
            }
            if (filters.RoleId != null)
            {
                users = users.Where(x => x.id_role == filters.RoleId);
            }
            if (filters.EnterpriseId != null)
            {
                users = users.Where(x => x.id_enterprise == filters.EnterpriseId);
            }
            if (filters.CountryId != null)
            {
                users = users.Where(x => x.id_country == filters.CountryId);
            }
            if (filters.orderedBy != null && filters.orderedBy.Count() > 0)
            {
                foreach (var sortM in filters.orderedBy)
                {
                    users = users.OrderBy(sortM.PairAsSqlExpression);
                }
            }
            var pagedPosts = PagedList <User> .Create(users, filters.PageNumber, filters.PageSize);

            return(pagedPosts);
        }
 public PagedList <Supervisor> GetSupervisors(UserQueryFilter filters)
 {
     throw new NotImplementedException();
 }
Esempio n. 20
0
        public Uri GetUserPaginationUri(UserQueryFilter filter, string actionUrl)
        {
            string baseUrl = $"{_basUri}{actionUrl}";

            return(new Uri(baseUrl));
        }