Example #1
0
 public RegistroUsuarioController(IUsuarioServicio servicio, IEmailServicio emailServicio,
                                  ILogger <RegistroUsuarioController> logger)
 {
     _servicio      = servicio;
     _emailServicio = emailServicio;
     _logger        = logger;
 }
        public async Task <IActionResult> Index(InvitacionJuegoModel invitacion, [FromServices] IEmailServicio emailServicio)
        {
            // Obtener el servicio que maneja la invitacion de juegos que es un singleton
            var invitacionServicio = Request.HttpContext.RequestServices.GetService <IInvitacionJuegoServicio>();

            if (ModelState.IsValid)
            {
                try
                {
                    var invitacionModel = new InvitacionEmailModel
                    {
                        Nombre          = $"{invitacion.EmailDestino}",
                        InvitadoPor     = await _servicio.ObtenerUsuarioPorEmail(invitacion.InvitadoPor),
                        ConfirmacionUrl = Url.Action("ConfirmacionInvitacionJuego", "InvitacionJuego", new { id = invitacion.Id }, Request.Scheme, Request.Host.ToString()),
                        FechaInvitacion = invitacion.FechaConfirmacion
                    };

                    var servicioRenderEmail = HttpContext.RequestServices.GetService <IEmailRenderPlantillaServicio>();
                    var mensaje             = await servicioRenderEmail.RenderearTemplate <InvitacionEmailModel>("PlantillasEmail/InvitacionEmail",
                                                                                                                 invitacionModel, Request.Host.ToString());

                    await emailServicio.EnviarEmail(invitacion.EmailDestino, _localizador["Invitación para jugar al Ta te ti"], mensaje);
                }
                catch
                {
                }

                var invitacionAgregada = invitacionServicio.AgregarInvitacion(invitacion).Result;
                return(RedirectToAction("ConfirmacionInvitacionJuego", new { id = invitacion.Id }));
            }
            return(View(invitacion));
        }
Example #3
0
 public ContactoController(IEmailServicio emailServicio)
 {
     _emailServicio = emailServicio;
 }
 public ContactoController(IEmailServicio emailServicio)
 {
     _emailServicio = emailServicio;
 }