protected void SalvaComentarioInterno(Oportunidade_JSON oJSON) { //************** //* Declarações //************** Oportunidade_Orcamentos_Manager oOrcamentosManager; oOrcamentosManager = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"])); Oportunidade_Orcamentos_Fields oOrcamento = new Oportunidade_Orcamentos_Fields(); Int32 IndiceOrcamento = Convert.ToInt32(oJSON.parametros["IndiceOrcamento"]); //**************** //* Associa dados //**************** oOrcamento = oJSON.orcamentos[IndiceOrcamento]; //******************** //* Atualiza registro //******************** if (oOrcamento.PK_cod_orcamento != 0) { oOrcamentosManager.UpdateInternalNotes(oOrcamento); } }
protected void clbAtualizar_Callback(object source, DevExpress.Web.CallbackEventArgs e) { //********************************** //* É uma chamada de inicializãção? //********************************** if (e.Parameter == string.Empty) { //************** //* Declarações //************** Int32 Nro_Oportunidade = 0; //*************************** //* Edição ou novo registro? //*************************** if (Request.QueryString["codigo"] == null) { Nro_Oportunidade = 0; } else { Nro_Oportunidade = Convert.ToInt32(Request.QueryString["codigo"]); } //****************************** //* Popula dados no objeto JSON //****************************** PopulaJSON(Nro_Oportunidade); //******************************* //* Devolve estrutura JSON vazia //******************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); } else { //************************* //* Deserializa requisição //************************* JavaScriptSerializer oSerializer = new JavaScriptSerializer(); oJSON = oSerializer.Deserialize <Oportunidade_JSON>(e.Parameter); //****************************** //* Executa operação solicitada //****************************** switch (oJSON.operacao) { case "Salvar_Etapa1": //************************************* //* Coleta código da nova oportunidade //************************************* SalvaEtapa1(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); break; case "Salvar_Etapa2": //********************************** //* Coleta código do novo orçamento //********************************** SalvaEtapa2(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); break; case "Salvar_Etapa3": //******************************** //* Atualiza dados da etapa final //******************************** SalvaEtapa3(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); break; case "Excluir_Orcamento": //********************************** //* Coleta código do novo orçamento //********************************** ExcluiOrcamento(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); break; case "Enviar_Boas_Vindas": //********************************** //* Coleta código do novo orçamento //********************************** if (oJSON.oportunidade.PK_nro_oportunidade != 0) { //***************** //* Obtem resposta //***************** oJSON = EnviaBoasVindas(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); } break; case "Enviar_Orcamento": //********************************** //* Coleta código do novo orçamento //********************************** if (oJSON.orcamentos[0].PK_cod_orcamento != 0) { //***************** //* Obtem resposta //***************** oJSON = EnviaOrcamento(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); } break; case "Enviar_Orcamentos_Aceitos": //********************************** //* Coleta código do novo orçamento //********************************** if (oJSON.orcamentos[0].PK_cod_orcamento != 0) { //***************** //* Obtem resposta //***************** oJSON = EnviaOrcamentosAceitos(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); } break; case "Coletar_Resposta": //************** //* Declarações //************** Oportunidade_Orcamentos_Manager oManager; oManager = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"])); Oportunidade_Orcamentos_Fields oOrcamento = new Oportunidade_Orcamentos_Fields(); Int32 IndiceOrcamento = 0; Int32 CodOrcamento = 0; //********************************* //* Obtem dados do orçamento atual //********************************* CodOrcamento = Convert.ToInt32(oJSON.parametros["CodigoOrcamento"]); oOrcamento = oManager.GetRecord(CodOrcamento); //******************************* //* Foi possível obter os dados? //******************************* if (!oManager.Error && oOrcamento.PK_cod_orcamento != 0) { //*********************** //* O cliente respondeu? //*********************** if (oOrcamento.html_resposta != string.Empty) { //******************************** //* Desfaz pendência do orçamento //******************************** oOrcamento.pendencia = false; oManager.ApplyRecord(oOrcamento); //******************************* //* Devolve orçamento atualizado //******************************* for (IndiceOrcamento = 0; IndiceOrcamento < oJSON.orcamentos.Length; IndiceOrcamento++) { if (oJSON.orcamentos[IndiceOrcamento].PK_cod_orcamento == oOrcamento.PK_cod_orcamento) { oJSON.orcamentos[IndiceOrcamento] = oOrcamento; } } } } //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); break; case "Salvar_Comentario_Interno": //******************************** //* Atualiza dados da etapa final //******************************** SalvaComentarioInterno(oJSON); //************************* //* Devolve estrutura JSON //************************* e.Result = new JavaScriptSerializer().Serialize(oJSON); break; } } }
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 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 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; } }
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 Page_Init(object sender, EventArgs e) { #region "Inicialização" //********************************** //* Obtem base de carregamento HTML //********************************** HTML_Base = Properties.Settings.Default.html_base; //******************** //* Declara variáveis //******************** Oportunidade_Manager oOportunidadeManager; Oportunidade_Fields oOportunidade = new Oportunidade_Fields(); Oportunidade_Orcamentos_Manager oOrcamentoManager; Oportunidade_Orcamentos_Fields oOrcamento = new Oportunidade_Orcamentos_Fields(); #endregion #region "Conexao" //************************************************* //* O código da agência e da proposta são válidos? //************************************************* if (Request.QueryString["CMA"] != null && Request.QueryString["CPO"] != null && Request.QueryString["COP"] != null && Request.QueryString["COR"] != null) { //******************************************** //* Coleta códigos (master, posto e proposta) //******************************************** CodigoMaster = Convert.ToInt32("0" + Request.QueryString["CMA"]); this.txtCodigoMaster.Value = txtCodigoMaster.ToString(); CodigoPosto = Convert.ToInt32("0" + Request.QueryString["CPO"]); this.txtCodigoPosto.Value = txtCodigoPosto.ToString(); CodigoOportunidade = Convert.ToInt32("0" + Request.QueryString["COP"]); this.txtCodigoOportunidade.Value = txtCodigoOportunidade.ToString(); CodigoOrcamento = Convert.ToInt32("0" + Request.QueryString["COR"]); this.txtCodigoOrcamento.Value = txtCodigoOrcamento.ToString(); //*************** //* Captura HTML //*************** URL = HTML_Base + "/oportunidades_orcamento_email.aspx"; URL += "?CMA=" + CodigoMaster; URL += "&CPO=" + CodigoPosto; URL += "&COP=" + CodigoOportunidade; URL += "&COR=" + CodigoOrcamento; //************************** //* Obtém string de conexão //************************** Conexao = DBConnection.GetConnectionFromMaster(CodigoMaster); } #endregion #region "Dados da agência" //*************************** //* A nova conexão é válida? //*************************** if (Conexao.IndexOf("Error") == -1) { //******************************************************** //* Inicia gerenciador da tabela posto com a nova conexão //******************************************************** Posto_Manager oPostoManager = new Posto_Manager(Conexao); Posto_Fields oPosto = new Posto_Fields(); //*********************** //* Obtém dados do posto //*********************** oPosto = oPostoManager.Get_Posto(CodigoPosto); //********************* //* Executou sem erro? //********************* if (!oPostoManager.Error) { //************************** //* Popula dados da agência //************************** this.lblNomePosto.Text = oPosto.NomePosto; if (this.lblNomePosto.Text != "" && oPosto.DescPosto != "") { this.lblNomePosto.Text += " (" + oPosto.DescPosto + ")"; } this.lblEndereco.Text = oPosto.End; if (this.lblEndereco.Text != "" && oPosto._NomeCidade != "") { this.lblEndereco.Text += " - " + oPosto._NomeCidade; } else { this.lblEndereco.Text += oPosto._NomeCidade; } if (this.lblEndereco.Text != "" && oPosto._UF != "") { this.lblEndereco.Text += " - " + oPosto._UF; } else { this.lblEndereco.Text += oPosto._UF; } if (this.lblEndereco.Text != "" && oPosto.CEP != "") { this.lblEndereco.Text += " - " + oPosto.CEP; } else { this.lblEndereco.Text += oPosto.CEP; } if (oPosto.HTTP != "") { this.lblContato.Text = "Internet: " + oPosto.HTTP; } if (this.lblContato.Text != "" && oPosto.EMail != "") { this.lblContato.Text += "\nE-mail: " + oPosto.EMail; } else { this.lblContato.Text += "E-mail: " + oPosto.EMail; } if (this.lblContato.Text != "" && oPosto.Fone1 != "") { this.lblContato.Text += "\nFone: " + oPosto.Fone1; } else { this.lblContato.Text += "Fone: " + oPosto.Fone1; } if (this.lblContato.Text != "" && oPosto.Fone2 != "") { this.lblContato.Text += " / " + oPosto.Fone2; } else { this.lblContato.Text += oPosto.Fone2; } } } #endregion #region "Dados da oportunidade" //*************************** //* A nova conexão é válida? //*************************** if (Conexao.IndexOf("Error") == -1) { //******************************* //* Inicializa string de conexão //******************************* oOportunidadeManager = new Oportunidade_Manager(Conexao); //****************************** //* Obtém dados da oportunidade //****************************** oOportunidade = oOportunidadeManager.GetRecord(CodigoOportunidade); //**************************** //* Encontrou a oportunidade? //**************************** if (oOportunidade.PK_nro_oportunidade != 0) { //********************** //* Número do orçamento //********************** this.lblNroOrcamento.Text = "Oportunidade Nº " + oOportunidade.PK_nro_oportunidade + " - "; this.lblNroOrcamento.Text += "Orçamento Nº " + oOrcamento.PK_cod_orcamento; } } #endregion #region "Dados da orçamento" //*************************** //* A nova conexão é válida? //*************************** if (Conexao.IndexOf("Error") == -1) { //******************************* //* Inicializa string de conexão //******************************* oOrcamentoManager = new Oportunidade_Orcamentos_Manager(Conexao); //*************************** //* Obtém dados da orçamento //*************************** oOrcamento = oOrcamentoManager.GetRecord(CodigoOrcamento); //**************************** //* Encontrou a oportunidade? //**************************** if (oOportunidade.PK_nro_oportunidade != 0) { //********************** //* Número do orçamento //********************** this.lblNroOrcamento.Text = "Oportunidade Nº " + oOportunidade.PK_nro_oportunidade + " - "; this.lblNroOrcamento.Text += "Orçamento Nº " + oOrcamento.PK_cod_orcamento; } } #endregion }
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 }