/// <summary>
        /// Envia el mensaje o notificación de un nuevo registro
        /// </summary>
        /// <param name="demografiaDatos"></param>
        /// <param name="linkConfirmation"></param>
        /// <returns></returns>
        public async Task EnviarMensajeRegistro(DemografiaDatos demografiaDatos, string linkConfirmation)
        {
            try
            {
                LiquidObject liquidObject = new LiquidObject
                {
                    ClienteLiquid = new ClienteLiquid(demografiaDatos),
                    AppLiquid     = GetInfoApp()
                };

                var messageTemplate = _repoTemplateMensaje.GetTemplatePorNombre(COCodigoTemplate.REGISTRO_CUENTA);

                if (messageTemplate == null)
                {
                    throw new Exception("No se encontró el template, " + COCodigoTemplate.REGISTRO_CUENTA);
                }

                Template template         = Template.Parse(messageTemplate.Contenido);
                string   templateConDatos = template.Render(Hash.FromAnonymousObject(new { Cliente = liquidObject.ClienteLiquid, linkConfirmation, App = liquidObject.AppLiquid }));

                var emailAccount = _configuration.GetSection("Email").Get <MailOptions>();

                await _emailSender.SendEmail(
                    emailAccount, GetSubjectTemplate(messageTemplate.Subject, liquidObject.AppLiquid),
                    templateConDatos, emailAccount.SenderEmail,
                    emailAccount.SenderName, demografiaDatos.Email, demografiaDatos.Nombres);
            }
            catch (Exception e)
            {
                throw new Exception("Problema en el envío del correo. " + e.Message);
            }
        }
예제 #2
0
 public ClienteLiquid(DemografiaDatos demografiaDatos)
 {
     _demografiaDatos = demografiaDatos;
 }