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