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); }
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); }