예제 #1
0
파일: FrmTeste.cs 프로젝트: radtek/Gradual
        private void btnListaComposicaoCliente_Click(object sender, EventArgs e)
        {
            try
            {
                IServicoCarteiraRecomendada servico = Ativador.Get <IServicoCarteiraRecomendada>();

                ListarComposicaoClienteRequest  request  = new ListarComposicaoClienteRequest();
                ListarComposicaoClienteResponse response = new ListarComposicaoClienteResponse();

                request.idCliente             = Int32.Parse(txtIdClienteComposicaoCliente.Text);
                request.idCarteiraRecomendada = Int32.Parse(txtIdCarteiraComposicaoCliente.Text);
                response = servico.SolicitarListaComposicaoCliente(request);
                if (!response.bSucesso)
                {
                    MessageBox.Show(response.DescricaoResposta);
                    return;
                }

                lstListaComposicaoClienteAtual.Items.Clear();
                foreach (CarteiraRecomendadaComposicaoInfo composicao in response.listaComposicaoAtual)
                {
                    string[] item = new string[] {
                        composicao.IdCarteiraRecomendada.ToString(),
                                                           composicao.IdAtivo.ToString(),
                                                           composicao.Quantidade.ToString()
                    };
                    lstListaComposicaoClienteAtual.Items.Add(new ListViewItem(item));
                }

                lstListaComposicaoClienteNova.Items.Clear();
                foreach (CarteiraRecomendadaComposicaoInfo composicao in response.listaComposicaoNova)
                {
                    string[] item = new string[] {
                        composicao.IdCarteiraRecomendada.ToString(),
                                                           composicao.IdAtivo.ToString(),
                                                           composicao.Quantidade.ToString()
                    };
                    lstListaComposicaoClienteNova.Items.Add(new ListViewItem(item));
                }
            }
            catch (Exception ex)
            {
                string msg = "Falha: " + ex.Message;
                MessageBox.Show(msg);
            }
        }
예제 #2
0
        /// <summary>
        /// Listar composição da Carteira Recomendada Atual e Anterior.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ListarComposicaoClienteResponse SolicitarListaComposicaoCliente(ListarComposicaoClienteRequest request)
        {
            ListarComposicaoClienteResponse response = new ListarComposicaoClienteResponse();
            PersistenciaCarteiraRecomendada persistenciaCarteiraRecomendada = new PersistenciaCarteiraRecomendada();

            try
            {
                logger.Info("Preparando solicitação de lista de Composicao de Carteira Recomendada do Cliente");
                logger.Info("Id da Carteira: " + request.idCarteiraRecomendada.ToString());
                logger.Info("Tipo de solicitação: Lista");

                logger.Info("Chamando o método ListaComposicaoCliente() para efetuar a transacao no banco de dados");
                response = persistenciaCarteiraRecomendada.ListaComposicaoCliente(request);
                logger.Info("Transacao efetuada com sucesso");

                if (response.listaComposicaoNova.Count == 0)
                {
                    response.DescricaoResposta = "Nenhuma ativo encontrado na composição da Carteira Recomendada Atual";
                    response.DataResposta      = DateTime.Now;
                    response.CriticaResposta   = StatusRespostaEnum.ErroNegocio;
                }
                else
                {
                    response.DescricaoResposta = (response.listaComposicaoNova.Count + response.listaComposicaoAtual.Count).ToString() + " ativo(s) encontrado(s)";
                    response.DataResposta      = DateTime.Now;
                    response.CriticaResposta   = StatusRespostaEnum.Sucesso;
                }
            }
            catch (Exception ex)
            {
                response.DataResposta      = DateTime.Now;
                response.CriticaResposta   = StatusRespostaEnum.ErroPrograma;
                response.DescricaoResposta = ERROPROGRAMA;
                response.Exception         = ex;
            }

            logger.Info("Retorna a resposta");
            return(response);
        }