コード例 #1
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);
        }
コード例 #2
0
        protected Agenda_Apontamentos_Manager SalvaAgendamentoPrePosViagem(Oportunidade_Fields oOportunidade)
        {
            //**************
            //* 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 da pré-viagem
            //*************************************
            oAgenda.PK_CodApontamento = 0;
            oAgenda.CodOportunidade   = oOportunidade.PK_nro_oportunidade;
            oAgenda.CodOrcamento      = 0;
            oAgenda.CodPromotor       = oOportunidade.cod_promotor;
            oAgenda.Situacao          = (int)Lists.OptionLists.AgendaStatus.Ocupado;
            oAgenda.Tipo        = 0;
            oAgenda.Etiqueta    = (int)Lists.OptionLists.AgendaEtiqueta.Pre_Viagem;
            oAgenda.Assunto     = "Pré-Viagem Oportunidade N° " + oOportunidade.PK_nro_oportunidade;
            ItemText            = "Oportunidade N°: " + oOportunidade.PK_nro_oportunidade + "\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      = Convert.ToDateTime(oOportunidade.data_saida.Value.AddDays(-2).ToString("yyyy-MM-dd") + " 09:00");
            oAgenda.Fim         = oAgenda.Inicio.Value.AddMinutes(30);
            oAgenda.Dia_Inteiro = false;
            oAgenda.Exportacao  = true;
            oAgendaManager.ApplyOpportunityScheduler(oAgenda);
            if (oAgendaManager.Error)
            {
                return(oAgendaManager);
            }

            //*************************************
            //* Atualiza agendamento da pós-viagem
            //*************************************
            oAgenda.PK_CodApontamento = 0;
            oAgenda.CodOportunidade   = oOportunidade.PK_nro_oportunidade;
            oAgenda.CodOrcamento      = 0;
            oAgenda.CodPromotor       = oOportunidade.cod_promotor;
            oAgenda.Situacao          = (int)Lists.OptionLists.AgendaStatus.Ocupado;
            oAgenda.Tipo        = 0;
            oAgenda.Etiqueta    = (int)Lists.OptionLists.AgendaEtiqueta.Pos_Viagem;
            oAgenda.Assunto     = "Pós-Viagem Oportunidade N° " + oOportunidade.PK_nro_oportunidade;
            ItemText            = "Oportunidade N°: " + oOportunidade.PK_nro_oportunidade + "\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      = Convert.ToDateTime(oOportunidade.data_retorno.Value.AddDays(2).ToString("yyyy-MM-dd") + " 09:00");
            oAgenda.Fim         = oAgenda.Inicio.Value.AddMinutes(30);
            oAgenda.Dia_Inteiro = false;
            oAgenda.Exportacao  = true;
            oAgendaManager.ApplyOpportunityScheduler(oAgenda);
            return(oAgendaManager);
        }
コード例 #3
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);
            }
        }
コード例 #4
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");
        }
コード例 #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
        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);
            }
        }
コード例 #7
0
        protected void Page_Init(object sender, EventArgs e)
        {
            //**************
            //* Declarações
            //**************
            Int32 Nro_Oportunidade = 0;

            //*********************************
            //* Tenta obter código do registro
            //*********************************
            if (Request.QueryString["codigo"] == null)
            {
                Nro_Oportunidade = 0;
            }
            else
            {
                Nro_Oportunidade = Convert.ToInt32(Request.QueryString["codigo"]);
            }

            #region "Controle de login"

            //*************************
            //* Obtem dados de conexão
            //*************************
            if (Session["Decision_LoginInfo"] != null)
            {
                oLogin = (Login_Manager)Session["Decision_LoginInfo"];
            }
            else
            {
                oLogin.LogOff();
            }

            //***************
            //* Sem conexão?
            //***************
            if (oLogin.LoginInfo.Usuario_Codigo == 0)
            {
                //**********************************************************
                //* Evita falha de redirecionamento quando em CallBack Mode
                //**********************************************************
                if (!Page.IsCallback)
                {
                    Response.Redirect("conectar.aspx", false);
                }
                else
                {
                    ASPxWebControl.RedirectOnCallback("conectar.aspx");
                }
            }

            #endregion

            #region "Controle de segurança"

            //****************************************************
            //* Incializa segurança e verifica pemissão de acesso
            //****************************************************
            oSecurity.InitializeSecurity(oLogin);
            if (!oSecurity.IsActive(oLogin, (int)OptionLists.Seguranca.Cadastro_Oportunidade))
            {
                //**********************************************************
                //* Evita falha de redirecionamento quando em CallBack Mode
                //**********************************************************
                if (!Page.IsCallback)
                {
                    Response.Redirect("~/abertura.aspx", false);
                }
                else
                {
                    ASPxWebControl.RedirectOnCallback("~/abertura.aspx");
                }
            }

            //*************************************************
            //* Define acesso à inclusão, alteração e exclusão
            //*************************************************
            if (oSecurity.CanDelete(oLogin, (int)OptionLists.Seguranca.Cadastro_Oportunidade))
            {
                Security_Delete = true;
            }

            //*********************************
            //* Possui permissão para excluir?
            //*********************************
            if (!Security_Delete)
            {
                //**********************************************************
                //* Evita falha de redirecionamento quando em CallBack Mode
                //**********************************************************
                if (!Page.IsCallback)
                {
                    Response.Redirect("~/abertura.aspx", false);
                }
                else
                {
                    ASPxWebControl.RedirectOnCallback("~/abertura.aspx");
                }
            }

            #endregion

            //*********************************
            //* Obteve número da oportunidade?
            //*********************************
            if (Nro_Oportunidade != 0)
            {
                //*******************
                //* Executa exclusão
                //*******************
                Oportunidade_Manager oManager      = new Oportunidade_Manager(oLogin.LoginInfo.Master_ConexaoString);
                Oportunidade_Fields  oOportunidade = new Oportunidade_Fields();
                oOportunidade.PK_nro_oportunidade = Nro_Oportunidade;
                oManager.DeleteRecord(oOportunidade);

                //**********************************************************
                //* Evita falha de redirecionamento quando em CallBack Mode
                //**********************************************************
                if (!Page.IsCallback)
                {
                    Response.Redirect("~/oportunidades.aspx", false);
                }
                else
                {
                    ASPxWebControl.RedirectOnCallback("~/oportunidades.aspx");
                }
            }
        }
コード例 #8
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();

            #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);
            }

            #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.lblNovoContato.Text  = "Faremos contato em breve.";
                    if (oOportunidade.proximo_contato != null)
                    {
                        if (oOportunidade.proximo_contato > DateTime.Now)
                        {
                            //********************************************
                            //* Converte formato da data e altera retorno
                            //********************************************
                            DateTime Contato = (DateTime)oOportunidade.data_retorno;
                            this.lblNovoContato.Text = "Faremos contato até " + Contato.ToString("dd/MM/yyyy") + ".";
                        }
                    }
                }
            }

            #endregion
        }
コード例 #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);
        }
コード例 #10
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";
            }
        }
コード例 #11
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
        }