Beispiel #1
0
        public Oportunidade_JSON EnviaOrcamentosAceitos(Oportunidade_JSON oJSON)
        {
            //**************
            //* Declarações
            //**************
            Oportunidade_Manager oManagerOportunidade;

            oManagerOportunidade = new Oportunidade_Manager(DBConnection.GetConnectionFromSession(HttpContext.Current.Session["Decision_LoginInfo"]));
            Oportunidade_Fields oOportunidade = new Oportunidade_Fields();

            Oportunidade_Orcamentos_Manager oManagerOrcamentos;

            oManagerOrcamentos = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(HttpContext.Current.Session["Decision_LoginInfo"]));
            Oportunidade_Orcamentos_Fields oOrcamento = new Oportunidade_Orcamentos_Fields();

            //**********************************
            //* Obtem base de carregamento HTML
            //**********************************
            string HTML_Base = Properties.Settings.Default.html_base;

            //**************************
            //* Obtem array de seleções
            //**************************
            string[] oListaOrcamento = oJSON.parametros["CodigoOrcamentoAceito"].ToString().Split(',');

            //*********************************************************
            //* Executa rotina para cara orçamento da lista de seleção
            //*********************************************************
            for (Int32 CIndice = 0; CIndice < oJSON.orcamentos.Length; CIndice++)
            {
                //**************************************
                //* O orçamento atual deve ser enviado?
                //**************************************
                if (Array.IndexOf(oListaOrcamento, oJSON.orcamentos[CIndice].PK_cod_orcamento.ToString()) > -1)
                {
                    //***************
                    //* Captura HTML
                    //***************
                    oHTTPClient.Encoding = System.Text.Encoding.UTF8;
                    string URL = "/oportunidades_orcamentonotificacao_email.aspx";
                    URL += "?CMA=" + oJSON.parametros["CodigoMaster"];
                    URL += "&CPO=" + oJSON.parametros["CodigoPosto"];
                    URL += "&COP=" + oJSON.parametros["CodigoOportunidade"];
                    URL += "&COR=" + oJSON.orcamentos[CIndice].PK_cod_orcamento.ToString();
                    string Html = oHTTPClient.DownloadString(HTML_Base + URL);

                    //************************
                    //* Define dados de envio
                    //************************
                    oMailMessage.To.Add(oJSON.oportunidade.contato_emails.MultiSeparator2Comma());
                    oMailMessage.Subject      = oLogin.LoginInfo.Posto_Nome.ToUpper() + " - ";
                    oMailMessage.Subject     += "Confirmação de Orçamento N° " + oJSON.orcamentos[CIndice].PK_cod_orcamento.ToString();
                    oMailMessage.IsBodyHtml   = true;
                    oMailMessage.BodyEncoding = System.Text.Encoding.UTF8;
                    oMailMessage.Body         = Html;

                    //***************
                    //* Efetua envio
                    //***************
                    try
                    {
                        //**************************
                        //* Envia e retorna sucesso
                        //**************************
                        oSmtpClient.Send(oMailMessage);

                        //**************************************************
                        //* Associa dados e altera situação da oportunidade
                        //**************************************************
                        oOportunidade = oJSON.oportunidade;
                        oOportunidade.cod_situacao = (int)Lists.OptionLists.OportunidadeStuacao.Analise;
                        oManagerOportunidade.ApplyRecord(oOportunidade);

                        //*******************************************************************************************
                        //* SERVER_DATA: Anula reposta anterior, marca como pendente e atualiza estágio do orçamento
                        //*******************************************************************************************
                        oOrcamento = oJSON.orcamentos[CIndice];
                        oOrcamento.html_resposta     = "";
                        oOrcamento.pendencia         = true;
                        oOrcamento.estagio_orcamento = (int)Lists.OptionLists.OrcamentoEstagio.Enviado;
                        oManagerOrcamentos.ApplyRecord(oOrcamento);

                        //*****************************************************************************************
                        //* JSON_DATA: Anula reposta anterior, marca como pendente e atualiza estágio do orçamento
                        //*****************************************************************************************
                        oJSON.oportunidade.cod_situacao             = oOportunidade.cod_situacao;
                        oJSON.orcamentos[CIndice].html_resposta     = "";
                        oJSON.orcamentos[CIndice].pendencia         = true;
                        oJSON.orcamentos[CIndice].estagio_orcamento = (int)Lists.OptionLists.OrcamentoEstagio.Enviado;

                        //**********************************
                        //* Marca processo como bm sucedido
                        //**********************************
                        oJSON.error = string.Empty;
                    }
                    catch (Exception oException)
                    {
                        //*************************
                        //* Retorna falha de envio
                        //*************************
                        oJSON.error = "Erro ao enviar mensagem: " + oException.Message;
                    }
                }
            }

            //*****************************
            //* Retorna status da operação
            //*****************************
            return(oJSON);
        }
Beispiel #2
0
        protected string SalvaEtapa1(Oportunidade_JSON oJSON)
        {
            //********************
            //* Declara variáveis
            //********************
            Oportunidade_Fields  oOportunidade = new Oportunidade_Fields();
            Oportunidade_Manager oManager      = new Oportunidade_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"]));
            Int32 CodOportunidade = 0;

            Agenda_Apontamentos_Manager oAgendaManager;

            oAgendaManager = new Agenda_Apontamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"]));
            Agenda_Apontamentos_Fields oAgenda = new Agenda_Apontamentos_Fields();

            string ItemText = string.Empty;

            //****************
            //* Associa dados
            //****************
            oOportunidade = oJSON.oportunidade;

            //*****************************************
            //* Executa inclusão e retorna novo código
            //*****************************************
            CodOportunidade = oManager.ApplyRecord(oOportunidade);
            oJSON.oportunidade.PK_nro_oportunidade = CodOportunidade;

            //*****************************
            //* Retorna status da operação
            //*****************************
            if (!oManager.Error)
            {
                //************************************
                //* Salva agendamento da oportunidade
                //************************************
                oAgendaManager = SalvaAgendamentoOportunidade(oOportunidade);

                //**************************
                //* Houve erro na operação?
                //**************************
                if (!oAgendaManager.Error)
                {
                    //*******************************
                    //* Deve agendar pré/pós viagem?
                    //*******************************
                    if (oOportunidade.cod_situacao == (int)Lists.OptionLists.OportunidadeStuacao.Ganhou)
                    {
                        //****************************************
                        //* Salva agendamento de pré e pós viagem
                        //****************************************
                        oAgendaManager = SalvaAgendamentoPrePosViagem(oOportunidade);

                        //**************************
                        //* Houve erro na operação?
                        //**************************
                        if (oAgendaManager.Error)
                        {
                            //***************
                            //* Retorna erro
                            //***************
                            oJSON.error = oAgendaManager.ErrorText;
                            return(oAgendaManager.ErrorText + "|" + oManager.ErrorText);
                        }
                    }

                    //*****************
                    //* Não houve erro
                    //*****************
                    oJSON.error = "";
                    return("Ok");
                }
                else
                {
                    //***************
                    //* Retorna erro
                    //***************
                    oJSON.error = oAgendaManager.ErrorText;
                    return(oAgendaManager.ErrorText + "|" + oManager.ErrorText);
                }
            }
            else
            {
                //***************
                //* Retorna erro
                //***************
                oJSON.error = oManager.ErrorText;
                return(oManager.ErrorText);
            }
        }
Beispiel #3
0
        protected void htmResposta_CustomDataCallback(object sender, DevExpress.Web.CustomDataCallbackEventArgs e)
        {
            //**************
            //* Declarações
            //**************
            Agenda_Apontamentos_Manager     oAgendaManager       = new Agenda_Apontamentos_Manager(Conexao);
            Agenda_Apontamentos_Fields      oAgenda              = new Agenda_Apontamentos_Fields();
            Oportunidade_Manager            oOportunidadeManager = new Oportunidade_Manager(Conexao);
            Oportunidade_Fields             oOportunidade        = new Oportunidade_Fields();
            Oportunidade_Orcamentos_Manager oOrcamentosManager   = new Oportunidade_Orcamentos_Manager(Conexao);
            Oportunidade_Orcamentos_Fields  oOrcamento           = new Oportunidade_Orcamentos_Fields();

            string[] Parameters         = e.Parameter.Split('|');
            string   ItemText           = string.Empty;
            Int32    CodigoMaster       = 0;
            Int32    CodigoPosto        = 0;
            Int32    CodigoOportunidade = 0;
            Int32    CodigoOrcamento    = 0;

            //*************************************************
            //* O código da agência e da proposta são válidos?
            //*************************************************
            if (Request.QueryString["CMA"] != null && Request.QueryString["CPO"] != null &&
                Request.QueryString["COP"] != null && Request.QueryString["COR"] != null)
            {
                //********************************************
                //* Coleta códigos (master, posto e proposta)
                //********************************************
                CodigoMaster       = Convert.ToInt32("0" + Request.QueryString["CMA"]);
                CodigoPosto        = Convert.ToInt32("0" + Request.QueryString["CPO"]);
                CodigoOportunidade = Convert.ToInt32("0" + Request.QueryString["COP"]);
                CodigoOrcamento    = Convert.ToInt32("0" + Request.QueryString["COR"]);
            }

            //**************************************
            //* Executa atualização da oportunidade
            //**************************************
            oOportunidade = oOportunidadeManager.GetRecord(CodigoOportunidade);
            oOportunidade.cod_situacao = (int)Lists.OptionLists.OportunidadeStuacao.Analise;
            oOportunidadeManager.ApplyRecord(oOportunidade);

            //***********************************
            //* Executa atualização do orçamento
            //***********************************
            oOrcamento.html_resposta    = this.htmResposta.Html;
            oOrcamento.PK_cod_orcamento = CodigoOrcamento;
            if (oOrcamentosManager.UpdateBudgetAnswer(oOrcamento))
            {
                //************************************
                //* Atualiza agendamento do orçamento
                //************************************
                oAgenda.PK_CodApontamento = 0;
                oAgenda.CodCliente        = 0;
                oAgenda.CodOportunidade   = oOportunidade.PK_nro_oportunidade;
                oAgenda.CodOrcamento      = oOrcamento.PK_cod_orcamento;
                oAgenda.CodPromotor       = oOportunidade.cod_promotor;
                oAgenda.Situacao          = (int)Lists.OptionLists.AgendaStatus.Ocupado;
                oAgenda.Tipo        = 0;
                oAgenda.Etiqueta    = (int)Lists.OptionLists.AgendaEtiqueta.Cotacao;
                oAgenda.Assunto     = "Resposta Orçamento N° " + oOrcamento.PK_cod_orcamento + " " + oOrcamento.assunto;
                ItemText            = "Oportunidade N°: " + oOportunidade.PK_nro_oportunidade + "\r\n";
                ItemText           += "Contato Orçamento N°: " + oOrcamento.PK_cod_orcamento + "\r\n";
                ItemText           += "Produto: " + oOrcamento.produto + "\r\n";
                ItemText           += "Solicitante: " + oOportunidade.contato_nome + "\r\n";
                ItemText           += "Telefone: " + oOportunidade.contato_telefone + "\r\n";
                ItemText           += "Email: " + oOportunidade.contato_emails;
                oAgenda.Descricao   = ItemText;
                oAgenda.Local       = "Escritório";
                oAgenda.Recorrencia = string.Empty;
                oAgenda.Despertador = string.Empty;
                oAgenda.Inicio      = DateTime.Now.AddDays(1);
                oAgenda.Fim         = oAgenda.Inicio.Value.AddMinutes(30);
                oAgenda.Dia_Inteiro = false;
                oAgenda.Exportacao  = true;
                oAgendaManager.ApplyBudgetScheduler(oAgenda);

                //**************************
                //* Houve erro na operação?
                //**************************
                if (!oAgendaManager.Error)
                {
                    //*****************
                    //* Não houve erro
                    //*****************
                    e.Result = "Ok";
                }
                else
                {
                    //***************
                    //* Retorna erro
                    //***************
                    e.Result = oAgendaManager.ErrorText;
                }
            }
            else
            {
                //********
                //* Falha
                //********
                e.Result = "Error";
            }
        }