示例#1
0
        public async Task <Pendencia> GetById(PendenciaFilter model)
        {
            var _pendencia = await this.SingleOrDefaultAsync(this.GetAll(this.DataAgregation(model))
                                                             .Where(_ => _.PendenciaId == model.PendenciaId));

            return(_pendencia);
        }
示例#2
0
        public async Task <dynamic> GetDataCustom(PendenciaFilter filters)
        {
            var querybase = await this.ToListAsync(this.GetBySimplefilters(filters).Select(_ => new
            {
                Id = _.PendenciaId,
            }));

            return(querybase);
        }
示例#3
0
        public async Task <IEnumerable <dynamic> > GetDataItem(PendenciaFilter filters)
        {
            var querybase = await this.ToListAsync(this.GetBySimplefilters(filters).Select(_ => new
            {
                Id   = _.PendenciaId,
                Name = _.Resumo
            }));

            return(querybase);
        }
示例#4
0
        public IQueryable <Pendencia> GetBySimplefilters(PendenciaFilter filters)
        {
            var querybase = this.GetAll(this.DataAgregation(filters))
                            .WithBasicFilters(filters)
                            .WithCustomFilters(filters)
                            .WithLimitTenant(this._user)
                            .OrderByDomain(filters)
                            .OrderByProperty(filters);

            return(querybase);
        }
示例#5
0
        public async Task <IActionResult> Get([FromQuery] PendenciaFilter filters)
        {
            var result = new HttpResult <PendenciaDto>(this._logger);

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

                return(result.ReturnCustomResponse(this._app, searchResult, filters));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Target.Pendencias - Pendencia", filters));
            }
        }
示例#6
0
        public async Task <IActionResult> Get(int id, [FromQuery] PendenciaFilter filters)
        {
            var result = new HttpResult <PendenciaDto>(this._logger);

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

                return(result.ReturnCustomResponse(this._app, returnModel));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Target.Pendencias - Pendencia", id));
            }
        }
示例#7
0
        public async Task <IEnumerable <dynamic> > GetDataListCustom(PendenciaFilter filters)
        {
            if (filters.AttributeBehavior == "MinhasPendencias")
            {
                filters.UsuarioId = this._user.GetTenantId <int>();
            }

            var query = this.GetBySimplefilters(filters);

            if (filters.AttributeBehavior == "MinhasPendencias")
            {
                query = query.Where(_ => _.FluxoTrabalhoStatusId != (int)EFluxoTrabalhoStatus.Pronto);
            }

            if (filters.SearchFilter.IsSent())
            {
                query = query.Where(_ => _.Resumo.Contains(filters.SearchFilter) ||
                                    _.Tags.Contains(filters.SearchFilter) ||
                                    _.Projeto.CollectionProjetoDocumento.Where(__ => __.Documento.Tags.Contains(filters.SearchFilter)).Any() ||
                                    _.CollectionPendenciaDocumento.Where(__ => __.Documento.Tags.Contains(filters.SearchFilter)).Any());
            }


            var querybase = await this.ToListAsync(query.Select(_ => new
            {
                Id              = _.PendenciaId,
                Codigo          = _.Projeto.ChaveUnica + "-" + _.PendenciaId,
                Resumo          = _.Resumo,
                Status          = _.FluxoTrabalhoStatus.Nome,
                Tipo            = _.PendenciaTipo.Nome,
                StatusId        = _.FluxoTrabalhoStatusId,
                TempoEstimado   = _.TempoEstimado,
                PontosEstimados = _.PontosEstimados,
                Prazo           = _.Prazo,
                Foto            = _.Usuario.Foto,
                User            = _.Usuario.Nome,
                CorFundo        = _.FluxoTrabalhoStatus.CorFundo,
                CorFonte        = _.FluxoTrabalhoStatus.CorFonte,
                Ordem           = _.FluxoTrabalhoStatus.Ordem,
                Cronometrando   = _.CollectionPendenciaTempos.Where(__ => __.Fim == null).Any()
            }));

            return(querybase);
        }
示例#8
0
        public async Task <IActionResult> Get([FromQuery] PendenciaFilter 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, "Pendencia");
                    return(File(file, export.ContentTypeExcel(), export.GetFileName()));
                }

                throw new InvalidOperationException("invalid FilterBehavior");
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Target.Pendencias - Pendencia", filters));
            }
        }
示例#9
0
        public static IQueryable <Pendencia> WithCustomFilters(this IQueryable <Pendencia> queryBase, PendenciaFilter filters)
        {
            var queryFilter = queryBase;

            if (filters.CollectionProjetoId.IsAny())
            {
                queryFilter = queryFilter.Where(_ => filters.CollectionProjetoId.Contains(_.ProjetoId));
            }


            return(queryFilter);
        }
        public static IQueryable <Pendencia> WithBasicFilters(this IQueryable <Pendencia> queryBase, PendenciaFilter filters)
        {
            var queryFilter = queryBase;

            if (filters.PendenciaId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.PendenciaId == filters.PendenciaId);
            }
            if (filters.PendenciaIdPai.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.PendenciaIdPai != null && _.PendenciaIdPai.Value == filters.PendenciaIdPai);
            }
            if (filters.Resumo.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Resumo.Contains(filters.Resumo));
            }
            if (filters.Descricao.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Descricao.Contains(filters.Descricao));
            }
            if (filters.RequisitadoPor.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.RequisitadoPor.Contains(filters.RequisitadoPor));
            }
            if (filters.TempoEstimado.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.TempoEstimado != null && _.TempoEstimado.Value == filters.TempoEstimado);
            }
            if (filters.PontosEstimados.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.PontosEstimados != null && _.PontosEstimados.Value == filters.PontosEstimados);
            }
            if (filters.PrazoStart.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Prazo != null && _.Prazo.Value >= filters.PrazoStart.Value);
            }
            if (filters.PrazoEnd.IsSent())
            {
                filters.PrazoEnd = filters.PrazoEnd.Value.AddDays(1).AddMilliseconds(-1);
                queryFilter      = queryFilter.Where(_ => _.Prazo != null && _.Prazo.Value <= filters.PrazoEnd);
            }

            if (filters.ProjetoId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.ProjetoId == filters.ProjetoId);
            }
            if (filters.UsuarioId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.UsuarioId == filters.UsuarioId);
            }
            if (filters.PendenciaTipoId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.PendenciaTipoId == filters.PendenciaTipoId);
            }
            if (filters.FluxoTrabalhoStatusId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.FluxoTrabalhoStatusId == filters.FluxoTrabalhoStatusId);
            }
            if (filters.PendenciaPrioridadeId.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.PendenciaPrioridadeId == filters.PendenciaPrioridadeId);
            }
            if (filters.Tags.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.Tags.Contains(filters.Tags));
            }
            if (filters.DataConclusaoStart.IsSent())
            {
                queryFilter = queryFilter.Where(_ => _.DataConclusao != null && _.DataConclusao.Value >= filters.DataConclusaoStart.Value);
            }
            if (filters.DataConclusaoEnd.IsSent())
            {
                filters.DataConclusaoEnd = filters.DataConclusaoEnd.Value.AddDays(1).AddMilliseconds(-1);
                queryFilter = queryFilter.Where(_ => _.DataConclusao != null && _.DataConclusao.Value <= filters.DataConclusaoEnd);
            }

            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);
        }
 public static IQueryable <Pendencia> OrderByDomain(this IQueryable <Pendencia> queryBase, PendenciaFilter filters)
 {
     return(queryBase.OrderBy(_ => _.PendenciaId));
 }
示例#12
0
        public virtual Task <PaginateResult <Pendencia> > GetByFiltersPaging(PendenciaFilter filters)
        {
            var queryBase = this._rep.GetBySimplefilters(filters);

            return(this._rep.PagingAndDefineFields(filters, queryBase));
        }
示例#13
0
        public virtual async Task <IEnumerable <Pendencia> > GetByFilters(PendenciaFilter filters)
        {
            var queryBase = this._rep.GetBySimplefilters(filters);

            return(await this._rep.ToListAsync(queryBase));
        }
示例#14
0
 public virtual async Task <Pendencia> GetOne(PendenciaFilter filters)
 {
     return(await this._rep.GetById(filters));
 }