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