private static List<ClsSalesLead> CargarDatosDataReader(SqlDataReader dreader) { var SalesLead = new List<ClsSalesLead>(); while (dreader.Read()) { ClsSalesLead ObjSLead = new ClsSalesLead(); ObjSLead.Id = Convert.ToInt32(dreader[0]); ObjSLead.Reference = dreader[1].ToString().Trim(); ObjSLead.ShipperNombre = dreader[2].ToString().Trim(); ObjSLead.ShipperZipCode = dreader[16].ToString().Trim(); ObjSLead.ShipperCiudad = dreader[17].ToString().Trim(); ObjSLead.ShipperContacto = dreader[18].ToString().Trim(); ObjSLead.ShipperEmail = dreader[19].ToString().Trim(); ObjSLead.ShipperWeb = dreader[20].ToString().Trim(); ObjSLead.ShipperFono = dreader[44].ToString().Trim(); ObjSLead.ShipperPais = dreader[45].ToString().Trim(); ObjSLead.Shipperdireccion = dreader[46].ToString().Trim(); ObjSLead.ConsigNombre = dreader[21].ToString().Trim(); ObjSLead.ConsigDireccion = dreader[22].ToString().Trim(); ObjSLead.Consigciudad = dreader[23].ToString().Trim(); ObjSLead.ConsigTelefono = dreader[24].ToString().Trim(); ObjSLead.ConsigContacto = dreader[25].ToString().Trim(); ObjSLead.ConsigEmail = dreader[42].ToString(); ObjSLead.GlosaCommodity = dreader[26].ToString().Trim(); ObjSLead.Pol = dreader[27].ToString().Trim(); ObjSLead.Pod = dreader[28].ToString().Trim(); ObjSLead.CarrierAirline = dreader[29].ToString().Trim(); ObjSLead.CarrierAirline = dreader[29].ToString().Trim(); if (!String.IsNullOrEmpty(dreader[30].ToString())) ObjSLead.EmbarquesPorMes = Convert.ToInt32(dreader[30]); if (!String.IsNullOrEmpty(dreader[31].ToString())) ObjSLead.FechaUltimoEmbarque = Convert.ToDateTime(dreader[31]); ObjSLead.Agente = new PaperlessAgente(); ObjSLead.Agente.Id = Convert.ToInt32(dreader[3]); ObjSLead.Agente.Nombre = dreader[4].ToString().Trim(); ObjSLead.Agente.Contacto = dreader[5].ToString().Trim(); ObjSLead.Agente.Email = dreader[6].ToString().Trim(); ObjSLead.Asignacion = new ClsSalesLeadAsignacion(); ObjSLead.Asignacion.VendedorAsignado = new clsUsuario(); ObjSLead.Asignacion.VendedorAsignado.Id = Convert.ToInt32(dreader[7]); ObjSLead.Asignacion.VendedorAsignado.NombreUsuario = dreader[8].ToString().Trim(); ObjSLead.Asignacion.VendedorAsignado.Nombre = dreader[32].ToString().Trim(); ObjSLead.Asignacion.VendedorAsignado.ApellidoPaterno = dreader[33].ToString().Trim(); ObjSLead.Asignacion.VendedorAsignado.ApellidoMaterno = dreader[34].ToString().Trim(); ObjSLead.Asignacion.VendedorAsignado.Email = dreader[35].ToString().Trim(); ObjSLead.EstadoSLead = (Enums.EstadosSLead)Convert.ToInt16(dreader[9]); ObjSLead.FechaApertura = Convert.ToDateTime(dreader[10]); ObjSLead.FechaUltActulizacion = Convert.ToDateTime(dreader[12]); ObjSLead.GlosaSalesLead = dreader[14].ToString().Trim(); ObjSLead.ConsigNombre = dreader[15].ToString().Trim(); if (!String.IsNullOrEmpty(dreader[36].ToString())) ObjSLead.AereoCantidad = Convert.ToInt64(dreader[36].ToString().Trim()); if (!String.IsNullOrEmpty(dreader[37].ToString())) ObjSLead.AereoMedida = clsParametrosDAO.BuscarParametroPorId(Convert.ToInt16(dreader[37].ToString().Trim())); if (!String.IsNullOrEmpty(dreader[38].ToString())) ObjSLead.FCLCantidad = Convert.ToInt64(dreader[38].ToString().Trim()); if (!String.IsNullOrEmpty(dreader[39].ToString())) ObjSLead.FCLMedida = clsParametrosDAO.BuscarParametroPorId(Convert.ToInt16(dreader[39].ToString().Trim())); if (!String.IsNullOrEmpty(dreader[40].ToString())) ObjSLead.LCLCantidad = Convert.ToInt64(dreader[40].ToString().Trim()); if (!String.IsNullOrEmpty(dreader[41].ToString())) ObjSLead.LCLMedida = clsParametrosDAO.BuscarParametroPorId(Convert.ToInt16(dreader[41].ToString().Trim())); if (!String.IsNullOrEmpty(dreader[43].ToString())) ObjSLead.ObjTipoContenedor = clsParametrosDAO.BuscarParametroPorId(Convert.ToInt16(dreader[43].ToString().Trim())); ObjSLead.UsuarioAsignador = (clsUsuario)clsUsuarioADO.ObtenerTransaccionUsuarioPorId(Convert.ToInt16(dreader[47].ToString().Trim())).ObjetoTransaccion; SalesLead.Add(ObjSLead); } dreader.Close(); foreach (var clsSalesLead in SalesLead) { clsSalesLead.Competencias = ListarSalesLeadCompetencias(clsSalesLead.Id32).ObjetoTransaccion as IList<clsMetaCompetencia>; clsSalesLead.TerminosCompra = ListarSalesLeadTerminosDeCompras(clsSalesLead.Id32).ObjetoTransaccion as IList<clsItemParametro>; clsSalesLead.Incoterms= ListarIncoterms(clsSalesLead.Id32).ObjetoTransaccion as IList<clsItemParametro>; clsSalesLead.FollowUps = clsClienteMasterADO.ObtenerFollowUpClientePorSalesLead(clsSalesLead.Id32); clsSalesLead.TiposProductos = ListarTiposDeProductos(clsSalesLead.Id32).ObjetoTransaccion as IList<clsTipoProducto>; } return SalesLead; }
public static ResultadoTransaccion GuardarFollowups(IList<clsClienteFollowUp> followDatabase, ClsSalesLead salesLead) { ResultadoTransaccion resTransaccion = new ResultadoTransaccion(); foreach (var followUp in salesLead.FollowUps) { if (followUp.IsNew) resTransaccion = Clientes.clsClienteMasterADO.AgregarFollowUpClienteMaster(followUp, transaction); else resTransaccion = Clientes.clsClienteMasterADO.ModificarFollowUpClienteMaster(followUp, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) throw new Exception(resTransaccion.Descripcion); } if (!salesLead.IsNew) { var newlist = salesLead.FollowUps.ToList(); foreach (var followUp in followDatabase) { var encontrado = newlist.Find(foo => foo.Id32.Equals(followUp.Id32)); if (encontrado == null) { resTransaccion = Clientes.clsClienteMasterADO.EliminarLogicoFollowUpClienteMaster(followUp, transaction); if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada) throw new Exception(resTransaccion.Descripcion); } } } resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; resTransaccion.Accion = Enums.AccionTransaccion.Insertar; resTransaccion.ObjetoTransaccion = salesLead; resTransaccion.Descripcion = "Se registró los Followup Exitosamente"; return resTransaccion; }
public static ResultadoTransaccion EditarClsSalesLead(ClsSalesLead salesLead) { //cargando datos desde la base de datos var incotermDatabase = (List<clsItemParametro>)ListarIncoterms(salesLead.Id32).ObjetoTransaccion; conn = BaseDatos.Conexion(); //Crear Transaccion transaction = conn.BeginTransaction(); ResultadoTransaccion res = new ResultadoTransaccion(); try { //Registrar Llamada Telefonica objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_E_DIRECCION_SLEAD"); objParams[0].Value = salesLead.EstadoSLead; objParams[1].Value = salesLead.GlosaSalesLead; objParams[2].Value = salesLead.FechaApertura; objParams[3].Value = salesLead.FechaRevision; objParams[4].Value = salesLead.UsuarioAsignador.Id; objParams[5].Value = salesLead.ShipperNombre; objParams[6].Value = salesLead.Shipperdireccion; objParams[7].Value = salesLead.ShipperZipCode; objParams[8].Value = salesLead.ShipperCiudad; objParams[9].Value = salesLead.ShipperContacto; objParams[10].Value = salesLead.ShipperEmail; objParams[11].Value = salesLead.ShipperWeb; objParams[12].Value = salesLead.ConsigNombre; objParams[13].Value = salesLead.ConsigDireccion; objParams[14].Value = salesLead.Consigciudad; objParams[15].Value = salesLead.ConsigTelefono; objParams[16].Value = salesLead.ConsigContacto; objParams[17].Value = salesLead.GlosaCommodity; objParams[18].Value = salesLead.EmbarquesPorMes; objParams[19].Value = salesLead.LCLCantidad; objParams[20].Value = salesLead.LCLMedida.Id; objParams[21].Value = salesLead.FCLCantidad; objParams[22].Value = salesLead.FCLMedida.Id; objParams[23].Value = salesLead.AereoCantidad; objParams[24].Value = salesLead.AereoMedida.Id; objParams[25].Value = salesLead.Pol; objParams[26].Value = salesLead.FechaUltimoEmbarque; objParams[27].Value = salesLead.CarrierAirline; objParams[28].Value = salesLead.Pod; objParams[29].Value = salesLead.Agente.Id; objParams[30].Value = salesLead.Asignacion.VendedorAsignado.Id; objParams[31].Value = salesLead.ConsigEmail; objParams[32].Value = salesLead.ObjTipoContenedor.Id32; objParams[33].Value = salesLead.ShipperFono; objParams[34].Value = salesLead.ShipperPais; objParams[35].Value = salesLead.Id32; SqlCommand command = new SqlCommand("SP_E_DIRECCION_SLEAD", conn); command.Transaction = transaction; command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; command.ExecuteNonQuery(); //editando incoterms EliminarIncoteterm(salesLead.Id32); foreach (var incoterm in salesLead.Incoterms) { GuardarIncoteterm(salesLead.Id32, incoterm.Id); } EliminarTerminosCompra(salesLead.Id32); foreach (var termino in salesLead.TerminosCompra) { res = GuardarTerminosCompra(salesLead.Id32, termino.Codigo); } EliminarTipoProducto(salesLead.Id32); foreach (var tipoProducto in salesLead.TiposProductos) { res = GuardarTiposProductos(salesLead.Id32, tipoProducto.Id); } EliminarCompetencias(salesLead.Id32); foreach (var competencia in salesLead.Competencias) { res = GuardarSalesLeadCompetencia(salesLead.Id32, competencia); } transaction.Commit(); res.Estado = Enums.EstadoTransaccion.Aceptada; res.Descripcion = "Sales Lead guardado Exitosamente"; } catch (Exception ex) { Log.EscribirLog(ex.Message); res.Descripcion = ex.Message; res.ArchivoError = "clsSalesLeadAdo.cs"; res.MetodoError = "EditarClsSalesLead"; res.Estado = Enums.EstadoTransaccion.Rechazada; } finally { conn.Close(); } return res; }
private bool AsignarGrilla() { var salesLead = new ClsSalesLead(); // Inicializa Datos NO obligatorios salesLead.LCLCantidad = 0; salesLead.LCLMedida.Id=0; salesLead.FCLCantidad = 0; salesLead.FCLMedida.Id=0; salesLead.AereoCantidad = 0; salesLead.AereoMedida.Id=0; // Información general salesLead.GlosaSalesLead = this.textSLeadReferencia.Text; salesLead.FechaApertura = this.DateApertura.DateTime; salesLead.UsuarioAsignador = Base.Usuario.UsuarioConectado.Usuario; salesLead.EmbarquesPorMes = (Int32)snNumEmbMes.Value; salesLead.ObjTipoContenedor = (clsItemParametro)this.lstTipoContenedor.SelectedItem; if (DateUltimoEmbarque.Text == "") { salesLead.FechaUltimoEmbarque = new DateTime(2000, 1, 1); } else { salesLead.FechaUltimoEmbarque = DateUltimoEmbarque.DateTime; } salesLead.CarrierAirline = txtCarrier.Text; salesLead.Pol = txtpol.Text; salesLead.Pod = txtPod.Text; salesLead.EstadoSLead = Enums.EstadosSLead.Asignado; //Agente salesLead.Agente = new PaperlessAgente(); salesLead.Agente = (PaperlessAgente)this.cboagente.SelectedItem; //Asignación del Venedror salesLead.Asignacion = new ClsSalesLeadAsignacion(); salesLead.Asignacion.VendedorAsignado = (clsUsuario)cboVendedores.SelectedItem; salesLead.Asignacion.FechaAsignacion = this.DateApertura.DateTime; //Datos Shipper salesLead.ShipperNombre = txtShipNombre.Text; salesLead.Shipperdireccion = txtShipDireccion.Text; salesLead.ShipperZipCode = txtShipZipCode.Text; salesLead.ShipperCiudad = txtShipCiudad.Text; salesLead.ShipperContacto = txtShipContacto.Text; salesLead.ShipperEmail = txtShipEmail.Text; salesLead.ShipperWeb = txtShipWeb.Text; salesLead.ShipperFono = txtShipTelefono.Text; salesLead.ShipperPais = txtShipPais.Text; //Datos Consignatario salesLead.ConsigContacto = txtConsigContacto.Text; salesLead.ConsigDireccion = txtConsigDireccion.Text; salesLead.Consigciudad = txtConsigCiudad.Text; salesLead.ConsigNombre = txtConsigNombre.Text; salesLead.ConsigTelefono = txtConsigTelefono.Text; salesLead.ConsigEmail = txtconsigEmail.Text; salesLead.GlosaCommodity = txtCommodity.Text; //Tipos de Producto foreach (clsTipoProducto i in lstProductos.CheckedItems) salesLead.TiposProductos.Add(i); //Unidades de Medida if (this.txtCantidadLCL.Text != "") { salesLead.LCLCantidad = Convert.ToInt64(txtCantidadLCL.Text); if (this.cboUMLCL.SelectedIndex > 0) { salesLead.LCLMedida = (clsItemParametro)cboUMLCL.SelectedItem; } } if (this.txtCantidadFCL.Text != "") { salesLead.FCLCantidad = Convert.ToInt64(txtCantidadFCL.Text); if (this.cboUMFCL.SelectedIndex > 0) { salesLead.FCLMedida = (clsItemParametro)cboUMFCL.SelectedItem; } } if (this.txtCantidadAereo.Text != "") { salesLead.AereoCantidad = Convert.ToInt64(txtCantidadAereo.Text); if (this.cboUMAereo.SelectedIndex > 0) { salesLead.AereoMedida = (clsItemParametro)cboUMAereo.SelectedItem; } } //Terminos de Compra for (int i = 0; i <= this.lstTerminosCompra.ItemCount - 1; i++) { clsItemParametro ObjPaso = new clsItemParametro(); ObjPaso = (clsItemParametro)lstTerminosCompra.GetItemValue(i); if (lstTerminosCompra.GetItemCheckState(i) == CheckState.Checked) { salesLead.TerminosCompra.Add(ObjPaso); } } //incoterms foreach (clsItemParametro incoterm in lstIncoterms.CheckedItems) salesLead.Incoterms.Add(incoterm); //Competencia if (this.gridCompetencia.DataSource != null) { salesLead.Competencias = (IList<clsMetaCompetencia>)gridCompetencia.DataSource; } //Follow UP if (salesLead.FollowUps.Count == 0) { var followup = new clsClienteFollowUp(); followup.FechaFollowUp = DateRevision.DateTime; followup.Descripcion = "Primera reunión de seguimiento"; followup.Usuario = salesLead.UsuarioAsignador; followup.Activo = true; salesLead.FollowUps.Add(followup); } var listaProspectos = (IList<ClsSalesLead>)gridAsignaciones.DataSource; if (listaProspectos== null) listaProspectos = new List<ClsSalesLead>(); listaProspectos.Add(salesLead); gridAsignaciones.DataSource = listaProspectos; gridAsignaciones.RefreshDataSource(); return true; }
private static ResultadoTransaccion GuardarSalesLead(ClsSalesLead salesLead) { ResultadoTransaccion res = new ResultadoTransaccion(); try { //Registrar Llamada Telefonica objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_N_DIRECCION_SLEAD"); objParams[0].Value = salesLead.EstadoSLead; objParams[1].Value = salesLead.GlosaSalesLead; objParams[2].Value = salesLead.FechaApertura; objParams[3].Value = salesLead.FechaRevision; objParams[4].Value = salesLead.UsuarioAsignador.Id; objParams[5].Value = salesLead.ShipperNombre; objParams[6].Value = salesLead.Shipperdireccion; objParams[7].Value = salesLead.ShipperZipCode; objParams[8].Value = salesLead.ShipperCiudad; objParams[9].Value = salesLead.ShipperContacto; objParams[10].Value = salesLead.ShipperEmail; objParams[11].Value = salesLead.ShipperWeb; objParams[12].Value = salesLead.ConsigNombre; objParams[13].Value = salesLead.ConsigDireccion; objParams[14].Value = salesLead.Consigciudad; objParams[15].Value = salesLead.ConsigTelefono; objParams[16].Value = salesLead.ConsigContacto; objParams[17].Value = salesLead.GlosaCommodity; objParams[18].Value = salesLead.EmbarquesPorMes; objParams[19].Value = salesLead.LCLCantidad; objParams[20].Value = salesLead.LCLMedida.Id; objParams[21].Value = salesLead.FCLCantidad; objParams[22].Value = salesLead.FCLMedida.Id; objParams[23].Value = salesLead.AereoCantidad; objParams[24].Value = salesLead.AereoMedida.Id; objParams[25].Value = salesLead.Pol; objParams[26].Value = salesLead.FechaUltimoEmbarque; objParams[27].Value = salesLead.CarrierAirline; objParams[28].Value = salesLead.Pod; objParams[29].Value = salesLead.Agente.Id; objParams[30].Value = salesLead.Asignacion.VendedorAsignado.Id; objParams[31].Value = salesLead.ConsigEmail; objParams[32].Value = salesLead.ObjTipoContenedor.Id32; objParams[33].Value = salesLead.ShipperFono; objParams[34].Value = salesLead.ShipperPais; objParams[35].Direction = ParameterDirection.Output; objParams[36].Direction = ParameterDirection.Output; SqlCommand command = new SqlCommand("SP_N_DIRECCION_SLEAD", conn); command.Transaction = transaction; command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; command.ExecuteNonQuery(); salesLead.Reference = objParams[35].Value.ToString(); salesLead.Id = Convert.ToInt32(objParams[36].Value); res.Estado = Enums.EstadoTransaccion.Aceptada; res.Descripcion = "Se registró la asiganción del SalesLead correctamente"; } catch (Exception ex) { Log.EscribirLog(ex.Message); res.Descripcion = ex.Message; res.ArchivoError = "clsSalesLeadAdo.cs"; res.MetodoError = "GuardarSalesLead"; res.Estado = Enums.EstadoTransaccion.Rechazada; } finally { } return res; }
public static ResultadoTransaccion EditarClsSalesLead(ClsSalesLead saleslead) { return ClsSalesLeadAdo.EditarClsSalesLead(saleslead); }
public static ResultadoTransaccion GuardarFollowUps(ClsSalesLead salesLead) { var followDataBqse = clsClienteMasterADO.ObtenerFollowUpClientePorSalesLead(salesLead.Id32); return ClsSalesLeadAdo.GuardarFollowups(followDataBqse, salesLead); }
private void gridViewSLeads_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) { objSalesLead = (ClsSalesLead)gridViewSLeads.GetRow(e.FocusedRowHandle); CargarGrillaObservaciones(objSalesLead.Id); return; }
private void gridViewProspectos_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) { int fila_sel = 0; if (gridViewSLeads.RowCount > 0) { fila_sel = gridViewSLeads.GetSelectedRows()[0]; if (fila_sel >= 0) { objSalesLead = (ClsSalesLead)gridViewSLeads.GetRow(fila_sel); //CargarGrillaObservaciones(ObjProspecto.Id); } } }
public String ReplaceObjectsMailSalesLead(ClsSalesLead salesLead, String template) { var nombreVendedor = salesLead.Asignacion.VendedorAsignado.NombreCompleto; var emailVendedor = salesLead.Asignacion.VendedorAsignado.Email; var en = new CultureInfo("en-US"); template = template.Replace("[fecha]", DateTime.Now.ToString("D", en)); template = template.Replace("[AGENTE_NOMBRE]", salesLead.Agente.Contacto); template = template.Replace("[NOMBRE_VENDEDOR]", nombreVendedor); template = template.Replace("[EMAIL_VENDEDOR]", emailVendedor); template = template.Replace("[SL_REFERENCE]", salesLead.Reference); template = template.Replace("[SL_DATE]", salesLead.FechaApertura.ToString()); template = template.Replace("[SL_STATUS]", salesLead.EstadoSLead.ToString()); /*shipper*/ template = template.Replace("[SHIPPER_NAME]", salesLead.ShipperNombre); template = template.Replace("[SHIPPER_ADDRESS]", salesLead.ShipperNombre); template = template.Replace("[SHIPPER_ZIP_CODE]", salesLead.ShipperZipCode); template = template.Replace("[SHIPPER_CITY]", salesLead.ShipperCiudad); template = template.Replace("[SHIPPER_CONTACT]", salesLead.ShipperContacto); template = template.Replace("[SHIPPER_E_MAIL]", salesLead.ShipperEmail); template = template.Replace("[SHIPPER_WEB_PAGE]", salesLead.ShipperWeb); /*CONSIGNEE */ template = template.Replace("[CONSIGNEE_NAME]", salesLead.ConsigNombre); template = template.Replace("[CONSIGNEE_ADDRESS]", salesLead.ConsigDireccion); template = template.Replace("[CONSIGNEE_CITY]", salesLead.Consigciudad); template = template.Replace("[CONSIGNEE_TELEPHONE]", salesLead.ConsigTelefono); template = template.Replace("[CONSIGNEE_CONTACT]", salesLead.ConsigContacto); /* competencias */ var txtCompetencias = String.Empty; if (salesLead.Competencias != null) foreach (var competencia in salesLead.Competencias) txtCompetencias = txtCompetencias + "<li>" + competencia.Descripcion + "</li>"; template = template.Replace("[COMPETITION]", txtCompetencias); template = template.Replace("[COMMODITY]", salesLead.GlosaCommodity); var txtTerminosCompra = String.Empty; if (salesLead.TerminosCompra != null) foreach (var termCompra in salesLead.TerminosCompra) txtTerminosCompra = txtTerminosCompra + "<li>" + termCompra.Nombre + "</li>"; template = template.Replace("[SALES TERMS]", txtTerminosCompra); template = template.Replace("[TRANSPORT]", ""); template = template.Replace("[FCL EQUIPMENT]", ""); template = template.Replace("[POL]", salesLead.Pol); template = template.Replace("[POD]", salesLead.Pod); template = template.Replace("[CARRIER / AIRLINE]", salesLead.CarrierAirline); template = template.Replace("[SHIPMENTS PER MONTH]", salesLead.EmbarquesPorMes.ToString()); template = template.Replace("[AEREO_QTTY]", String.Format("{0} / {1}", salesLead.AereoCantidad, salesLead.AereoMedida.Nombre)); template = template.Replace("[FCL_QTTY]", String.Format("{0} / {1}", salesLead.FCLCantidad, salesLead.FCLMedida.Nombre)); template = template.Replace("[LCL_QTTY]", String.Format("{0} / {1}", salesLead.LCLCantidad, salesLead.LCLMedida.Nombre)); template = template.Replace("[LAST SHIPMENT]", salesLead.FechaUltimoEmbarque.ToString("yyyy-MM-dd")); return template; }
public ResultadoTransaccion EnviarMaiSalesLead(ClsSalesLead salesLead) { var res = new ResultadoTransaccion(); try { oApp = new Application(); oNameSpace = oApp.GetNamespace("MAPI"); oOutboxFolder = oNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderSentMail); var mail = (_MailItem)oApp.CreateItem(OlItemType.olMailItem); var body = CrearCuerpoMailSalesLead(salesLead, Path.Combine(System.Windows.Forms.Application.StartupPath, @"mailSalesLead\template.html")); if (!string.IsNullOrEmpty(mail.HTMLBody) && mail.HTMLBody.ToLower().Contains("</body>")) { var imagePath = Path.Combine(System.Windows.Forms.Application.StartupPath, @"mailSalesLead\logo.png"); mail.Subject = "New Sales Lead"; //mail.To = salesLead.Agente.Email; mail.To = salesLead.Agente.Email; //CONTENT-ID const string schemaPrAttachContentId = @"http://schemas.microsoft.com/mapi/proptag/0x3712001E"; var contentId = Guid.NewGuid().ToString(); mail.Attachments.Add(imagePath, OlAttachmentType.olEmbeddeditem, mail.HTMLBody.Length, Type.Missing); mail.Attachments[mail.Attachments.Count].PropertyAccessor.SetProperty(schemaPrAttachContentId, contentId); //Create and add banner body = body.Replace("[logo]", string.Format(@"<img src=""cid:{1}"" />", "", contentId)); if (mail.HTMLBody.IndexOf("</BODY>") > -1) mail.HTMLBody = mail.HTMLBody.Replace("</BODY>", body); mail.Display(true); } } catch (Exception e) { res.Descripcion = e.Message; res.Estado = Enums.EstadoTransaccion.Rechazada; Log.EscribirLog(e.Message); } return res; }
public String CrearCuerpoMailSalesLead(ClsSalesLead salesLead, String templatePath) { var streamReader = new StreamReader(templatePath); var text = streamReader.ReadToEnd(); streamReader.Close(); var body = ReplaceObjectsMailSalesLead(salesLead, text); return body; }