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)); }
public ContactoController(IEmailServicio emailServicio) { _emailServicio = emailServicio; }