public static IEnumerable Consultar(string concessionaria, string status, string lote, string periodoTransDe, string periodoTransAte, string periodoEnvioDe, string periodoEnvioAte, string protocolo, int pagina, int tamanho, ref int total, string ordenacao, string ordem, ref long totalValor) { Entities Context = new Entities(); var consultaCliente = Context.VW_LOTE_CGMP.AsQueryable(); if (!String.IsNullOrEmpty(concessionaria)) { List<decimal?> concessionarias = new List<decimal?>(); foreach (string c in concessionaria.Split(';')) { if (!String.IsNullOrEmpty(c)) concessionarias.Add(decimal.Parse(c)); } consultaCliente = consultaCliente.Where(c => concessionarias.Contains(c.COD_CONCESSIONARIA)); } if (!String.IsNullOrEmpty(lote)) { decimal l = decimal.Parse(lote); consultaCliente = consultaCliente.Where(c => c.NRO_LOTE == l); } if (!String.IsNullOrEmpty(periodoTransDe)) { DateTime ptd = Convert.ToDateTime(periodoTransDe); consultaCliente = consultaCliente.Where(c => c.DTA_TR_LOTE >= ptd); } if (!String.IsNullOrEmpty(periodoTransAte)) { DateTime pta = Convert.ToDateTime(periodoTransAte); consultaCliente = consultaCliente.Where(c => c.DTA_TR_LOTE <= pta); } if (!String.IsNullOrEmpty(periodoEnvioDe)) { DateTime ped = Convert.ToDateTime(periodoEnvioDe); consultaCliente = consultaCliente.Where(c => c.DTH_LOTE_ENVIO >= ped); } if (!String.IsNullOrEmpty(periodoEnvioAte)) { DateTime pea = Convert.ToDateTime(periodoEnvioAte); consultaCliente = consultaCliente.Where(c => c.DTH_LOTE_ENVIO <= pea); } if (!String.IsNullOrEmpty(status)) { string[] ids = status.Split(';'); consultaCliente = consultaCliente.Where(c => ids.Contains(c.STA_LOTE)); } if (!String.IsNullOrEmpty(protocolo)) { string[] protocolos = protocolo.Split(';'); CRB.BOSS.Seguranca.Parametro.Parametro objParametro = new CRB.BOSS.Seguranca.Parametro.Parametro(); decimal? vlrRT, vlrRF; if (protocolos.Count() > 2) { vlrRT = objParametro.getValorCGMP("VLR_DIF_RT", 6); vlrRF = objParametro.getValorCGMP("VLR_DIF_RF", 6); consultaCliente = consultaCliente.Where(c => c.DTH_RT == null && c.VLR_DIF_TR_RT > vlrRT || c.DTH_RF == null && c.VLR_DIF_TR_RF > vlrRF); } else { if (protocolos[0] == "0") { vlrRT = objParametro.getValorCGMP("VLR_DIF_RT", 6); consultaCliente = consultaCliente.Where(c => c.DTH_RT == null && c.VLR_DIF_TR_RT > vlrRT); } if (protocolos[0] == "1") { vlrRF = objParametro.getValorCGMP("VLR_DIF_RF", 6); consultaCliente = consultaCliente.Where(c => c.DTH_RF == null && c.VLR_DIF_TR_RF > vlrRF); } } } total = consultaCliente.Count(); try { totalValor = Convert.ToInt64(consultaCliente.Sum(r => r.VLR_DIF_TR_RF).Value.ToString("00")); } catch { totalValor = 0; } var resultado = consultaCliente.Select(c => new { c.DTH_RF, c.DTH_RT, c.VLR_DIF_TR_RF, c.VLR_DIF_TR_RT, c.DSC_STATUS_LOTE, c.NRO_LOTE, c.DTA_TR_LOTE, c.QTD_TR_LOTE, c.VLR_TR_LOTE, c.DTH_LOTE_ENVIO, c.DTH_RT_PROCESS, c.DTH_RF_PROCESS, c.QTD_TR_REJ }); if (ordenacao == "A") { switch (ordem) { case "Status": resultado = resultado.OrderBy(r => r.DSC_STATUS_LOTE); break; case "Lote": resultado = resultado.OrderBy(r => r.NRO_LOTE); break; case "Data": resultado = resultado.OrderBy(r => r.DTA_TR_LOTE); break; default: resultado = resultado.OrderBy(r => r.DTH_LOTE_ENVIO); break; } } else { switch (ordem) { case "Status": resultado = resultado.OrderByDescending(r => r.DSC_STATUS_LOTE); break; case "Lote": resultado = resultado.OrderByDescending(r => r.NRO_LOTE); break; case "Data": resultado = resultado.OrderByDescending(r => r.DTA_TR_LOTE); break; default: resultado = resultado.OrderByDescending(r => r.DTH_LOTE_ENVIO); break; } } return resultado.Skip((pagina - 1) * tamanho).Take(tamanho).ToList().Select(c => new { style = Style(c.DTH_RF, c.DTH_RT, c.VLR_DIF_TR_RF, c.VLR_DIF_TR_RT, protocolo), c.DSC_STATUS_LOTE, c.NRO_LOTE, DTA_TR_LOTE = (c.DTA_TR_LOTE != null) ? c.DTA_TR_LOTE.Value.ToString("dd/MM/yyyy") : null, c.QTD_TR_LOTE, VLR_TR_LOTE = (c.VLR_TR_LOTE != null) ? c.VLR_TR_LOTE.Value.ToString("0,0.00") : null, DTH_LOTE_ENVIOD = (c.DTH_LOTE_ENVIO != null) ? c.DTH_LOTE_ENVIO.Value.ToString("dd/MM/yyyy") : null, DTH_LOTE_ENVIOH = (c.DTH_LOTE_ENVIO != null) ? c.DTH_LOTE_ENVIO.Value.ToString("HH:mm:ss") : null, DTH_RT_PROCESSD = (c.DTH_RT_PROCESS != null) ? c.DTH_RT_PROCESS.Value.ToString("dd/MM/yyyy") : null, DTH_RT_PROCESSH = (c.DTH_RT_PROCESS != null) ? c.DTH_RT_PROCESS.Value.ToString("HH:mm:ss") : null, DTH_RF_PROCESSD = (c.DTH_RF_PROCESS != null) ? c.DTH_RF_PROCESS.Value.ToString("dd/MM/yyyy") : null, DTH_RF_PROCESSH = (c.DTH_RF_PROCESS != null) ? c.DTH_RF_PROCESS.Value.ToString("HH:mm:ss") : null, c.QTD_TR_REJ }); }
private static string Style(DateTime? DTH_RF, DateTime? DTH_RT, decimal? VLR_DIF_TR_RF, decimal? VLR_DIF_TR_RT, string protocolo) { string style = ""; CRB.BOSS.Seguranca.Parametro.Parametro objParametro = new CRB.BOSS.Seguranca.Parametro.Parametro(); decimal? vlrRF = objParametro.getValorCGMP("VLR_DIF_RF", 6); decimal? vlrRT = objParametro.getValorCGMP("VLR_DIF_RT", 6); if (DTH_RF == null && VLR_DIF_TR_RF >= vlrRF) style = "vermelho"; if (DTH_RT == null && VLR_DIF_TR_RT >= vlrRT) style = "amarelo"; if (!String.IsNullOrEmpty(protocolo)) { string[] protocolos = protocolo.Split(';'); if (protocolos.Count() == 2) { if (protocolos[0] == "1") style = "vermelho"; if (protocolos[0] == "0") style = "amarelo"; } } return style; }
public static List<ListaCGMP> Consultar(string concessionaria, string status, string lote, string periodoTransDe, string periodoTransAte, string periodoEnvioDe, string periodoEnvioAte, string protocolo) { Entities Context = new Entities(); var consultaCliente = Context.VW_LOTE_CGMP.AsQueryable(); if (!String.IsNullOrEmpty(concessionaria)) { List<decimal?> concessionarias = new List<decimal?>(); foreach (string c in concessionaria.Split(';')) { if (!String.IsNullOrEmpty(c)) concessionarias.Add(decimal.Parse(c)); } consultaCliente = consultaCliente.Where(c => concessionarias.Contains(c.COD_CONCESSIONARIA)); } if (!String.IsNullOrEmpty(lote)) { decimal l = decimal.Parse(lote); consultaCliente = consultaCliente.Where(c => c.NRO_LOTE == l); } if (!String.IsNullOrEmpty(periodoTransDe)) { DateTime ptd = Convert.ToDateTime(periodoTransDe); consultaCliente = consultaCliente.Where(c => c.DTA_TR_LOTE >= ptd); } if (!String.IsNullOrEmpty(periodoTransAte)) { DateTime pta = Convert.ToDateTime(periodoTransAte); consultaCliente = consultaCliente.Where(c => c.DTA_TR_LOTE <= pta); } if (!String.IsNullOrEmpty(periodoEnvioDe)) { DateTime ped = Convert.ToDateTime(periodoEnvioDe); consultaCliente = consultaCliente.Where(c => c.DTH_LOTE_ENVIO >= ped); } if (!String.IsNullOrEmpty(periodoEnvioAte)) { DateTime pea = Convert.ToDateTime(periodoEnvioAte); consultaCliente = consultaCliente.Where(c => c.DTH_LOTE_ENVIO <= pea); } if (!String.IsNullOrEmpty(status)) { string[] ids = status.Split(';'); consultaCliente = consultaCliente.Where(c => ids.Contains(c.STA_LOTE)); } if (!String.IsNullOrEmpty(protocolo)) { string[] protocolos = protocolo.Split(';'); CRB.BOSS.Seguranca.Parametro.Parametro objParametro = new CRB.BOSS.Seguranca.Parametro.Parametro(); decimal? vlrRT, vlrRF; if (protocolos.Count() > 2) { vlrRT = objParametro.getValorCGMP("VLR_DIF_RT", 6); vlrRF = objParametro.getValorCGMP("VLR_DIF_RF", 6); consultaCliente = consultaCliente.Where(c => c.DTH_RT == null && c.VLR_DIF_TR_RT > vlrRT || c.DTH_RF == null && c.VLR_DIF_TR_RF > vlrRF); } else { if (protocolos[0] == "0") { vlrRT = objParametro.getValorCGMP("VLR_DIF_RT", 6); consultaCliente = consultaCliente.Where(c => c.DTH_RT == null && c.VLR_DIF_TR_RT > vlrRT); } if (protocolos[0] == "1") { vlrRF = objParametro.getValorCGMP("VLR_DIF_RF", 6); consultaCliente = consultaCliente.Where(c => c.DTH_RF == null && c.VLR_DIF_TR_RF > vlrRF); } } } return consultaCliente.OrderBy(c => c.DTH_LOTE_ENVIO).ToList().Select(c => new ListaCGMP { style = StyleObjeto(c.DTH_RF, c.DTH_RT, c.VLR_DIF_TR_RF, c.VLR_DIF_TR_RT, protocolo), DSC_STATUS_LOTE = c.DSC_STATUS_LOTE, NRO_LOTE = c.NRO_LOTE, DTA_TR_LOTE = (c.DTA_TR_LOTE != null) ? c.DTA_TR_LOTE.Value.ToString("dd/MM/yyyy") : null, QTD_TR_LOTE = c.QTD_TR_LOTE, VLR_TR_LOTE = (c.VLR_TR_LOTE != null) ? c.VLR_TR_LOTE.Value.ToString("0,0.00") : "", DTH_LOTE_ENVIOD = (c.DTH_LOTE_ENVIO != null) ? c.DTH_LOTE_ENVIO.Value.ToString("dd/MM/yyyy") : null, DTH_LOTE_ENVIOH = (c.DTH_LOTE_ENVIO != null) ? c.DTH_LOTE_ENVIO.Value.ToString("HH:mm:ss") : null, DTH_RT_PROCESSD = (c.DTH_RT_PROCESS != null) ? c.DTH_RT_PROCESS.Value.ToString("dd/MM/yyyy") : null, DTH_RT_PROCESSH = (c.DTH_RT_PROCESS != null) ? c.DTH_RT_PROCESS.Value.ToString("HH:mm:ss") : null, DTH_RF_PROCESSD = (c.DTH_RF_PROCESS != null) ? c.DTH_RF_PROCESS.Value.ToString("dd/MM/yyyy") : null, DTH_RF_PROCESSH = (c.DTH_RF_PROCESS != null) ? c.DTH_RF_PROCESS.Value.ToString("HH:mm:ss") : null, QTD_TR_REJ = c.QTD_TR_REJ }).ToList(); }