예제 #1
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);
            }
        }
예제 #2
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;
                }
            }
        }
예제 #3
0
        protected Agenda_Apontamentos_Manager SalvaAgendamentoOrcamento(Oportunidade_Fields oOportunidade, Oportunidade_Orcamentos_Fields oOrcamento)
        {
            //**************
            //* Declarações
            //**************
            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;

            //************************************
            //* 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     = "Contato 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      = oOrcamento.proximo_contato;
            oAgenda.Fim         = oOrcamento.proximo_contato.Value.AddMinutes(30);
            oAgenda.Dia_Inteiro = false;
            oAgenda.Exportacao  = true;
            oAgendaManager.ApplyBudgetScheduler(oAgenda);
            return(oAgendaManager);
        }
예제 #4
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);
            }
        }
예제 #5
0
        protected void PopulaJSON(Int32 Nro_Oportunidade)
        {
            //**************
            //* Declarações
            //**************
            Int32 COrcamento = 0;

            //*****************
            //* Dados de login
            //*****************
            Login_Manager oLogin = new Login_Manager();

            oLogin = (Login_Manager)Session["Decision_LoginInfo"];

            //***************
            //* Oportunidade
            //***************
            Oportunidade_Fields  oOportunidade = new Oportunidade_Fields();
            Oportunidade_Manager oManagerOportunidade;

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

            //************
            //* Orçamento
            //************
            List <Oportunidade_Orcamentos_Fields> oOrcamentos = new List <Oportunidade_Orcamentos_Fields>();
            Oportunidade_Orcamentos_Manager       oManagerOrcamentos;

            oManagerOrcamentos = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"]));

            //********************
            //* Parâmetros comuns
            //********************
            oJSON.parametros.Add("CodigoMaster", "0" + oLogin.LoginInfo.Master_Codigo.ToString());
            oJSON.parametros.Add("CodigoPosto", "0" + oLogin.LoginInfo.Posto_Codigo.ToString());
            oJSON.parametros.Add("CodigoOportunidade", "0" + Nro_Oportunidade);
            oJSON.parametros.Add("CodigoOrcamento", "0");
            oJSON.parametros.Add("CodigoOrcamentoAceito", "0");
            oJSON.parametros.Add("IndiceOrcamento", "-1");
            oJSON.parametros.Add("Temporario", "");
            oJSON.parametros.Add("Funcao", "");
            oJSON.operacao = "Popular";

            //*********************************
            //* Obtém registro da oportunidade
            //*********************************
            oOportunidade      = oManagerOportunidade.GetRecord(Nro_Oportunidade);
            oJSON.oportunidade = oOportunidade;

            //******************************************
            //* Obtém coleção de registros de orçamento
            //******************************************
            oOrcamentos = oManagerOrcamentos.GetRecords(Nro_Oportunidade);

            //******************************
            //* Gera cópia em formato array
            //******************************
            Oportunidade_Orcamentos_Fields[] oOrcamentosTemp = new Oportunidade_Orcamentos_Fields[0];
            Array.Resize <Oportunidade_Orcamentos_Fields>(ref oOrcamentosTemp, oOrcamentos.Count);
            foreach (Oportunidade_Orcamentos_Fields oOrcamento in oOrcamentos)
            {
                oOrcamentosTemp[COrcamento] = oOrcamento;
                if (oOrcamento.estagio_orcamento == (int)Lists.OptionLists.OrcamentoEstagio.Aceito)
                {
                    //**************************
                    //* Define orçamento aceito
                    //**************************
                    oJSON.parametros["CodigoOrcamento"] = oOrcamento.PK_cod_orcamento.ToString();
                    oJSON.parametros["IndiceOrcamento"] = COrcamento.ToString();
                }
                COrcamento++;
            }

            //******************************
            //* Retorna array de orçamentos
            //******************************
            oJSON.orcamentos = oOrcamentosTemp;

            //**************************************
            //* Deve atualizar código do orçamento?
            //**************************************
            if (oJSON.parametros["CodigoOrcamento"] == "0" && oOrcamentos.Count > 0)
            {
                oJSON.parametros["CodigoOrcamento"] = oOrcamentos[0].PK_cod_orcamento.ToString();
                oJSON.parametros["IndiceOrcamento"] = "0";
            }

            //**************************
            //* Deve sugerir atendente?
            //**************************
            if (Nro_Oportunidade == 0)
            {
                oJSON.oportunidade.cod_promotor = oLogin.LoginInfo.Usuario_CodigoPromotor;
            }
        }
예제 #6
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);
        }
예제 #7
0
        protected void Page_Init(object sender, EventArgs e)
        {
            #region "Inicialização"

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

            //********************
            //* Declara variáveis
            //********************
            Oportunidade_Manager            oOportunidadeManager;
            Oportunidade_Fields             oOportunidade = new Oportunidade_Fields();
            Oportunidade_Orcamentos_Manager oOrcamentoManager;
            Oportunidade_Orcamentos_Fields  oOrcamento = new Oportunidade_Orcamentos_Fields();

            #endregion

            #region "Conexao"

            //*************************************************
            //* 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"]);
                this.txtCodigoMaster.Value = txtCodigoMaster.ToString();

                CodigoPosto = Convert.ToInt32("0" + Request.QueryString["CPO"]);
                this.txtCodigoPosto.Value = txtCodigoPosto.ToString();

                CodigoOportunidade = Convert.ToInt32("0" + Request.QueryString["COP"]);
                this.txtCodigoOportunidade.Value = txtCodigoOportunidade.ToString();

                CodigoOrcamento = Convert.ToInt32("0" + Request.QueryString["COR"]);
                this.txtCodigoOrcamento.Value = txtCodigoOrcamento.ToString();

                //***************
                //* Captura HTML
                //***************
                URL  = HTML_Base + "/oportunidades_orcamento_email.aspx";
                URL += "?CMA=" + CodigoMaster;
                URL += "&CPO=" + CodigoPosto;
                URL += "&COP=" + CodigoOportunidade;
                URL += "&COR=" + CodigoOrcamento;

                //**************************
                //* Obtém string de conexão
                //**************************
                Conexao = DBConnection.GetConnectionFromMaster(CodigoMaster);
            }

            #endregion

            #region "Dados da agência"

            //***************************
            //* A nova conexão é válida?
            //***************************
            if (Conexao.IndexOf("Error") == -1)
            {
                //********************************************************
                //* Inicia gerenciador da tabela posto com a nova conexão
                //********************************************************
                Posto_Manager oPostoManager = new Posto_Manager(Conexao);
                Posto_Fields  oPosto        = new Posto_Fields();

                //***********************
                //* Obtém dados do posto
                //***********************
                oPosto = oPostoManager.Get_Posto(CodigoPosto);

                //*********************
                //* Executou sem erro?
                //*********************
                if (!oPostoManager.Error)
                {
                    //**************************
                    //* Popula dados da agência
                    //**************************
                    this.lblNomePosto.Text = oPosto.NomePosto;
                    if (this.lblNomePosto.Text != "" && oPosto.DescPosto != "")
                    {
                        this.lblNomePosto.Text += " (" + oPosto.DescPosto + ")";
                    }

                    this.lblEndereco.Text = oPosto.End;
                    if (this.lblEndereco.Text != "" && oPosto._NomeCidade != "")
                    {
                        this.lblEndereco.Text += " - " + oPosto._NomeCidade;
                    }
                    else
                    {
                        this.lblEndereco.Text += oPosto._NomeCidade;
                    }

                    if (this.lblEndereco.Text != "" && oPosto._UF != "")
                    {
                        this.lblEndereco.Text += " - " + oPosto._UF;
                    }
                    else
                    {
                        this.lblEndereco.Text += oPosto._UF;
                    }

                    if (this.lblEndereco.Text != "" && oPosto.CEP != "")
                    {
                        this.lblEndereco.Text += " - " + oPosto.CEP;
                    }
                    else
                    {
                        this.lblEndereco.Text += oPosto.CEP;
                    }

                    if (oPosto.HTTP != "")
                    {
                        this.lblContato.Text = "Internet: " + oPosto.HTTP;
                    }

                    if (this.lblContato.Text != "" && oPosto.EMail != "")
                    {
                        this.lblContato.Text += "\nE-mail: " + oPosto.EMail;
                    }
                    else
                    {
                        this.lblContato.Text += "E-mail: " + oPosto.EMail;
                    }

                    if (this.lblContato.Text != "" && oPosto.Fone1 != "")
                    {
                        this.lblContato.Text += "\nFone: " + oPosto.Fone1;
                    }
                    else
                    {
                        this.lblContato.Text += "Fone: " + oPosto.Fone1;
                    }

                    if (this.lblContato.Text != "" && oPosto.Fone2 != "")
                    {
                        this.lblContato.Text += " / " + oPosto.Fone2;
                    }
                    else
                    {
                        this.lblContato.Text += oPosto.Fone2;
                    }
                }
            }

            #endregion

            #region "Dados da oportunidade"

            //***************************
            //* A nova conexão é válida?
            //***************************
            if (Conexao.IndexOf("Error") == -1)
            {
                //*******************************
                //* Inicializa string de conexão
                //*******************************
                oOportunidadeManager = new Oportunidade_Manager(Conexao);

                //******************************
                //* Obtém dados da oportunidade
                //******************************
                oOportunidade = oOportunidadeManager.GetRecord(CodigoOportunidade);

                //****************************
                //* Encontrou a oportunidade?
                //****************************
                if (oOportunidade.PK_nro_oportunidade != 0)
                {
                    //**********************
                    //* Número do orçamento
                    //**********************
                    this.lblNroOrcamento.Text  = "Oportunidade Nº " + oOportunidade.PK_nro_oportunidade + " - ";
                    this.lblNroOrcamento.Text += "Orçamento Nº " + oOrcamento.PK_cod_orcamento;
                }
            }

            #endregion

            #region "Dados da orçamento"

            //***************************
            //* A nova conexão é válida?
            //***************************
            if (Conexao.IndexOf("Error") == -1)
            {
                //*******************************
                //* Inicializa string de conexão
                //*******************************
                oOrcamentoManager = new Oportunidade_Orcamentos_Manager(Conexao);

                //***************************
                //* Obtém dados da orçamento
                //***************************
                oOrcamento = oOrcamentoManager.GetRecord(CodigoOrcamento);

                //****************************
                //* Encontrou a oportunidade?
                //****************************
                if (oOportunidade.PK_nro_oportunidade != 0)
                {
                    //**********************
                    //* Número do orçamento
                    //**********************
                    this.lblNroOrcamento.Text  = "Oportunidade Nº " + oOportunidade.PK_nro_oportunidade + " - ";
                    this.lblNroOrcamento.Text += "Orçamento Nº " + oOrcamento.PK_cod_orcamento;
                }
            }

            #endregion
        }
예제 #8
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";
            }
        }
예제 #9
0
        protected void Page_Init(object sender, EventArgs e)
        {
            #region "Inicialização"

            //********************
            //* Declara variáveis
            //********************
            Oportunidade_Orcamentos_Manager oOrcamentosManager;
            Oportunidade_Manager            oOportunidadeManager;
            Oportunidade_Orcamentos_Fields  oOrcamento    = new Oportunidade_Orcamentos_Fields();
            Oportunidade_Fields             oOportunidade = new Oportunidade_Fields();
            ASPxSpinEdit oSpin              = new ASPxSpinEdit();
            ASPxComboBox oCombo             = new ASPxComboBox();
            ASPxDateEdit oData              = new ASPxDateEdit();
            ASPxTextBox  oText              = new ASPxTextBox();
            ASPxMemo     oMemo              = new ASPxMemo();
            ASPxButton   oButton            = new ASPxButton();
            Int32        CodigoMaster       = 0;
            Int32        CodigoPosto        = 0;
            Int32        CodigoOportunidade = 0;
            Int32        CodigoOrcamento    = 0;

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

            #endregion

            #region "Conexao"

            //*************************************************
            //* 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"]);
                this.txtCodigoMaster.Value = txtCodigoMaster.ToString();

                CodigoPosto = Convert.ToInt32("0" + Request.QueryString["CPO"]);
                this.txtCodigoPosto.Value = txtCodigoPosto.ToString();

                CodigoOportunidade = Convert.ToInt32("0" + Request.QueryString["COP"]);
                this.txtCodigoOportunidade.Value = txtCodigoOportunidade.ToString();

                CodigoOrcamento = Convert.ToInt32("0" + Request.QueryString["COR"]);
                this.txtCodigoOrcamento.Value = txtCodigoOrcamento.ToString();

                //**************************
                //* Obtém string de conexão
                //**************************
                Conexao = DBConnection.GetConnectionFromMaster(CodigoMaster);
            }
            else
            {
                //********************************
                //* Rediciona para página de erro
                //********************************
                Response.Redirect("http://www.presser.com.br", false);
            }

            #endregion

            #region "Dados da agência"

            //***************************
            //* A nova conexão é válida?
            //***************************
            if (Conexao.IndexOf("Error") == -1)
            {
                //********************************************************
                //* Inicia gerenciador da tabela posto com a nova conexão
                //********************************************************
                Posto_Manager oPostoManager = new Posto_Manager(Conexao);
                Posto_Fields  oPosto        = new Posto_Fields();

                //****************************
                //* Exibe logotipo da agência
                //****************************
                imgLogotipo.Value = oPostoManager.GetPicture(CodigoPosto);

                //***********************
                //* Obtém dados do posto
                //***********************
                oPosto = oPostoManager.Get_Posto(CodigoPosto);

                //*********************
                //* Executou sem erro?
                //*********************
                if (!oPostoManager.Error)
                {
                    //**************************
                    //* Popula dados da agência
                    //**************************
                    this.lblNomePosto.Text = oPosto.NomePosto;
                    if (this.lblNomePosto.Text != "" && oPosto.DescPosto != "")
                    {
                        this.lblNomePosto.Text += " (" + oPosto.DescPosto + ")";
                    }

                    this.lblEndereco.Text = oPosto.End;
                    if (this.lblEndereco.Text != "" && oPosto._NomeCidade != "")
                    {
                        this.lblEndereco.Text += " - " + oPosto._NomeCidade;
                    }
                    else
                    {
                        this.lblEndereco.Text += oPosto._NomeCidade;
                    }

                    if (this.lblEndereco.Text != "" && oPosto._UF != "")
                    {
                        this.lblEndereco.Text += " - " + oPosto._UF;
                    }
                    else
                    {
                        this.lblEndereco.Text += oPosto._UF;
                    }

                    if (this.lblEndereco.Text != "" && oPosto.CEP != "")
                    {
                        this.lblEndereco.Text += " - " + oPosto.CEP;
                    }
                    else
                    {
                        this.lblEndereco.Text += oPosto.CEP;
                    }

                    if (oPosto.HTTP != "")
                    {
                        this.lblContato.Text = "Internet: " + oPosto.HTTP;
                    }

                    if (this.lblContato.Text != "" && oPosto.EMail != "")
                    {
                        this.lblContato.Text += "\nE-mail: " + oPosto.EMail;
                    }
                    else
                    {
                        this.lblContato.Text += "E-mail: " + oPosto.EMail;
                    }

                    if (this.lblContato.Text != "" && oPosto.Fone1 != "")
                    {
                        this.lblContato.Text += "\nFone: " + oPosto.Fone1;
                    }
                    else
                    {
                        this.lblContato.Text += "Fone: " + oPosto.Fone1;
                    }

                    if (this.lblContato.Text != "" && oPosto.Fone2 != "")
                    {
                        this.lblContato.Text += " / " + oPosto.Fone2;
                    }
                    else
                    {
                        this.lblContato.Text += oPosto.Fone2;
                    }
                }
            }

            #endregion

            #region "Dados da oportunidade"

            //***************************
            //* A nova conexão é válida?
            //***************************
            if (Conexao.IndexOf("Error") == -1)
            {
                //*******************************
                //* Inicializa string de conexão
                //*******************************
                oOportunidadeManager = new Oportunidade_Manager(Conexao);

                //******************************
                //* Obtém dados da oportunidade
                //******************************
                oOportunidade = oOportunidadeManager.GetRecord(CodigoOportunidade);

                //****************************
                //* Encontrou a oportunidade?
                //****************************
                if (oOportunidade.PK_nro_oportunidade != 0)
                {
                    //*********************************
                    //* Obtém registro e popula campos
                    //*********************************
                    oText      = this.layAbertura.FindControl("txtDestino") as ASPxTextBox;
                    oText.Text = oOportunidade.destino;

                    oData       = this.layAbertura.FindControl("dteSaida") as ASPxDateEdit;
                    oData.Value = oOportunidade.data_saida;

                    oData       = this.layAbertura.FindControl("dteRetorno") as ASPxDateEdit;
                    oData.Value = oOportunidade.data_retorno;

                    oText       = this.layAbertura.FindControl("txtAdultos") as ASPxTextBox;
                    oText.Value = oOportunidade.quantidade_adultos;

                    oText       = this.layAbertura.FindControl("txtCriancas") as ASPxTextBox;
                    oText.Value = oOportunidade.quantidade_criancas;

                    oMemo      = this.layAbertura.FindControl("memDescricao") as ASPxMemo;
                    oMemo.Text = oOportunidade.descricao;

                    //******************************
                    //* O orçamento está encerrado?
                    //******************************
                    if (oOrcamento.estagio_orcamento == (int)Lists.OptionLists.OrcamentoEstagio.Aceito)
                    {
                        //*************************************************
                        //* Apresenta grupo de informações de encerramento
                        //*************************************************
                        this.layEncerramento.Visible = true;

                        //************************************
                        //* Exibe informações de encerramento
                        //************************************
                        oSpin       = this.layEncerramento.FindControl("txtValorEncerramento") as ASPxSpinEdit;
                        oSpin.Value = oOportunidade.valor_fechado;

                        oData       = this.layEncerramento.FindControl("dteEncerramento") as ASPxDateEdit;
                        oData.Value = oOportunidade.data_encerramento;
                    }
                    else
                    {
                        //**********************************************
                        //* Oculta grupo de informações de encerramento
                        //**********************************************
                        this.layEncerramento.Visible = false;
                    }
                }
            }

            #endregion

            #region "Dados do orçamento"

            //*******************************
            //* Inicializa string de conexão
            //*******************************
            oOrcamentosManager = new Oportunidade_Orcamentos_Manager(Conexao);

            //***************************
            //* A nova conexão é válida?
            //***************************
            if (Conexao.IndexOf("Error") == -1)
            {
                //***************************
                //* Obtém dados do orçamento
                //***************************
                oOrcamento = oOrcamentosManager.GetRecord(CodigoOrcamento);

                //*********************************
                //* Obtém registro e popula campos
                //*********************************
                oText      = this.layAbertura.FindControl("txtProduto") as ASPxTextBox;
                oText.Text = oOrcamento.produto;

                oText      = this.layAbertura.FindControl("txtAssunto") as ASPxTextBox;
                oText.Text = oOrcamento.assunto;

                oSpin       = this.layAbertura.FindControl("txtValorOrcamento") as ASPxSpinEdit;
                oSpin.Value = oOrcamento.valor;

                //******************************
                //* O orçamento foi localizado?
                //******************************
                if (oOrcamento.PK_cod_orcamento != 0)
                {
                    //**********************
                    //* Número do orçamento
                    //**********************
                    this.lblNroOrcamento.Text   = "Oportunidade Nº " + oOrcamento.nro_oportunidade + " - ";
                    this.lblNroOrcamento.Text  += "Orçamento Nº " + oOrcamento.PK_cod_orcamento.ToString();
                    this.divOrcamento.InnerHtml = oOrcamento.html_orcamento;
                    this.htmResposta.Html       = oOrcamento.html_resposta;
                }
            }

            #endregion
        }