Ejemplo n.º 1
0
        public IActionResult Get([FromQuery] RetrieveEntityModel model)
        {
            FilterContainer <Schema.Domain.Entity> filter = FilterContainerBuilder.Build <Schema.Domain.Entity>();

            filter.And(x => x.OrganizationId == CurrentUser.OrganizationId);
            if (model.Name.NotEmpty())
            {
                filter.And(x => x.Name.In(model.Name));
            }
            if (model.IsAuthorization.HasValue)
            {
                filter.And(x => x.AuthorizationEnabled == model.IsAuthorization.Value);
            }
            if (model.IsCustomizable.HasValue)
            {
                filter.And(x => x.IsCustomizable == model.IsCustomizable.Value);
            }
            if (model.IsLoged.HasValue)
            {
                filter.And(x => x.LogEnabled == model.IsLoged.Value);
            }
            if (model.DuplicateEnabled.HasValue)
            {
                filter.And(x => x.DuplicateEnabled == model.DuplicateEnabled.Value);
            }
            if (model.WorkFlowEnabled.HasValue)
            {
                filter.And(x => x.WorkFlowEnabled == model.WorkFlowEnabled.Value);
            }
            if (model.BusinessFlowEnabled.HasValue)
            {
                filter.And(x => x.BusinessFlowEnabled == model.BusinessFlowEnabled.Value);
            }
            if (model.GetAll)
            {
                model.PageSize = 25000;
            }
            else if (!model.PageSizeBySeted && CurrentUser.UserSettings.PagingLimit > 0)
            {
                model.PageSize = CurrentUser.UserSettings.PagingLimit;
            }
            model.PageSize = model.PageSize > WebContext.PlatformSettings.MaxFetchRecords ? WebContext.PlatformSettings.MaxFetchRecords : model.PageSize;
            List <Schema.Domain.Entity> result;

            if (model.SolutionId.HasValue)
            {
                var pagedResult = _entityFinder.QueryPaged(x => x
                                                           .Page(1, model.PageSize)
                                                           .Where(filter), model.SolutionId.Value, true);
                result = pagedResult.Items;
            }
            else
            {
                result = _entityFinder.Query(x => x
                                             .Where(filter));
            }
            return(JOk(result));
        }
Ejemplo n.º 2
0
        public IActionResult Get([FromQuery] RetrieveEntityModel model)
        {
            FilterContainer <Schema.Domain.Entity> filter = FilterContainerBuilder.Build <Schema.Domain.Entity>();

            filter.And(x => x.OrganizationId == CurrentUser.OrganizationId);
            if (model.Name.NotEmpty())
            {
                filter.And(x => x.Name.In(model.Name));
            }
            if (model.AuthorizationEnabled.HasValue)
            {
                filter.And(x => x.AuthorizationEnabled == model.AuthorizationEnabled.Value);
            }
            if (model.IsCustomizable.HasValue)
            {
                filter.And(x => x.IsCustomizable == model.IsCustomizable.Value);
            }
            if (model.LogEnabled.HasValue)
            {
                filter.And(x => x.LogEnabled == model.LogEnabled.Value);
            }
            if (model.DuplicateEnabled.HasValue)
            {
                filter.And(x => x.DuplicateEnabled == model.DuplicateEnabled.Value);
            }
            if (model.WorkFlowEnabled.HasValue)
            {
                filter.And(x => x.WorkFlowEnabled == model.WorkFlowEnabled.Value);
            }
            if (model.BusinessFlowEnabled.HasValue)
            {
                filter.And(x => x.BusinessFlowEnabled == model.BusinessFlowEnabled.Value);
            }
            List <Schema.Domain.Entity> result;

            if (model.SolutionId.HasValue)
            {
                var pagedResult = _entityFinder.QueryPaged(x => x
                                                           .Page(1, 250000)
                                                           .Where(filter), model.SolutionId.Value, true);
                result = pagedResult.Items;
            }
            else
            {
                result = _entityFinder.Query(x => x
                                             .Where(filter));
            }
            return(JOk(result));
        }