コード例 #1
0
        public async Task <Endereco> GetById(EnderecoFilter model)
        {
            var _endereco = await this.SingleOrDefaultAsync(this.GetAll(this.DataAgregation(model))
                                                            .Where(_ => _.EnderecoId == model.EnderecoId));

            return(_endereco);
        }
コード例 #2
0
        public IQueryable <Endereco> GetBySimplefilters(EnderecoFilter filters)
        {
            var querybase = this.GetAll(this.DataAgregation(filters))
                            .WithBasicFilters(filters)
                            .WithCustomFilters(filters);

            return(querybase);
        }
コード例 #3
0
        public async Task <dynamic> GetDataCustom(EnderecoFilter filters)
        {
            var querybase = await this.ToListAsync(this.GetBySimplefilters(filters).Select(_ => new
            {
                Id = _.EnderecoId,
            }));

            return(querybase);
        }
コード例 #4
0
        public async Task <IEnumerable <dynamic> > GetDataItem(EnderecoFilter filters)
        {
            var querybase = await this.ToListAsync(this.GetBySimplefilters(filters).Select(_ => new
            {
                Id = _.EnderecoId
            }));

            return(querybase);
        }
コード例 #5
0
        public async Task <IActionResult> Get([FromQuery] EnderecoFilter filters)
        {
            var result = new HttpResult <EnderecoDto>(this._logger);

            try
            {
                var searchResult = await this._app.GetByFilters(filters);

                return(result.ReturnCustomResponse(this._app, searchResult, filters));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Calemas.Erp - Endereco", filters));
            }
        }
コード例 #6
0
        public async Task <IActionResult> Get(int id, [FromQuery] EnderecoFilter filters)
        {
            var result = new HttpResult <EnderecoDto>(this._logger);

            try
            {
                filters.EnderecoId = id;
                var returnModel = await this._app.GetOne(filters);

                return(result.ReturnCustomResponse(this._app, returnModel));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Calemas.Erp - Endereco", id));
            }
        }
コード例 #7
0
        public async Task <IActionResult> Get([FromQuery] EnderecoFilter filters)
        {
            var result = new HttpResult <dynamic>(this._logger);

            try
            {
                if (filters.FilterBehavior == FilterBehavior.GetDataItem)
                {
                    var searchResult = await this._rep.GetDataItem(filters);

                    return(result.ReturnCustomResponse(searchResult, filters));
                }

                if (filters.FilterBehavior == FilterBehavior.GetDataCustom)
                {
                    var searchResult = await this._rep.GetDataCustom(filters);

                    return(result.ReturnCustomResponse(searchResult, filters));
                }

                if (filters.FilterBehavior == FilterBehavior.GetDataListCustom)
                {
                    var searchResult = await this._rep.GetDataListCustom(filters);

                    return(result.ReturnCustomResponse(searchResult, filters));
                }

                if (filters.FilterBehavior == FilterBehavior.Export)
                {
                    var searchResult = await this._rep.GetDataListCustom(filters);

                    var export = new ExportExcelCustom <dynamic>(filters);
                    var file   = export.ExportFile(this.Response, searchResult, "Endereco");
                    return(File(file, export.ContentTypeExcel(), export.GetFileName()));
                }

                throw new InvalidOperationException("invalid FilterBehavior");
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Calemas.Erp - Endereco", filters));
            }
        }
コード例 #8
0
        public static IQueryable <Endereco> WithBasicFilters(this IQueryable <Endereco> queryBase, EnderecoFilter filters)
        {
            var queryFilter = queryBase;

            if (filters.EnderecoId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.EnderecoId == filters.EnderecoId);
            }
            if (filters.CEP.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.CEP.Contains(filters.CEP));
            }
            if (filters.Rua.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Rua.Contains(filters.Rua));
            }
            if (filters.Numero.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Numero.Contains(filters.Numero));
            }
            if (filters.Complemento.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Complemento.Contains(filters.Complemento));
            }
            if (filters.Bairro.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Bairro.Contains(filters.Bairro));
            }
            if (filters.Cidade.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Cidade.Contains(filters.Cidade));
            }
            if (filters.UF.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.UF.Contains(filters.UF));
            }
            if (filters.UserCreateId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.UserCreateId == filters.UserCreateId);
            }
            if (filters.UserCreateDateStart.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.UserCreateDate >= filters.UserCreateDateStart);
            }
            if (filters.UserCreateDateEnd.IsSent())
            {
                filters.UserCreateDateEnd = filters.UserCreateDateEnd.AddDays(1).AddMilliseconds(-1);
                queryFilter = queryFilter.Where(_ => _.UserCreateDate <= filters.UserCreateDateEnd);
            }

            if (filters.UserAlterId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.UserAlterId != null && _.UserAlterId.Value == filters.UserAlterId);
            }
            if (filters.UserAlterDateStart.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.UserAlterDate != null && _.UserAlterDate.Value >= filters.UserAlterDateStart.Value);
            }
            if (filters.UserAlterDateEnd.IsSent())
            {
                filters.UserAlterDateEnd = filters.UserAlterDateEnd.Value.AddDays(1).AddMilliseconds(-1);
                queryFilter = queryFilter.Where(_ => _.UserAlterDate != null && _.UserAlterDate.Value <= filters.UserAlterDateEnd);
            }



            return(queryFilter);
        }
コード例 #9
0
 public static IQueryable <Endereco> OrderByDomain(this IQueryable <Endereco> queryBase, EnderecoFilter filters)
 {
     return(queryBase.OrderBy(_ => _.EnderecoId));
 }
コード例 #10
0
        public virtual Task <PaginateResult <Endereco> > GetByFiltersPaging(EnderecoFilter filters)
        {
            var queryBase = this._rep.GetBySimplefilters(filters);

            return(this._rep.PagingAndDefineFields(filters, queryBase));
        }
コード例 #11
0
        public virtual async Task <IEnumerable <Endereco> > GetByFilters(EnderecoFilter filters)
        {
            var queryBase = this._rep.GetBySimplefilters(filters);

            return(await this._rep.ToListAsync(queryBase));
        }
コード例 #12
0
 public virtual async Task <Endereco> GetOne(EnderecoFilter filters)
 {
     return(await this._rep.GetById(filters));
 }
コード例 #13
0
        public static IQueryable <Endereco> WithCustomFilters(this IQueryable <Endereco> queryBase, EnderecoFilter filters)
        {
            var queryFilter = queryBase;

            if (filters.CondominioId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.CollectionCondominio.Where(__ => __.CondominioId == filters.CondominioId).Any());
            }

            return(queryFilter);
        }