public async Task <JsonResult> SubscribeRecipes(string email) { ApplicationUser user = await this._userManager.GetUserAsync(HttpContext.User); RecipeSubscription recipeSubscription = new RecipeSubscription { Email = email, CreationTime = DateTime.Now, UserId = user?.Id }; if (email == null || email.Length == 0) { return(Json(new JsonViewModel(false, "Email cannot be empty!"))); } if (this._mailService.CheckIfSubscriberExist(email)) { return(Json(new JsonViewModel(false, "Email already exists!"))); } this._mailService.Add(recipeSubscription); this._mailService.SubscribeRecipes(recipeSubscription.Id, email); return(Json(new JsonViewModel(true, "You have successfully subscribed!"))); }
private void SendSubscriberMail(RecipeSubscription subscriber, string recipeArticles, string baseUrl, string subject, string body) { body = body.Replace("{{recipe-articles}}", recipeArticles) .Replace("{{dateFrom}}", DateTime.Now.AddDays(-7).ToString("dd.MM.yyyy")) .Replace("{{dateTo}}", DateTime.Now.ToString("dd.MM.yyyy")) .Replace("{{unsubscribelink}}", $"{baseUrl}/Mail/Recipe/Unsubscribe?id={subscriber.Id}"); this.SendMail(subscriber.Email, subject, body); }
public IActionResult UnsubscribeRecipes(long id) { RecipeSubscription recipeSubscription = this._mailService.GetById(id); string message = string.Empty; if (recipeSubscription != null) { this._mailService.UnsubscribeRecipes(recipeSubscription.Email); this._mailService.Remove(recipeSubscription); message = "You have successfully unsubscribe for recipes."; } else { message = "You have already unsubscribe for recipes."; } ViewData["message"] = message; return(View("UnsubscribeRecipes")); }
public void Remove(RecipeSubscription recipeSubscription) { this._repository.Delete(recipeSubscription); }
public void Add(RecipeSubscription recipeSubscription) { this._repository.Add(recipeSubscription); }