예제 #1
0
        public TransporteLimiteBMF TraduzirInstrumentoNovoParaTela(List <ClienteParametroLimiteBMFInfo> pContratos, List <ClienteParametroBMFInstrumentoInfo> pInstrumentos, string getContrato)
        {
            var lRetorno = new TransporteLimiteBMF();

            List <int> lIdsContratosEncontrados = new List <int>();

            try
            {
                var lContratoCompra = pContratos.Find(contrato => { return(contrato.Sentido == "C" && contrato.Contrato == getContrato); });

                var lContratoVenda = pContratos.Find(contrato => { return(contrato.Sentido == "V" && contrato.Contrato == getContrato); });

                if (lContratoCompra == null || lContratoVenda == null)
                {
                    return(lRetorno);
                }

                var lInstrumentoCompra = pInstrumentos.Find(instrumento => { return(instrumento.Sentido.ToString() == "C" && instrumento.Instrumento.Substring(0, 3) == getContrato && instrumento.IdClienteParametroInstrumento == 0); });

                var lInstrumentoVenda = pInstrumentos.Find(instrumento => { return(instrumento.Sentido.ToString() == "V" && instrumento.Instrumento.Substring(0, 3) == getContrato && instrumento.IdClienteParametroInstrumento == 0); });

                lRetorno.QtdeCompra = lContratoCompra.QuantidadeTotal.ToString();

                lRetorno.QtdeCompraDisponivel = lContratoCompra.QuantidadeDisponivel.ToString();

                lRetorno.QtdeVenda = lContratoVenda.QuantidadeTotal.ToString();

                lRetorno.QtdeVendaDisponivel = lContratoVenda.QuantidadeDisponivel.ToString();

                lRetorno.QtdeCompraInstrumento = lInstrumentoCompra.QtTotalInstrumento.ToString();

                lRetorno.QtdeVendaInstrumento = lInstrumentoVenda.QtTotalInstrumento.ToString();

                lRetorno.QtdeVendaInstrumentoDisponivel = lInstrumentoVenda.QtDisponivel.ToString();

                lRetorno.QtdeCompraInstrumentoDisponivel = lInstrumentoCompra.QtDisponivel.ToString();

                lRetorno.DtValidade = lContratoVenda.DataValidade.ToString("dd/MM/yyyy");

                lRetorno.QtdeMaximaOrdemContrato = lContratoVenda.QuantidadeMaximaOferta.ToString();

                lRetorno.QtdeMaximaOrdemInstrumento = lInstrumentoVenda.QuantidadeMaximaOferta.ToString();

                List <ClienteParametroLimiteBMFInfo> lListContratoEncontrato = pContratos.FindAll(contrato => { return(contrato.Contrato == getContrato); });

                //lListContratoEncontrato.ForEach(contrato =>
                //{
                //    lIdsContratosEncontrados.Add(contrato.idClienteParametroBMF);
                //});

                //IEnumerable<ClienteParametroBMFInstrumentoInfo> lListInstrumentoEncontratos = from a in pInstrumentos where lIdsContratosEncontrados.Contains(a.IdClienteParametroBMF) select a;

                IEnumerable <ClienteParametroBMFInstrumentoInfo> lListInstrumentoEncontratos = from a in pInstrumentos where a.Instrumento.Substring(0, 3).ToUpper() == getContrato select a;

                List <string> lTempInstrumentos = new List <string>();

                string lVendaCompra = "V##venda##  C##compra##";

                lListInstrumentoEncontratos.ToList().ForEach(instrumento =>
                {
                    var lInstrumentoEncontrado = lRetorno.InstrumentosSelecionados.Find(inst => { return(inst.Id == instrumento.Instrumento); });

                    string lNovaLinha = string.Empty;

                    if (lInstrumentoEncontrado == null)
                    {
                        lVendaCompra = "V##venda##  C##compra##";

                        lNovaLinha = instrumento.Instrumento + " " + lVendaCompra + " " + "M" + instrumento.QuantidadeMaximaOferta;

                        lNovaLinha = (instrumento.Sentido.ToString().Equals("V")) ? lNovaLinha.Replace("##venda##", instrumento.QtTotalInstrumento.ToString()) : lNovaLinha.Replace("##compra##", instrumento.QtTotalInstrumento.ToString());
                    }
                    else
                    {
                        lNovaLinha = lInstrumentoEncontrado.Descricao;

                        lNovaLinha = (instrumento.Sentido.ToString().Equals("V")) ? lNovaLinha.Replace("##venda##", instrumento.QtTotalInstrumento.ToString()) : lNovaLinha.Replace("##compra##", instrumento.QtTotalInstrumento.ToString());

                        lRetorno.InstrumentosSelecionados.Remove(lInstrumentoEncontrado);
                    }

                    lRetorno.InstrumentosSelecionados.Add(new ComboItemAux(instrumento.Instrumento, lNovaLinha));
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(lRetorno);
        }
예제 #2
0
 public TransporteLimites()
 {
     this.Bovespa = new TransporteLimiteBovespa();
     this.BMF     = new TransporteLimiteBMF();
 }