Ejemplo n.º 1
0
        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!")));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
 public void Remove(RecipeSubscription recipeSubscription)
 {
     this._repository.Delete(recipeSubscription);
 }
Ejemplo n.º 5
0
 public void Add(RecipeSubscription recipeSubscription)
 {
     this._repository.Add(recipeSubscription);
 }