Beispiel #1
0
        public AtualizarProdutosClienteResponse AtualizarPlanoCliente(AtualizarProdutosClienteRequest pRequest)
        {
            var lRetorno = new AtualizarProdutosClienteResponse();

            try
            {
                new PersistenciaDB().AtualizarPlanoCliente(pRequest);

                lRetorno.StatusResposta = MensagemResponseStatusEnum.OK;

                lRetorno.DataResposta = DateTime.Now;

                logger.Info(string.Concat("Entrou no AtualizarPlanoCliente e atualizou  os produtos do cliente ", pRequest.LstPlanoCliente.Count > 0 ? pRequest.LstPlanoCliente[0].DsCpfCnpj : string.Empty));
            }
            catch (Exception ex)
            {
                lRetorno.StatusResposta = MensagemResponseStatusEnum.ErroPrograma;

                lRetorno.DescricaoResposta = ex.ToString();

                logger.ErrorFormat("Erro em AtualizarPlanoCliente - {0} - StackTrace - {1}", ex.Message, ex.StackTrace);
            }

            return(lRetorno);
        }
        private string ResponderSalvarDadosProdutos()
        {
            IServicoPlanoCliente lServicoPlano = Ativador.Get <IServicoPlanoCliente>();

            string lObjetoJson = this.Request.Form["ObjetoJson"];

            string lRetorno = string.Empty;

            TransporteListaProdutos lProdutos = JsonConvert.DeserializeObject <TransporteListaProdutos>(lObjetoJson);

            List <PlanoClienteInfo> lEnvio = new List <PlanoClienteInfo>();

            if (null != lProdutos.Lista && lProdutos.Lista.Count > 0)
            {
                lProdutos.Lista.ForEach(delegate(string item)
                {
                    lEnvio.Add(new PlanoClienteInfo()
                    {
                        IdProdutoPlano = int.Parse(item),
                        StSituacao     = 'C',
                        CdCblc         = lProdutos.CodBovespa,
                        DsCpfCnpj      = lProdutos.DsCpfCnpj.Replace(".", "").Replace("-", "").Replace("/", ""),
                        DtFimAdesao    = DateTime.Now,
                    });
                });
            }

            if (lEnvio.Count > 0)
            {
                var lRequest = new AtualizarProdutosClienteRequest();

                lRequest.LstPlanoCliente = lEnvio;

                AtualizarProdutosClienteResponse lResponse = lServicoPlano.AtualizarPlanoCliente(lRequest);

                if (lResponse.StatusResposta == OMS.Library.MensagemResponseStatusEnum.OK)
                {
                    base.RegistrarLogAlteracao(new Gradual.Intranet.Contratos.Dados.Cadastro.LogIntranetInfo()
                    {
                        CdBovespaClienteAfetado = lProdutos.CodBovespa
                    });

                    //ListarProdutosResponse lProdutosAtualizado = lServicoPlano.ListarProdutos();

                    //rptCliente_Produtos.DataSource = lProdutosAtualizado.LstProdutos;

                    //rptCliente_Produtos.DataBind();
                }

                lRetorno = RetornarSucessoAjax(string.Concat("Plano do cliente ", lProdutos.CodBovespa, " atualizado com sucesso."));
            }

            return(lRetorno);
        }
Beispiel #3
0
        public AtualizarProdutosClienteResponse AtualizarPlanoCliente(AtualizarProdutosClienteRequest pRequest)
        {
            var lRetorno = new AtualizarProdutosClienteResponse()
            {
                LstPlanoCliente = new List <PlanoClienteInfo>()
            };


            lRetorno.LstPlanoCliente.AddRange(pRequest.LstPlanoCliente);

            try
            {
                foreach (PlanoClienteInfo planoCliente in pRequest.LstPlanoCliente)
                {
                    //atualiza a tabela de produtos somente se NÃO for o plano IR Fechado, pois o plano fechado já foi incluido e cancelado no mesmo dia.
                    if (planoCliente.IdProdutoPlano != (int)Gradual.OMS.PlanoCliente.PersistenciaDB.TipoProduto.PlanoIRFechado)
                    {
                        this.AtualizarPlanoClienteSql(planoCliente);
                    }

                    //atualiza a integração com o mycapital somente para os planos IR aberto.
                    if (planoCliente.IdProdutoPlano == (int)Gradual.OMS.PlanoCliente.PersistenciaDB.TipoProduto.PlanoIRAberto)
                    {
                        this.AtualizarPlanoClienteOracle(planoCliente);
                    }
                    //Exclui a corretagem do cliente no sinacor para clientes do plano direct.
                    if (planoCliente.IdProdutoPlano == (int)Gradual.OMS.PlanoCliente.PersistenciaDB.TipoProduto.PlanoDirect)
                    {
                        this.ExcluiAdesaoCorretagemClienteSinacor(planoCliente);
                    }
                }
            }

            catch (Exception ex)
            {
                logger.ErrorFormat("Error - {0} - Stacktrace - {1}", ex.Message, ex.StackTrace);

                throw ex;
            }



            return(lRetorno);
        }