protected Oportunidade_JSON EnviaOrcamentosAceitos(Oportunidade_JSON oJSON) { //************** //* Declarações //************** SendEmail oMail = new SendEmail(); //*************** //* Efetua envio //*************** try { //************************** //* Envia e retorna sucesso //************************** oJSON = oMail.EnviaOrcamentosAceitos(oJSON); } catch (Exception oException) { //************************* //* Retorna falha de envio //************************* oJSON.error = "Erro ao enviar mensagem: " + oException.Message; } //***************************** //* Retorna status da operação //***************************** return(oJSON); }
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); } }
public Oportunidade_JSON EnviaBoasVindas(Oportunidade_JSON oJSON) { //********************************** //* Obtem base de carregamento HTML //********************************** string HTML_Base = Properties.Settings.Default.html_base; //*************** //* Captura HTML //*************** oHTTPClient.Encoding = System.Text.Encoding.UTF8; string URL = "/oportunidades_boasvindas_email.aspx"; URL += "?CMA=" + oJSON.parametros["CodigoMaster"]; URL += "&CPO=" + oJSON.parametros["CodigoPosto"]; URL += "&COP=" + oJSON.parametros["CodigoOportunidade"]; URL += "&COR=0"; string Html = oHTTPClient.DownloadString(HTML_Base + URL); //************************ //* Define dados de envio //************************ oMailMessage.To.Add(oJSON.oportunidade.contato_emails.MultiSeparator2Comma()); oMailMessage.Subject = "Bem Vindo à " + oLogin.LoginInfo.Posto_Nome.ToUpper() + " - Solicitação de Proposta Recebida"; oMailMessage.IsBodyHtml = true; oMailMessage.BodyEncoding = System.Text.Encoding.UTF8; oMailMessage.Body = Html; //*************** //* Efetua envio //*************** try { //************************** //* Envia e retorna sucesso //************************** oSmtpClient.Send(oMailMessage); oJSON.error = string.Empty; } catch (Exception oException) { //************************* //* Retorna falha de envio //************************* oJSON.error = "Erro ao enviar mensagem: " + oException.Message; } //***************************** //* Retorna status da operação //***************************** return(oJSON); }
protected string ExcluiOrcamento(Oportunidade_JSON oJSON) { //******************** //* Declara variáveis //******************** Oportunidade_Orcamentos_Manager oManager; oManager = new Oportunidade_Orcamentos_Manager(DBConnection.GetConnectionFromSession(Session["Decision_LoginInfo"])); Int32 CodigoOrcamento = Convert.ToInt32(oJSON.parametros["CodigoOrcamento"]); //**************************** //* Informa chave do registro //**************************** if (oManager.DeleteRecord(CodigoOrcamento)) { //************** //* Anula erros //************** oJSON.error = string.Empty; } else { //***************************** //* Retorna status da operação //***************************** oJSON.error = "Error ao excluir o orçamento " + CodigoOrcamento + ":" + oManager.ErrorText; if (!oManager.Error) { oJSON.parametros["IndiceOrcamento"] = "0"; oJSON.error = ""; return("Ok"); } else { oJSON.error = oManager.ErrorText; return(oManager.ErrorText); } } //******************************************* //* Retorna novo ítem da lista de orçamentos //******************************************* return(new JavaScriptSerializer().Serialize(oJSON)); }
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 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 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 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); } }
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); }