示例#1
0
        public static void AdicionarLivroNegocios(NegocioBase registroNegocios, int maxItensLNG)
        {
            LNGDadosNegocio dadosLNG = new LNGDadosNegocio();

            dadosLNG.Compradora    = registroNegocios.Negocio.Compradora;
            dadosLNG.Hora          = registroNegocios.Negocio.Hora;
            dadosLNG.NumeroNegocio = registroNegocios.Negocio.NumeroNegocio;
            dadosLNG.Preco         = registroNegocios.Negocio.Preco;
            dadosLNG.Quantidade    = registroNegocios.Negocio.Quantidade;
            dadosLNG.Vendedora     = registroNegocios.Negocio.Vendedora;

            registroNegocios.LivroNegocios.Insert(0, dadosLNG);

            if (registroNegocios.LivroNegocios.Count > maxItensLNG)
            {
                registroNegocios.LivroNegocios.RemoveRange(maxItensLNG - 1, registroNegocios.LivroNegocios.Count - maxItensLNG);
            }
        }
示例#2
0
        /// <summary>
        /// Monta a string da mensagem de negocio pra envio ao HomeBroker
        /// </summary>
        /// <param name="registroNegocio"></param>
        /// <returns></returns>
        public static string montarLivroNegociosHomeBroker(NegocioBase registroNegocio)
        {
            StringBuilder   builder = new StringBuilder();
            NEGDadosNegocio negocio = registroNegocio.Negocio;


            builder.Append(MDSUtils.montaHeaderHomeBroker(registroNegocio.Instrumento,
                                                          ConstantesMDS.TIPO_REQUISICAO_HB_LIVRO_NEGOCIOS, registroNegocio.TipoBolsa));

            int numItens    = 30; //TODO: parametrizar
            int posicaoItem = 0;

            while (posicaoItem < numItens &&
                   posicaoItem < registroNegocio.LivroNegocios.Count)
            {
                LNGDadosNegocio item = registroNegocio.LivroNegocios[posicaoItem];

                if (item != null)
                {
                    if (!String.IsNullOrEmpty(item.NumeroNegocio))
                    {
                        builder.Append(item.NumeroNegocio.PadLeft(8, '0'));
                    }
                    else
                    {
                        builder.Append("00000000");
                    }

                    if (!String.IsNullOrEmpty(item.Hora))
                    {
                        builder.Append(item.Hora.PadLeft(6, '0'));
                    }
                    else
                    {
                        builder.Append("000000");
                    }

                    builder.Append(item.Preco.ToString("0000000000.00"));
                    builder.Append(String.Format("{0:d12}", item.Quantidade));

                    if (!String.IsNullOrEmpty(item.Compradora))
                    {
                        builder.Append(item.Compradora.PadLeft(8, '0'));
                    }
                    else
                    {
                        builder.Append("00000000");
                    }

                    if (!String.IsNullOrEmpty(item.Vendedora))
                    {
                        builder.Append(item.Vendedora.PadLeft(8, '0'));
                    }
                    else
                    {
                        builder.Append("00000000");
                    }
                }

                posicaoItem++;
            }

            return(builder.ToString());
        }
示例#3
0
        /// <summary>
        /// Monta um dicionario de valores para envio ao streamer correspondendo a uma
        /// entrada no livro de negocios.
        /// </summary>
        /// <param name="acao"></param>
        /// <param name="posicao"></param>
        /// <param name="item"></param>
        /// <returns></returns>
        public static Dictionary <string, string> montarItemLivroNegociosStreamer(int acao, int posicao, LNGDadosNegocio item, int casasDecimais)
        {
            Dictionary <string, string> mensagem = new Dictionary <String, String>();

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_ACAO, acao.ToString());

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_POSICAO, posicao.ToString());

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_NUMERO_NEGOCIO, (item.NumeroNegocio != null ? item.NumeroNegocio.Trim() : "0"));

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_HORA, item.Hora);

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_PRECO, String.Format("{0:f" + casasDecimais + "}", item.Preco).Replace('.', ','));

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_QUANTIDADE, item.Quantidade.ToString());

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_COMPRADORA, item.Compradora);

            mensagem.Add(ConstantesMDS.HTTP_LIVRO_NEGOCIOS_VENDEDORA, item.Vendedora);

            return(mensagem);
        }