Example #1
0
        protected Oportunidade_JSON EnviaOrcamentosAceitos(Oportunidade_JSON oJSON)
        {
            //**************
            //* Declarações
            //**************
            SendEmail oMail = new SendEmail();

            //***************
            //* Efetua envio
            //***************
            try
            {
                //**************************
                //* Envia e retorna sucesso
                //**************************
                oJSON = oMail.EnviaOrcamentosAceitos(oJSON);
            }
            catch (Exception oException)
            {
                //*************************
                //* Retorna falha de envio
                //*************************
                oJSON.error = "Erro ao enviar mensagem: " + oException.Message;
            }

            //*****************************
            //* Retorna status da operação
            //*****************************
            return(oJSON);
        }
Example #2
0
        protected void SalvaComentarioInterno(Oportunidade_JSON oJSON)
        {
            //**************
            //* Declarações
            //**************
            Oportunidade_Orcamentos_Manager oOrcamentosManager;

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

            Int32 IndiceOrcamento = Convert.ToInt32(oJSON.parametros["IndiceOrcamento"]);

            //****************
            //* Associa dados
            //****************
            oOrcamento = oJSON.orcamentos[IndiceOrcamento];

            //********************
            //* Atualiza registro
            //********************
            if (oOrcamento.PK_cod_orcamento != 0)
            {
                oOrcamentosManager.UpdateInternalNotes(oOrcamento);
            }
        }
Example #3
0
        public Oportunidade_JSON EnviaBoasVindas(Oportunidade_JSON oJSON)
        {
            //**********************************
            //* Obtem base de carregamento HTML
            //**********************************
            string HTML_Base = Properties.Settings.Default.html_base;

            //***************
            //* Captura HTML
            //***************
            oHTTPClient.Encoding = System.Text.Encoding.UTF8;
            string URL = "/oportunidades_boasvindas_email.aspx";

            URL += "?CMA=" + oJSON.parametros["CodigoMaster"];
            URL += "&CPO=" + oJSON.parametros["CodigoPosto"];
            URL += "&COP=" + oJSON.parametros["CodigoOportunidade"];
            URL += "&COR=0";
            string Html = oHTTPClient.DownloadString(HTML_Base + URL);

            //************************
            //* Define dados de envio
            //************************
            oMailMessage.To.Add(oJSON.oportunidade.contato_emails.MultiSeparator2Comma());
            oMailMessage.Subject      = "Bem Vindo à " + oLogin.LoginInfo.Posto_Nome.ToUpper() + " - Solicitação de Proposta Recebida";
            oMailMessage.IsBodyHtml   = true;
            oMailMessage.BodyEncoding = System.Text.Encoding.UTF8;
            oMailMessage.Body         = Html;

            //***************
            //* Efetua envio
            //***************
            try
            {
                //**************************
                //* Envia e retorna sucesso
                //**************************
                oSmtpClient.Send(oMailMessage);
                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);
        }
Example #4
0
        protected string ExcluiOrcamento(Oportunidade_JSON oJSON)
        {
            //********************
            //* Declara variáveis
            //********************
            Oportunidade_Orcamentos_Manager oManager;

            oManager = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"]));
            Int32 CodigoOrcamento = Convert.ToInt32(oJSON.parametros["CodigoOrcamento"]);

            //****************************
            //* Informa chave do registro
            //****************************
            if (oManager.DeleteRecord(CodigoOrcamento))
            {
                //**************
                //* Anula erros
                //**************
                oJSON.error = string.Empty;
            }
            else
            {
                //*****************************
                //* Retorna status da operação
                //*****************************
                oJSON.error = "Error ao excluir o orçamento " + CodigoOrcamento + ":" + oManager.ErrorText;
                if (!oManager.Error)
                {
                    oJSON.parametros["IndiceOrcamento"] = "0";
                    oJSON.error = "";
                    return("Ok");
                }
                else
                {
                    oJSON.error = oManager.ErrorText;
                    return(oManager.ErrorText);
                }
            }

            //*******************************************
            //* Retorna novo ítem da lista de orçamentos
            //*******************************************
            return(new JavaScriptSerializer().Serialize(oJSON));
        }
Example #5
0
        protected void clbAtualizar_Callback(object source, DevExpress.Web.CallbackEventArgs e)
        {
            //**********************************
            //* É uma chamada de inicializãção?
            //**********************************
            if (e.Parameter == string.Empty)
            {
                //**************
                //* Declarações
                //**************
                Int32 Nro_Oportunidade = 0;

                //***************************
                //* Edição ou novo registro?
                //***************************
                if (Request.QueryString["codigo"] == null)
                {
                    Nro_Oportunidade = 0;
                }
                else
                {
                    Nro_Oportunidade = Convert.ToInt32(Request.QueryString["codigo"]);
                }

                //******************************
                //* Popula dados no objeto JSON
                //******************************
                PopulaJSON(Nro_Oportunidade);

                //*******************************
                //* Devolve estrutura JSON vazia
                //*******************************
                e.Result = new JavaScriptSerializer().Serialize(oJSON);
            }
            else
            {
                //*************************
                //* Deserializa requisição
                //*************************
                JavaScriptSerializer oSerializer = new JavaScriptSerializer();
                oJSON = oSerializer.Deserialize <Oportunidade_JSON>(e.Parameter);

                //******************************
                //* Executa operação solicitada
                //******************************
                switch (oJSON.operacao)
                {
                case "Salvar_Etapa1":

                    //*************************************
                    //* Coleta código da nova oportunidade
                    //*************************************
                    SalvaEtapa1(oJSON);

                    //*************************
                    //* Devolve estrutura JSON
                    //*************************
                    e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    break;

                case "Salvar_Etapa2":

                    //**********************************
                    //* Coleta código do novo orçamento
                    //**********************************
                    SalvaEtapa2(oJSON);

                    //*************************
                    //* Devolve estrutura JSON
                    //*************************
                    e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    break;

                case "Salvar_Etapa3":

                    //********************************
                    //* Atualiza dados da etapa final
                    //********************************
                    SalvaEtapa3(oJSON);

                    //*************************
                    //* Devolve estrutura JSON
                    //*************************
                    e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    break;

                case "Excluir_Orcamento":

                    //**********************************
                    //* Coleta código do novo orçamento
                    //**********************************
                    ExcluiOrcamento(oJSON);

                    //*************************
                    //* Devolve estrutura JSON
                    //*************************
                    e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    break;

                case "Enviar_Boas_Vindas":

                    //**********************************
                    //* Coleta código do novo orçamento
                    //**********************************
                    if (oJSON.oportunidade.PK_nro_oportunidade != 0)
                    {
                        //*****************
                        //* Obtem resposta
                        //*****************
                        oJSON = EnviaBoasVindas(oJSON);

                        //*************************
                        //* Devolve estrutura JSON
                        //*************************
                        e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    }
                    break;

                case "Enviar_Orcamento":

                    //**********************************
                    //* Coleta código do novo orçamento
                    //**********************************
                    if (oJSON.orcamentos[0].PK_cod_orcamento != 0)
                    {
                        //*****************
                        //* Obtem resposta
                        //*****************
                        oJSON = EnviaOrcamento(oJSON);

                        //*************************
                        //* Devolve estrutura JSON
                        //*************************
                        e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    }
                    break;

                case "Enviar_Orcamentos_Aceitos":

                    //**********************************
                    //* Coleta código do novo orçamento
                    //**********************************
                    if (oJSON.orcamentos[0].PK_cod_orcamento != 0)
                    {
                        //*****************
                        //* Obtem resposta
                        //*****************
                        oJSON = EnviaOrcamentosAceitos(oJSON);

                        //*************************
                        //* Devolve estrutura JSON
                        //*************************
                        e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    }
                    break;

                case "Coletar_Resposta":

                    //**************
                    //* Declarações
                    //**************
                    Oportunidade_Orcamentos_Manager oManager;
                    oManager = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"]));
                    Oportunidade_Orcamentos_Fields oOrcamento = new Oportunidade_Orcamentos_Fields();
                    Int32 IndiceOrcamento = 0;
                    Int32 CodOrcamento    = 0;

                    //*********************************
                    //* Obtem dados do orçamento atual
                    //*********************************
                    CodOrcamento = Convert.ToInt32(oJSON.parametros["CodigoOrcamento"]);
                    oOrcamento   = oManager.GetRecord(CodOrcamento);

                    //*******************************
                    //* Foi possível obter os dados?
                    //*******************************
                    if (!oManager.Error && oOrcamento.PK_cod_orcamento != 0)
                    {
                        //***********************
                        //* O cliente respondeu?
                        //***********************
                        if (oOrcamento.html_resposta != string.Empty)
                        {
                            //********************************
                            //* Desfaz pendência do orçamento
                            //********************************
                            oOrcamento.pendencia = false;
                            oManager.ApplyRecord(oOrcamento);

                            //*******************************
                            //* Devolve orçamento atualizado
                            //*******************************
                            for (IndiceOrcamento = 0; IndiceOrcamento < oJSON.orcamentos.Length; IndiceOrcamento++)
                            {
                                if (oJSON.orcamentos[IndiceOrcamento].PK_cod_orcamento == oOrcamento.PK_cod_orcamento)
                                {
                                    oJSON.orcamentos[IndiceOrcamento] = oOrcamento;
                                }
                            }
                        }
                    }

                    //*************************
                    //* Devolve estrutura JSON
                    //*************************
                    e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    break;

                case "Salvar_Comentario_Interno":

                    //********************************
                    //* Atualiza dados da etapa final
                    //********************************
                    SalvaComentarioInterno(oJSON);

                    //*************************
                    //* Devolve estrutura JSON
                    //*************************
                    e.Result = new JavaScriptSerializer().Serialize(oJSON);
                    break;
                }
            }
        }
Example #6
0
        protected string SalvaEtapa3(Oportunidade_JSON oJSON)
        {
            //**************
            //* Declarações
            //**************
            Oportunidade_Manager oManagerOportunidades;

            oManagerOportunidades = new Oportunidade_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"]));

            Oportunidade_Fields oOportunidade = new Oportunidade_Fields();

            Agenda_Apontamentos_Manager oAgendaManager;

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

            //*****************************************************
            //* Atualiza dados do orçamento aceito na oportunidade
            //*****************************************************
            oManagerOportunidades.UpdateClosing(oOportunidade);

            //**************************
            //* Houve erro no processo?
            //**************************
            if (oManagerOportunidades.Error)
            {
                //***********************************
                //* Finaliza processo se houver erro
                //***********************************
                oJSON.error = oManagerOportunidades.ErrorText;
                return(oManagerOportunidades.ErrorText);
            }

            //*******************************
            //* 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 + "|" + oManagerOportunidades.ErrorText);
                }
            }

            //*****************
            //* Não houve erro
            //*****************
            oJSON.error = "";
            return("Ok");
        }
Example #7
0
        protected string SalvaEtapa2(Oportunidade_JSON oJSON)
        {
            //**************
            //* Declarações
            //**************
            Oportunidade_Manager oOportunidadeManager;

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

            Oportunidade_Orcamentos_Manager oOrcamentosManager;

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

            Agenda_Apontamentos_Manager oAgendaManager;

            Int32 IndiceOrcamento = Convert.ToInt32(oJSON.parametros["IndiceOrcamento"]);

            //****************
            //* Associa dados
            //****************
            oOportunidade = oJSON.oportunidade;
            oOrcamento    = oJSON.orcamentos[IndiceOrcamento];

            //*********************************************
            //* Deve converter a situação da oportunidade?
            //*********************************************
            oOportunidade.PK_nro_oportunidade = oJSON.oportunidade.PK_nro_oportunidade;
            if (oOportunidade.cod_situacao == (int)Lists.OptionLists.OportunidadeStuacao.Qualificacao)
            {
                oOportunidade.cod_situacao      = (int)Lists.OptionLists.OportunidadeStuacao.Analise;
                oJSON.oportunidade.cod_situacao = oOportunidade.cod_situacao;
            }

            //************************
            //* Atualiza oportunidade
            //************************
            oOportunidadeManager.UpdateStage2(oOportunidade);

            //********************
            //* Atualiza registro
            //********************
            if (oOrcamento.PK_cod_orcamento == 0)
            {
                oOrcamento.PK_cod_orcamento = oOrcamentosManager.ApplyRecord(oOrcamento);
                oJSON.orcamentos[IndiceOrcamento].PK_cod_orcamento = oOrcamento.PK_cod_orcamento;
                oJSON.orcamentos[IndiceOrcamento].nro_oportunidade = oJSON.oportunidade.PK_nro_oportunidade;
                oJSON.parametros["CodigoOrcamento"] = oOrcamento.PK_cod_orcamento.ToString();
                oJSON.parametros["IndiceOrcamento"] = "0";
            }
            else
            {
                //********************
                //* Executa alteração
                //********************
                oOrcamentosManager.ApplyRecord(oOrcamento);
            }

            //*****************************
            //* Retorna status da operação
            //*****************************
            if (!oOportunidadeManager.Error && !oOrcamentosManager.Error)
            {
                //*********************************
                //* Salva agendamento de orçamento
                //*********************************
                oAgendaManager = SalvaAgendamentoOrcamento(oOportunidade, oOrcamento);

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

                //*******************************
                //* 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 + "|" + oOrcamentosManager.ErrorText);
                    }
                }

                //*****************
                //* Não houve erro
                //*****************
                oJSON.error = "";
                return("Ok");
            }
            else
            {
                //***************
                //* Retorna erro
                //***************
                oJSON.error = oOportunidadeManager.ErrorText + " | " + oOrcamentosManager.ErrorText;
                return(oOportunidadeManager.ErrorText + "|" + oOrcamentosManager.ErrorText);
            }
        }
Example #8
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);
            }
        }
Example #9
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);
        }