Example #1
0
        public IndexPromocoes promocoes(ZAdmin_RN.Promocao.filtroIndexPromocoes filtro)
        {
            var promocoesRN = new ZAdmin_RN.Promocao.Promocoes();
            var promocoes   = new IndexPromocoes();

            promocoes.promocoes          = promocoesRN.RetornaPromocoes(filtro);
            promocoes.TotalMapaRegistros = promocoesRN.totalPromocoes;

            return(promocoes);
        }
Example #2
0
        public List <itemTabelaPromocao> RetornaPromocoes(filtroIndexPromocoes filtro)
        {
            if (filtro.dataInicialCadastrada.HasValue)
            {
                filtro.dataInicialCadastrada = DateTime.Parse(filtro.dataInicialCadastrada.Value.ToShortDateString());
            }

            if (filtro.dataFinalCadastrada.HasValue)
            {
                filtro.dataFinalCadastrada = DateTime.Parse(filtro.dataFinalCadastrada.Value.ToShortDateString());
            }

            if (filtro.dataInicialVigencia.HasValue)
            {
                filtro.dataInicialVigencia = DateTime.Parse(filtro.dataInicialVigencia.Value.ToShortDateString());
            }

            if (filtro.dataFinalVigencia.HasValue)
            {
                filtro.dataFinalVigencia = DateTime.Parse(filtro.dataFinalVigencia.Value.ToShortDateString());
            }

            var promocoes = (from promocao in db.promo_promocoes
                             join promoempresa in db.promo_promoempresas on promocao.idpromocao equals promoempresa.idpromocao into pe
                             from promoempresa in pe.DefaultIfEmpty()
                             join empresas in db.empresas on promoempresa.idempresa equals empresas.idempresa into e
                             from empresa in e.DefaultIfEmpty()
                             join modalidade in db.promo_modalidades on promocao.idmodalidade equals modalidade.idpromomodalidade into m
                             from modalidade in m.DefaultIfEmpty()
                             where
                             (promocao.excluido == false)
                             &&
                             (filtro.empresa == empresa.idempresa || filtro.empresa == 0 || filtro.empresa == null)
                             &&
                             (
                                 promocao.nome.ToLower().Contains(filtro.termos.ToLower()) ||
                                 promocao.certificadoautorizacao.ToLower().Contains(filtro.termos.ToLower()) ||
                                 promocao.outrosinteressados.ToLower().Contains(filtro.termos.ToLower()) ||
                                 promocao.mecanicapromo.ToLower().Contains(filtro.termos.ToLower()) ||
                                 promocao.produtosparticipantes.ToLower().Contains(filtro.termos.ToLower()) ||
                                 promocao.premiospromo.ToLower().Contains(filtro.termos.ToLower()) ||
                                 promocao.textoregulamento.ToLower().Contains(filtro.termos.ToLower()) ||
                                 filtro.termos == "" || filtro.termos == null
                             )
                             &&
                             (filtro.modalidade == null || filtro.modalidade == 0 || promocao.idmodalidade == filtro.modalidade)
                             &&
                             (filtro.dataInicialCadastrada == null || promocao.dtcadastro >= filtro.dataInicialCadastrada)
                             &&
                             (filtro.dataFinalCadastrada == null || promocao.dtcadastro <= filtro.dataFinalCadastrada)
                             &&
                             (filtro.dataInicialVigencia == null || promocao.dtvigenciaini >= filtro.dataInicialVigencia)
                             &&
                             (filtro.dataFinalVigencia == null || promocao.dtvigenciafim <= filtro.dataFinalVigencia)

                             select new itemTabelaPromocao()
            {
                idPromocao = promocao.idpromocao,
                promocao = promocao.nome,
                empresa = empresa == null ? "" : empresa.nome,
                modalidade = modalidade == null ? "" : modalidade.nome,
                dataCadastro = promocao.dtcadastro,
                vigenciaInicial = promocao.dtvigenciaini,
                vigenciaFinal = promocao.dtvigenciafim
            }
                             );

            //var promocoes = (from promocao in db.promo_promocoes
            //                 join empresa in db.promo_promoempresas on promocao.idpromocao equals empresa.idpromocao
            //                 join emp in db.empresas on empresa.idempresa equals emp.idempresa
            //                 join modalidade in db.promo_modalidades on promocao.idmodalidade equals modalidade.idpromomodalidade
            //                 where

            //                        (promocao.excluido == false)

            //                        &&

            //                        (filtro.empresa == empresa.idempresa || filtro.empresa == 0 || filtro.empresa == null)
            //                        &&

            //                        (

            //                         promocao.nome.ToLower().Contains(filtro.termos.ToLower()) ||
            //                          promocao.certificadoautorizacao.ToLower().Contains(filtro.termos.ToLower()) ||
            //                           promocao.outrosinteressados.ToLower().Contains(filtro.termos.ToLower()) ||
            //                            promocao.mecanicapromo.ToLower().Contains(filtro.termos.ToLower()) ||
            //                             promocao.produtosparticipantes.ToLower().Contains(filtro.termos.ToLower()) ||
            //                              promocao.premiospromo.ToLower().Contains(filtro.termos.ToLower()) ||
            //                               promocao.textoregulamento.ToLower().Contains(filtro.termos.ToLower()) ||
            //                                filtro.termos == "" || filtro.termos == null
            //                                 ) &&

            //                        (promocao.idmodalidade == filtro.modalidade || filtro.modalidade == 0 || filtro.modalidade == null)
            //                        &&

            //                        (
            //                         promocao.dtcadastro >= filtro.dataInicialCadastrada &&
            //                         promocao.dtcadastro <= filtro.dataFinalCadastrada ||
            //                              (
            //                              filtro.dataInicialCadastrada == null ||
            //                              filtro.dataFinalCadastrada == null
            //                              )
            //                         ) &&

            //                         (
            //                             (
            //                             promocao.dtvigenciaini >= filtro.dataInicialVigencia &&
            //                             promocao.dtvigenciafim <= filtro.dataFinalVigencia
            //                             ) ||
            //                                 (
            //                                 filtro.dataInicialVigencia == null ||
            //                                 filtro.dataFinalVigencia == null
            //                                 )
            //                         )

            //                 select new itemTabelaPromocao()
            //                 {
            //                     idPromocao = promocao.idpromocao,
            //                     promocao = promocao.nome,
            //                     empresa = emp.nome,
            //                     modalidade = modalidade.nome,
            //                     dataCadastro = promocao.dtcadastro,
            //                     vigenciaInicial = promocao.dtvigenciaini,
            //                     vigenciaFinal = promocao.dtvigenciafim
            //                 }
            //                );


            switch (filtro.nomeColuna)
            {
            case "empresa":

                if (filtro.asc)
                {
                    promocoes = promocoes.OrderBy(x => x.empresa);
                }
                else
                {
                    promocoes = promocoes.OrderByDescending(x => x.empresa);
                }

                break;

            case "modalidade":

                if (filtro.asc)
                {
                    promocoes = promocoes.OrderBy(x => x.modalidade);
                }
                else
                {
                    promocoes = promocoes.OrderByDescending(x => x.modalidade);
                }

                break;

            case "promocao":

                if (filtro.asc)
                {
                    promocoes = promocoes.OrderBy(x => x.promocao);
                }
                else
                {
                    promocoes = promocoes.OrderByDescending(x => x.promocao);
                }

                break;

            case "dataCadastro":

                if (filtro.asc)
                {
                    promocoes = promocoes.OrderBy(x => x.dataCadastro);
                }
                else
                {
                    promocoes = promocoes.OrderByDescending(x => x.dataCadastro);
                }

                break;

            case "vigenciaInicial":

                if (filtro.asc)
                {
                    promocoes = promocoes.OrderBy(x => x.vigenciaInicial);
                }
                else
                {
                    promocoes = promocoes.OrderByDescending(x => x.vigenciaInicial);
                }

                break;

            case "vigenciaFinal":

                if (filtro.asc)
                {
                    promocoes = promocoes.OrderBy(x => x.vigenciaFinal);
                }
                else
                {
                    promocoes = promocoes.OrderByDescending(x => x.vigenciaFinal);
                }

                break;

            default:

                promocoes = promocoes.OrderBy(x => x.empresa);

                break;
            }

            _totalPromocoes = promocoes.Count();

            //var xx = promocoes.OrderBy(x => x.promocao).ToList();

            var resultado = promocoes.Skip((filtro.pagina - 1) * filtro.quantidade).Take(filtro.quantidade).ToList();

            return(resultado);
        }