Exemplo n.º 1
0
        public async Task <ActionResult <PaginatedList <UserSummary> > > GetAll([FromBody] UserFilterRequest filter)
        {
            try
            {
                // get list of active users (not deleted)
                var list = context.Users
                           .AsNoTracking();

                // filter
                if (filter != null)
                {
                    list = list.Where(a => a.Username.Contains(filter.SearchTerm) ||
                                      a.Firstname.Contains(filter.SearchTerm) ||
                                      a.Lastname.Contains(filter.SearchTerm));
                }

                // sort
                var ordering = $"{Constants.ColumnNames.Username} {Constants.DefaultSortDirection}";
                if (!string.IsNullOrEmpty(filter?.SortBy))
                {
                    ordering = $"{filter.SortBy} {filter.SortDirection}";
                }

                list = list.OrderBy(ordering);

                var result = await listHelpers.CreatePaginatedListAsync <ApplicationUser, UserSummary>(list, filter.PageNumber, filter.PageSize);

                return(result);
            }
            catch (Exception e)
            {
                logger.LogError(e.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Exemplo n.º 2
0
        public async Task <Response <List <UserResponse> > > GetAsync(UserFilterRequest filter)
        {
            var result = _mapper.Map <UserFilters>(filter);

            var data = await _UserService.GetAsync(result);

            return(new Response <List <UserResponse> >(_mapper.Map <List <UserResponse> >(data)));
        }
Exemplo n.º 3
0
        /// <summary>
        ///  Función que envia datos y parametros para consulta filtar una busqueda
        /// </summary>
        /// <param name="objRequest"></param>
        /// <returns></returns>
        public static (IQueryable <CUser> data, int totalRows) Get(UserFilterRequest objRequest)
        {
            var unitOfWork = new UnitOfWork(new TestDBContext());

            // Forma el Query d ela consulta
            var where = GetWhere(objRequest);
            var Containers = unitOfWork.SelectPaged <CUser>(objRequest.page == 0 ? 1 : objRequest.page, objRequest.rows, x => x.Id, where);

            return(Containers);
        }
Exemplo n.º 4
0
        public async Task <ActionResult> Get([FromQuery] UserFilterRequest filters)
        {
            var response = await _UserApplication.GetAsync(filters);

            if (response.Data == null)
            {
                return(NoContent());
            }

            return(Ok(response.Data));
        }
Exemplo n.º 5
0
        public async Task <IResponseEntity> GetAllAsync(UserFilterRequest req)
        {
            var key         = req?.Key;
            var withDisable = req != null ? req.WithDisable : false;
            var list        = await _sysUserRepository.Select
                              .WhereIf(key.IsNotNull(), a => (a.UserName.Contains(key) || a.DisplayName.Contains(key)))
                              .WhereIf(!withDisable, a => a.IsDisabled == false)
                              .Include(a => a.Permission)
                              .ToListAsync();

            var result = _mapper.Map <List <UserForListResponse> >(list);

            return(ResponseEntity.Ok(result));
        }
Exemplo n.º 6
0
        public string CreateUserFilter(string projectId, string filterTitle, Dictionary <string, List <string> > fillterCollection, bool inclusive = true)
        {
            var items      = new Dictionary <string, List <string> >();
            var attributes = Query(projectId, ObjectTypes.Attribute);

            foreach (var item in fillterCollection)
            {
                var attribute = FindAttributeByTitle(projectId, item.Key, attributes);
                if (attribute == null)
                {
                    Logger.WarnFormat("No attribute found with title {0}", item.Key);
                    return(null);
                }

                var attributeElements = GetAttributeElements(projectId, attribute);

                var elements = new List <Element>();
                foreach (var elementTitle in item.Value)
                {
                    var fullAttribute = FindAttributeElementByTitle(projectId, attribute, elementTitle, attributeElements);
                    if (fullAttribute != null)
                    {
                        elements.Add(fullAttribute);
                    }
                }
                if (elements.Count == 0)
                {
                    Logger.WarnFormat("No element {0} found for attribute {1}", string.Join(",", item.Value), attribute.Meta.Identifier);
                    return(null);
                }
                items.Add(attribute.Meta.Uri, elements.Select(element => element.Uri).ToList());
            }
            var url            = Url.Combine(Config.Url, Constants.MD_URI, projectId, "obj");
            var payload        = new UserFilterRequest(filterTitle, items, inclusive);
            var response       = PostRequest(url, payload);
            var filterResponse = JsonConvert.DeserializeObject(response, typeof(UriResponse)) as UriResponse;

            return(filterResponse.Uri);
        }
Exemplo n.º 7
0
        public string Create(string projectId, string title, string expression)
        {
            Logger.DebugFormat("BEGIN MandatoryUserFilter.Create ProjectId={0}, Title={1}, Expression={2}", projectId, title, expression);
            CheckAuthentication();

            var url     = Url.Combine(Config.Url, Constants.MD_URI, projectId, "obj");
            var request = new UserFilterRequest
            {
                UserFilter = new UserFilter
                {
                    Content = new UserFilterContent {
                        Expression = expression
                    },
                    Meta = new UserFilterMeta {
                        Title = title
                    }
                }
            };
            var response       = PostRequest(url, request);
            var filterResponse = JsonConvert.DeserializeObject <UriResponse>(response);

            Logger.DebugFormat("END MandatoryUserFilter.Create");
            return(filterResponse.Uri);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Función para generar cadena de filtros dependiendo los parametros enviados.
        /// </summary>
        /// <param name="objRequest"></param>
        /// <returns></returns>
        private static System.Linq.Expressions.Expression <Func <CUser, bool> > GetWhere(UserFilterRequest objRequest)
        {
            var where = "1=1";

            if (objRequest.Id != 0)
            {
                where += "and id =" + objRequest.Id;
            }
            if (objRequest.Name != "" && objRequest.Name != null)
            {
                where += " and Name.ToUpper().Contains(\"" + objRequest.Name.ToUpper() + "\")";
            }
            if (objRequest.Email != "" && objRequest.Email != null)
            {
                where += " and Email.ToUpper().Contains(\"" + objRequest.Email.ToUpper() + "\")";
            }
            if (objRequest.Active != null)
            {
                where += "and Active =" + objRequest.Active;
            }


            var e = (Expression)DynamicExpressionParser.ParseLambda(new[] { Expression.Parameter(typeof(CUser), "x") }, null, where);

            return(where.Length > 0 ? (Expression <Func <CUser, bool> >)e : null);
        }
Exemplo n.º 9
0
 public async Task <IResponseEntity> GetAll(UserFilterRequest req)
 {
     return(await _sysUserService.GetAllAsync(req));
 }