示例#1
0
        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
            });
        }
示例#2
0
        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;
        }
示例#3
0
        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();
        }