Example #1
0
        public ResultadoTransaccion EnviarMailPaperlessUsuario2TerminaProcesoBrasil(ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion,
            ProyectoCraft.Entidades.Paperless.PaperlessUsuario1HouseBLInfo info)
        {
            string EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessConfirmacionTerminoProcesoBrasil");
            string EmailGestoresLCL = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailGestoresLCL");
            string EmailGestoresFCL = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailGestoresFCL");
            string EmailGestoresFAK = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailGestoresFAK");
            string EmailMarcasUsuario2 = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailMarcasUsuario2");
            string EmailBody = "";
            string ListaFinal = "";
            string UsuarioEnvia = "";
            string Marca = "";

            ResultadoTransaccion res = new ResultadoTransaccion();

            try
            {
                //Configura Mensaje (Body) Correo
                StringBuilder sb = new StringBuilder(EmailAviso);
                //LK 03-05 Ahora el mail es uno dirigido a todos los gestores y no uno a uno como estaba antes
                //sb.Replace("[USUARIOAVISO]", usuarioaviso.NombreCompleto);
                sb.Replace("[NUMCONSOLIDADO]", info.NumConsolidado);
                sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString());
                sb.Replace("[NUMMASTER]", asignacion.NumMaster);
                sb.Replace("[FECHAMASTER]",
                           asignacion.FechaMaster.ToString(
                               System.Configuration.ConfigurationSettings.AppSettings.Get(
                                   "FechaMasterPaperlessFormato")));
                sb.Replace("[AGENTE]", asignacion.Agente.Nombre);
                sb.Replace("[NAVIERA]", asignacion.Naviera.Nombre);
                sb.Replace("[NAVE]", asignacion.Nave.Nombre);
                sb.Replace("[VIAJE]", asignacion.Viaje);
                sb.Replace("[NHOUSESBL]", asignacion.NumHousesBL.ToString());
                sb.Replace("[TIPOCARGA]", asignacion.TipoCarga.Nombre);
                if (asignacion.FechaETA != null)
                    sb.Replace("[FECHAETA]",
                               asignacion.FechaETA.Value.ToString(
                                   System.Configuration.ConfigurationSettings.AppSettings.Get(
                                       "FechaFormatoEtaPaperless")));
                if (asignacion.AperturaNavieras.HasValue)
                    sb.Replace("[APERTUANAVIERAS]", asignacion.AperturaNavieras.Value.ToShortDateString());
                else
                    sb.Replace("[APERTUANAVIERAS]", "");

                if (asignacion.PlazoEmbarcadores != null)
                    sb.Replace("[PLAZOEMBARCADORES]", asignacion.PlazoEmbarcadores.Value.ToShortDateString());
                else
                    sb.Replace("[PLAZOEMBARCADORES]", "");

                sb.Replace("[USUARIO1]", asignacion.Usuario1.NombreCompleto);
                sb.Replace("[USUARIO2]", asignacion.Usuario2.NombreCompleto);

                sb.Replace("[IMPORTANCIA]", asignacion.ImportanciaUsuario1.Nombre);
                sb.Replace("[OBSERVACION]", asignacion.ObservacionUsuario2);
                sb.Replace("[SALTO]", "\n");
                EmailBody = sb.ToString();
                string asunto = "Proceso Documental Finalizado. N°Consolidado: " + info.NumConsolidado;

                //Prepara Lista de Usuarios Receptores
                UsuarioEnvia= ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario.Email;
                //FCL
                if (asignacion.TipoCarga.EsFCL)
                {
                    if (!string.IsNullOrEmpty(EmailGestoresFCL))
                    {
                        ListaFinal = UsuarioEnvia + ";" + EmailGestoresFCL + ";";
                        EnviarEmail(ListaFinal, asunto, EmailBody);
                    }
                }
                //LCL
                if (asignacion.TipoCarga.EsLCL)
                {
                    if (!string.IsNullOrEmpty(EmailGestoresLCL))
                    {
                        ListaFinal = UsuarioEnvia + ";" + EmailGestoresLCL + ";";
                        EnviarEmail(ListaFinal, asunto, EmailBody);
                    }
                }
                //FAK
                if (asignacion.TipoCarga.EsFAK)
                {
                    if (!string.IsNullOrEmpty(EmailGestoresFAK))
                    {
                        ListaFinal = UsuarioEnvia + ";" + EmailGestoresFAK + ";";
                        EnviarEmail(ListaFinal, asunto, EmailBody);
                    }
                }
                //Marca
                if (asignacion.Marca!=null)
                {
                    Marca = asignacion.Marca.Codigo;
                    string EmailGestoresMarca = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailGestores" + Marca.ToUpper().ToString());
                    if (!string.IsNullOrEmpty(EmailGestoresMarca))
                    {
                        ListaFinal = UsuarioEnvia + ";" + EmailGestoresMarca + ";";
                        EnviarEmail(ListaFinal, asunto, EmailBody);
                    }

                }
                res.Estado = Enums.EstadoTransaccion.Aceptada;
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                Log.EscribirLog(ex.Message);
            }
            return res;
        }
Example #2
0
 private ProyectoCraft.Entidades.Paperless.PaperlessAsignacion AgregaDestinatariosporTipoCarga(ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion)
 {
     if (asignacion.TipoCarga.Nombre.Equals("LCL"))
     {
         //Envio de correo segun Flag de base de datos y app.config
         var configuracion = ProyectoCraft.Base.Configuracion.Configuracion.Instance();
         var opcion = configuracion.GetValue("Paperless_Mail_Finalizacion_Etapa1LCL"); //puede retornar un true, false o null
         if (opcion.HasValue && opcion.Value.Equals(true))
             try
             {
                 string[] mails = System.Configuration.ConfigurationSettings.AppSettings.Get("Paperless_Mail_Finalizacion_Etapa1LCL").Split(';');
                 foreach (var mail in mails)
                     if (!asignacion.Usuario2.Email.Contains(mail))
                         asignacion.Usuario2.Email += ";" + mail;
             }
             catch (Exception ex)
             {
                 Log.EscribirLog(ex.Message);
             }
     }
     else if (asignacion.TipoCarga.Nombre.Equals("FCL"))
     {
         //Envio de correo segun Flag de base de datos y app.config
         var configuracion = ProyectoCraft.Base.Configuracion.Configuracion.Instance();
         var opcion = configuracion.GetValue("Paperless_Mail_Finalizacion_Etapa1FCL"); //puede retornar un true, false o null
         if (opcion.HasValue && opcion.Value.Equals(true))
             try
             {
                 string[] mails = System.Configuration.ConfigurationSettings.AppSettings.Get("Paperless_Mail_Finalizacion_Etapa1FCL").Split(';');
                 foreach (var mail in mails)
                     if (!asignacion.Usuario2.Email.Contains(mail))
                         asignacion.Usuario2.Email += ";" + mail;
             }
             catch (Exception ex)
             {
                 Log.EscribirLog(ex.Message);
             }
     }
     return asignacion;
 }
Example #3
0
        public ResultadoTransaccion EnviarMailPaperlessUsuario2TerminaProceso(ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion,
            ProyectoCraft.Entidades.Paperless.PaperlessUsuario1HouseBLInfo info)
        {
            string EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessConfirmacionTerminoProceso");
            string EmailBody = "";

            ResultadoTransaccion res = new ResultadoTransaccion();

            try
            {
                //Determinacion de Usuarios recpetores del mail de aviso
                List<ProyectoCraft.Entidades.Usuarios.clsUsuario> usuarios = new List<clsUsuario>();

                //IList<clsUsuario> supdocumental;
                res = ProyectoCraft.LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado,
                                                                                       Enums.CargosUsuarios.
                                                                                           SupervisorDocumental);
                if (res.Estado == Enums.EstadoTransaccion.Aceptada)
                    usuarios.AddRange((IList<clsUsuario>)res.ObjetoTransaccion);

                res = ProyectoCraft.LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado,
                                                                                       Enums.CargosUsuarios.
                                                                                           SupervisorDeProcesos);
                if (res.Estado == Enums.EstadoTransaccion.Aceptada)
                    usuarios.AddRange((IList<clsUsuario>)res.ObjetoTransaccion);

                //Usuario conectado y que envia el email
                usuarios.Add(ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario);

                //res = LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado, Enums.CargosUsuarios.e);

                foreach (var usuarioaviso in usuarios)
                {
                    StringBuilder sb = new StringBuilder(EmailAviso);
                    sb.Replace("[USUARIOAVISO]", usuarioaviso.NombreCompleto);
                    sb.Replace("[NUMCONSOLIDADO]", info.NumConsolidado);
                    sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString());
                    sb.Replace("[NUMMASTER]", asignacion.NumMaster);
                    sb.Replace("[FECHAMASTER]",
                               asignacion.FechaMaster.ToString(
                                   System.Configuration.ConfigurationSettings.AppSettings.Get(
                                       "FechaMasterPaperlessFormato")));
                    //sb.Replace("[FECHAMASTER]", asignacion.FechaMaster.ToShortDateString());
                    sb.Replace("[AGENTE]", asignacion.Agente.Nombre);
                    sb.Replace("[NAVIERA]", asignacion.Naviera.Nombre);
                    sb.Replace("[NAVE]", asignacion.Nave.Nombre);
                    sb.Replace("[VIAJE]", asignacion.Viaje);
                    sb.Replace("[NHOUSESBL]", asignacion.NumHousesBL.ToString());
                    sb.Replace("[TIPOCARGA]", asignacion.TipoCarga.Nombre);
                    if (asignacion.FechaETA != null)
                        sb.Replace("[FECHAETA]",
                                   asignacion.FechaETA.Value.ToString(
                                       System.Configuration.ConfigurationSettings.AppSettings.Get(
                                           "FechaFormatoEtaPaperless")));
                    //asignacion.FechaETA.Value.ToShortDateString());

                    if (asignacion.AperturaNavieras.HasValue)
                        sb.Replace("[APERTUANAVIERAS]", asignacion.AperturaNavieras.Value.ToShortDateString());
                    else
                        sb.Replace("[APERTUANAVIERAS]", "");

                    if (asignacion.PlazoEmbarcadores != null)
                        sb.Replace("[PLAZOEMBARCADORES]", asignacion.PlazoEmbarcadores.Value.ToShortDateString());
                    else
                        sb.Replace("[PLAZOEMBARCADORES]", "");

                    sb.Replace("[USUARIO1]", asignacion.Usuario1.NombreCompleto);
                    sb.Replace("[USUARIO2]", asignacion.Usuario2.NombreCompleto);

                    sb.Replace("[IMPORTANCIA]", asignacion.ImportanciaUsuario1.Nombre);
                    sb.Replace("[OBSERVACION]", asignacion.ObservacionUsuario2);
                    sb.Replace("[SALTO]", "\n");
                    EmailBody = sb.ToString();
                    string asunto = "Proceso Documental Finalizado. N°Consolidado: " + info.NumConsolidado;

                    EnviarEmail(usuarioaviso.Email, asunto, EmailBody);
                }

                res.Estado = Enums.EstadoTransaccion.Aceptada;
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                Log.EscribirLog(ex.Message);
            }
            return res;
        }
Example #4
0
        public ResultadoTransaccion EnviarMailPaperlessUsuario2ConfirmacionUsuario1(
            ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion)
        {
            string EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessConfirmacionAUsuario2");
            string EmailBody = "";
            ResultadoTransaccion res = new ResultadoTransaccion();

            try
            {
                StringBuilder sb = new StringBuilder(EmailAviso);
                sb.Replace("[USUARIO2]", asignacion.Usuario2.NombreCompleto);
                sb.Replace("[USUARIO1]", asignacion.Usuario1.NombreCompleto);
                sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString());
                sb.Replace("[NUMMASTER]", asignacion.NumMaster);
                //sb.Replace("[FECHAMASTER]", asignacion.FechaMaster.ToShortDateString());
                sb.Replace("[FECHAMASTER]",
                           asignacion.FechaMaster.ToString(
                               System.Configuration.ConfigurationSettings.AppSettings.Get("FechaMasterPaperlessFormato")));
                sb.Replace("[AGENTE]", asignacion.Agente.Nombre);
                sb.Replace("[NAVIERA]", asignacion.Naviera.Nombre);
                sb.Replace("[NAVE]", asignacion.Nave.Nombre);
                sb.Replace("[VIAJE]", asignacion.Viaje);
                sb.Replace("[NHOUSESBL]", asignacion.NumHousesBL.ToString());
                sb.Replace("[TIPOCARGA]", asignacion.TipoCarga.Nombre);

                var configuracion = ProyectoCraft.Base.Configuracion.Configuracion.Instance();
                var opcion = configuracion.GetValue("Paperless_ParcialBrasil"); //puede retornar un true, false o null
                if (opcion.HasValue && opcion.Value.Equals(true))
                {
                    if (asignacion.FechaMaximaVinculacion != null)
                        sb.Replace("Fecha ETA: [FECHAETA] [SALTO]", "Fecha ETA: [FECHAETA] [SALTO] Plazo Vinculacion: "
                                                                    + asignacion.FechaMaximaVinculacion.Value.ToShortDateString()
                                                                    + " [SALTO]");
                    sb.Replace("Proceso documental", "Proceso Cadastro");
                }

                if (asignacion.FechaETA != null)
                    sb.Replace("[FECHAETA]",
                               asignacion.FechaETA.Value.ToString(
                                   System.Configuration.ConfigurationSettings.AppSettings.Get("FechaFormatoEtaPaperless")));

                if (asignacion.AperturaNavieras.HasValue)
                    sb.Replace("[APERTUANAVIERAS]", asignacion.AperturaNavieras.Value.ToShortDateString());
                else
                    sb.Replace("[APERTUANAVIERAS]", "");

                if (asignacion.PlazoEmbarcadores != null)
                    sb.Replace("[PLAZOEMBARCADORES]", asignacion.PlazoEmbarcadores.Value.ToShortDateString());
                else
                    sb.Replace("[PLAZOEMBARCADORES]", "");

                sb.Replace("[IMPORTANCIA]", asignacion.ImportanciaUsuario1.Nombre);
                sb.Replace("[OBSERVACION]", asignacion.ObservacionUsuario2);
                sb.Replace("[SALTO]", "\n");

                EmailBody = sb.ToString();
                string asunto = "Confirmacion de Proceso Documental de Usuario 1ra Etapa";

                try
                {
                    string mailEnCopia = System.Configuration.ConfigurationSettings.AppSettings.Get("MailEnCopia");
                    if (!string.IsNullOrEmpty(mailEnCopia))
                        if (!asignacion.Usuario2.Email.Contains(mailEnCopia.Replace(";", "")))
                        {
                            asignacion.Usuario2.Email += mailEnCopia;
                        }
                }
                catch (Exception ex)
                {
                    Log.EscribirLog(ex.Message);
                }

                asignacion = AgregaDestinatariosporTipoCarga(asignacion);

                EnviarEmail(asignacion.Usuario2.Email, asunto, EmailBody);

                //LogEnviarEmail(Enums.VisitaTipoEmail.ComentarioAInformeVisita, asignacion, EmailBody, asunto);

                res.Estado = Enums.EstadoTransaccion.Aceptada;
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                Log.EscribirLog(ex.Message);
            }
            return res;
        }
Example #5
0
        public ResultadoTransaccion EnviarMailPaperlessRechazoAsignacionU2(
            ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion)
        {
            ResultadoTransaccion resultado = new ResultadoTransaccion();
            string EmailAviso =
                System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessRechazoAsignacionU2");
            string EmailBody = "";
            try
            {
                StringBuilder sb = new StringBuilder(EmailAviso);
                sb.Replace("[USUARIO]", asignacion.UsuarioCreacion.NombreCompleto);
                sb.Replace("[USUARIO2]", asignacion.Usuario2.NombreCompleto);
                sb.Replace("[NUMMASTER]", asignacion.NumMaster);
                sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString());
                sb.Replace("[SALTO]", "\n");

                EmailBody = sb.ToString();
                EnviarEmail(asignacion.UsuarioCreacion.Email, "Asignacion Rechazada N° Master " + asignacion.NumMaster,
                            EmailBody);

                resultado.Estado = Enums.EstadoTransaccion.Aceptada;
            }
            catch (Exception ex)
            {
                resultado.Estado = Enums.EstadoTransaccion.Rechazada;
            }

            return resultado;
        }
Example #6
0
        public ResultadoTransaccion EnviarMailPaperlessPreAlerta(ProyectoCraft.Entidades.Paperless.PaperlessPreAlerta prealerta)
        {
            string user = ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario.NombreCompleto;
            string emailto = ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario.Email;
            string EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessCierrePreAlerta");
            string EmailBody = "";
            ResultadoTransaccion res = new ResultadoTransaccion();

            try
            {
                StringBuilder sb = new StringBuilder(EmailAviso);
                sb.Replace("[USUARIO]", user);
                sb.Replace("[NUMCONSOLIDADA]", prealerta.NumConsolidada);
                sb.Replace("[FECHAPREALERTA]", prealerta.FechaCreacion.Value.ToShortDateString());
                sb.Replace("[AGENTE]", prealerta.Agente.Nombre);
                sb.Replace("[NAVIERA]", prealerta.Naviera.Nombre);
                sb.Replace("[NAVE]", prealerta.Nave.Nombre);

                if (prealerta.FechaSalida != null && prealerta.FechaSalida.Value.ToShortDateString() != "01-01-9999")
                    sb.Replace("[FECHASALIDA]", prealerta.FechaSalida.Value.ToShortDateString());
                else
                    sb.Replace("[FECHASALIDA]", "");

                if (prealerta.FechaLlegada != null && prealerta.FechaLlegada.Value.ToShortDateString() != "01-01-9999")
                    sb.Replace("[FECHALLEGADA]", prealerta.FechaLlegada.Value.ToShortDateString());
                else
                    sb.Replace("[FECHALLEGADA]", "");

                if (prealerta.PuertoOrigen != null)
                    sb.Replace("[PUERTOORIGEN]", prealerta.PuertoOrigen.Nombre);
                else
                    sb.Replace("[PUERTOORIGEN]", "");

                if (prealerta.PuertoDestino != null)
                    sb.Replace("[PUERTODESTINO]", prealerta.PuertoDestino.Nombre);
                else
                    sb.Replace("[PUERTODESTINO]", "");

                if (prealerta.NumMaster != null)
                    sb.Replace("[NUMMASTER]", prealerta.NumMaster);
                else
                    sb.Replace("[NUMMASTER]", "");

                if (prealerta.FechaRecibimiento != null && prealerta.FechaRecibimiento.Value.ToShortDateString() != "01-01-9999")
                    sb.Replace("[FECHARECIBIMIENTO]", prealerta.FechaRecibimiento.Value.ToShortDateString());
                else
                    sb.Replace("[FECHARECIBIMIENTO]", "");

                sb.Replace("[SALTO]", "\n");

                EmailBody = sb.ToString();
                string asunto = "Datos PreAlerta";

                EnviarEmail(emailto, asunto, EmailBody);

                res.Estado = Enums.EstadoTransaccion.Aceptada;
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                Log.EscribirLog(ex.Message);
            }
            return res;
        }
Example #7
0
        public ResultadoTransaccion EnviarMailPaperlessAsignacionUsuario1(
            ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion)
        {
            string EmailAvisousuario1 =
                System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessAsignacionUsuario1");
            string EmailAvisousuario2 =
                System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessAsignacionUsuario2");
            string EmailBody = "";
            ResultadoTransaccion res = new ResultadoTransaccion();
            string asunto = "";

            try
            {
                StringBuilder sb = new StringBuilder(EmailAvisousuario1);
                if (asignacion.Estado != Enums.EstadoPaperless.EnviadoUsuario2)
                {
                    sb.Replace("[USUARIO1]", asignacion.Usuario1.NombreCompleto);
                    sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString());
                    sb.Replace("[NUMMASTER]", asignacion.NumMaster);
                    //sb.Replace("[FECHAMASTER]", asignacion.FechaMaster.ToShortDateString());
                    sb.Replace("[FECHAMASTER]",
                               asignacion.FechaMaster.ToString(
                                   System.Configuration.ConfigurationSettings.AppSettings.Get("FechaMasterPaperlessFormato")));
                    sb.Replace("[AGENTE]", asignacion.Agente.Nombre);
                    sb.Replace("[NAVIERA]", asignacion.Naviera.Nombre);
                    if (asignacion.Nave != null)
                    {
                        sb.Replace("[NAVE]", asignacion.Nave.Nombre);
                    }
                    else
                    {
                        sb.Replace("[NAVE]", "");
                    }
                    sb.Replace("[VIAJE]", asignacion.Viaje);
                    sb.Replace("[NHOUSESBL]", asignacion.NumHousesBL.ToString());
                    sb.Replace("[TIPOCARGA]", asignacion.TipoCarga.Nombre);
                    if (asignacion.FechaETA != null)
                        sb.Replace("[FECHAETA]",
                                   asignacion.FechaETA.Value.ToString(
                                       System.Configuration.ConfigurationSettings.AppSettings.Get("FechaFormatoEtaPaperless")));

                    if (asignacion.AperturaNavieras.HasValue)
                        sb.Replace("[APERTUANAVIERAS]", asignacion.AperturaNavieras.Value.ToShortDateString());
                    else
                        sb.Replace("[APERTUANAVIERAS]", "");

                    if (asignacion.PlazoEmbarcadores != null)
                        sb.Replace("[PLAZOEMBARCADORES]", asignacion.PlazoEmbarcadores.Value.ToShortDateString());
                    else
                        sb.Replace("[PLAZOEMBARCADORES]", "");

                    sb.Replace("[IMPORTANCIA]", asignacion.ImportanciaUsuario1.Nombre);
                    sb.Replace("[USUARIOCONTRAPARTE]", asignacion.Usuario2.NombreCompleto);
                    sb.Replace("[OBSERVACION]", asignacion.ObservacionUsuario1);
                    sb.Replace("[SALTO]", "\n");
                    EmailBody = sb.ToString();
                    asunto = "Nueva asignacion de Proceso Documental";

                    //Enviar a Usuario 1

                    EnviarEmail(asignacion.Usuario1.Email, asunto, EmailBody);
                }

                //Enviar a USuario 2)
                sb = new StringBuilder(EmailAvisousuario2);
                sb.Replace("[USUARIO1]", asignacion.Usuario2.NombreCompleto);
                sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString());
                sb.Replace("[NUMMASTER]", asignacion.NumMaster);
                sb.Replace("[FECHAMASTER]",
                           asignacion.FechaMaster.ToString(
                               System.Configuration.ConfigurationSettings.AppSettings.Get("FechaMasterPaperlessFormato")));

                sb.Replace("[AGENTE]", asignacion.Agente.Nombre);
                sb.Replace("[NAVIERA]", asignacion.Naviera.Nombre);
                if (asignacion.Nave != null)
                {
                    sb.Replace("[NAVE]", asignacion.Nave.Nombre);
                }
                else
                {
                    sb.Replace("[NAVE]", "");
                }
                sb.Replace("[VIAJE]", asignacion.Viaje);
                sb.Replace("[NHOUSESBL]", asignacion.NumHousesBL.ToString());
                sb.Replace("[TIPOCARGA]", asignacion.TipoCarga.Nombre);
                if (asignacion.FechaETA != null)
                    sb.Replace("[FECHAETA]",
                               asignacion.FechaETA.Value.ToString(
                                   System.Configuration.ConfigurationSettings.AppSettings.Get("FechaFormatoEtaPaperless")));

                if (asignacion.AperturaNavieras.HasValue)
                    sb.Replace("[APERTUANAVIERAS]", asignacion.AperturaNavieras.Value.ToShortDateString());
                else
                    sb.Replace("[APERTUANAVIERAS]", "");

                if (asignacion.PlazoEmbarcadores != null)
                    sb.Replace("[PLAZOEMBARCADORES]", asignacion.PlazoEmbarcadores.Value.ToShortDateString());
                else
                    sb.Replace("[PLAZOEMBARCADORES]", "");

                sb.Replace("[IMPORTANCIA]", asignacion.ImportanciaUsuario1.Nombre);
                sb.Replace("[USUARIOCONTRAPARTE]", asignacion.Usuario1.NombreCompleto);
                sb.Replace("[OBSERVACION]", asignacion.ObservacionUsuario1);
                sb.Replace("[SALTO]", "\n");
                EmailBody = sb.ToString();
                asunto = "Nueva asignacion de Proceso Documental";

                EnviarEmail(asignacion.Usuario2.Email, asunto, EmailBody);
                res.Estado = Enums.EstadoTransaccion.Aceptada;
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                Log.EscribirLog(ex.Message);
            }
            return res;
        }