Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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;
        }
Esempio n. 6
0
 public static ResultadoTransaccion EditarClsSalesLead(ClsSalesLead saleslead)
 {
     return ClsSalesLeadAdo.EditarClsSalesLead(saleslead);
 }
Esempio n. 7
0
 public static ResultadoTransaccion GuardarFollowUps(ClsSalesLead salesLead)
 {
     var followDataBqse = clsClienteMasterADO.ObtenerFollowUpClientePorSalesLead(salesLead.Id32);
     return ClsSalesLeadAdo.GuardarFollowups(followDataBqse, salesLead);
 }
Esempio n. 8
0
 private void gridViewSLeads_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
 {
     objSalesLead = (ClsSalesLead)gridViewSLeads.GetRow(e.FocusedRowHandle);
     CargarGrillaObservaciones(objSalesLead.Id);
     return;
 }
Esempio n. 9
0
        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);
                }
            }
        }
Esempio n. 10
0
        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;
        }
Esempio n. 11
0
        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;
        }
Esempio n. 12
0
 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;
 }