コード例 #1
0
ファイル: TesouroDiretoVenda.cs プロジェクト: radtek/Gradual
        public VendaFechaCestaResponse VendaFecharCesta(VendaFechaCestaRequest pParametro)
        {
            var lRetorno = new VendaFechaCestaResponse();
            TituloMercadoInfo tituloMercadoInfo;

            try
            {
                string lXml = ConexaoWS.WsVenda.VendaFecharCesta(pParametro.CodigoMercado, pParametro.CPFNegociador, pParametro.CodigoCesta, this.MontarXMLTituloMercado(pParametro.Titulos));

                gLogger.InfoFormat("Resposta recebida de ConexaoWS.WsVenda.VendaFecharCesta(CodigoMercado [{0}], CPFNegociador [{1}], CodigoCesta [{2}], Titulos [{3}]):\r\n{4}"
                                   , pParametro.CodigoMercado
                                   , pParametro.CPFNegociador
                                   , pParametro.CodigoCesta
                                   , this.MontarXMLTituloMercado(pParametro.Titulos)
                                   , lXml);

                base.AtribDefaultValues();
                XElement root = null;
                base.GetStatus(lXml, out root);

                if (root.Element("TITULOS") != null)
                {
                    foreach (XElement titulo in root.Element("TITULOS").Elements())
                    {
                        tituloMercadoInfo = new TituloMercadoInfo();
                        tituloMercadoInfo.CodigoTitulo = titulo.Element("CODIGO_TITULO") != null?titulo.Element("CODIGO_TITULO").Value.DBToInt32() : 0;

                        tituloMercadoInfo.NomeTitulo = titulo.Element("NOME_TITULO") != null?titulo.Element("NOME_TITULO").Value : "";

                        tituloMercadoInfo.ValorTitulo = titulo.Element("VALOR_TITULO") != null?titulo.Element("VALOR_TITULO").Value.DBToDecimal() : 0;

                        tituloMercadoInfo.ValorCompra = titulo.Element("VALOR_COMPRA") != null?titulo.Element("VALOR_COMPRA").Value.DBToDecimal() : 0;

                        tituloMercadoInfo.ValorVenda = titulo.Element("VALOR_VENDA") != null?titulo.Element("VALOR_VENDA").Value.DBToDecimal() : 0;

                        lRetorno.Objeto.Add(tituloMercadoInfo);
                    }
                }

                {   //--> Log
                    string lTitulos = string.Empty;

                    if (null != pParametro.Titulos && pParametro.Titulos.Count > 0)
                    {
                        lRetorno.Objeto.ForEach(lTitulo => { lTitulos += "Título: " + lTitulo.NomeTitulo + "; Valor: " + lTitulo.ValorVenda + "\n"; });
                    }

                    gLogger.DebugFormat("VENDA - FECHAR CESTA -->\n - CPF/CNPJ: {0}\n - CodigoCesta: {1}\n - CodigoMercado: {2}\n - Títulos: {3}", pParametro.CPFNegociador, pParametro.CodigoCesta, pParametro.CodigoMercado, lTitulos);
                }
            }
            catch (Exception ex)
            {
                lRetorno.StatusResposta    = Library.MensagemResponseStatusEnum.ErroNegocio;
                lRetorno.DescricaoResposta = ex.ToString();
                gLogger.Error("VendaFecharCesta", ex);
            }

            return(lRetorno);
        }
コード例 #2
0
 public VendaFechaCestaResponse VendaFecharCesta(VendaFechaCestaRequest pParametro)
 {
     return(new TesouroDiretoVenda().VendaFecharCesta(pParametro));
 }