Example #1
0
        public async Task AddAsync(News news)
        {
            news.DatePublished = DateTime.Now;
            await SaveImageAsync(news);

            await _context.News.AddAsync(news);

            await _context.SaveChangesAsync();
        }
Example #2
0
        public async Task <IActionResult> AnswerQuestion(int id, SendEmailViewModel model)
        {
            Question     question     = _context.Questions.FirstOrDefault(x => id == x.Id);
            var          user         = _context.Users.FirstOrDefault(x => question.UserId == x.Id);
            EmailService emailService = new EmailService();

            await emailService.SendEmailAsync(user.Email, "Відповідь на питання",
                                              $"Ваше питання було: \"{question.QuestionText}\"\n\nОфіційна відповідь на ваше питання:\n\n{model.Message}");

            question.IsAnswered = true;
            _context.Questions.Update(question);
            await _context.SaveChangesAsync();

            return(RedirectToAction("GetQuestions"));
        }
        public async Task <IActionResult> AskQuestion(HomeViewModel model)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user != null)
            {
                Question question = new Question
                {
                    QuestionText    = model.Question,
                    QuestionTopicId = model.TopicId
                };
                _context.Questions.Add(question);
                user.Questions.Add(question);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }
        public async Task <IActionResult> Index(ConfirmPaymentViewModel model)
        {
            var user = await _userManager.GetUserAsync(User);

            var marker = await _context.Markers.FirstOrDefaultAsync(x => x.Id == model.MarkerId);

            var seedling = await _context.Seedlings.FirstOrDefaultAsync(x => x.Id == model.SeedlingId);

            var payment = new Payment
            {
                User            = user,
                Marker          = marker,
                Seedling        = seedling,
                PurchasedAmount = model.PurchasedAmount,
                Price           = model.Price
            };
            await _context.Payments.AddAsync(payment);

            await new EmailService().SendEmailAsync(user.Email, "Статус оплати",
                                                    $"Дорога(-ий) {user.Name} {user.UserSurname}," +
                                                    $" дякуємо вам за оплату! Зовсім скоро ви отримаєте електронне повідомлення про статус оплати!");
            if (seedling.Amount > 0)
            {
                seedling.Amount -= model.PurchasedAmount;
                _context.Update(seedling);
            }
            if (marker.PlantCount > 0)
            {
                marker.PlantCount -= model.PurchasedAmount;
                _context.Update(marker);
            }
            if (marker.PlantCount == 0)
            {
                marker.isPlantingFinished = true;
                _context.Update(marker);
            }

            await _context.SaveChangesAsync();


            return(RedirectToAction("Index", "Map"));
        }
Example #5
0
        public async Task AddAsync(QuestionTopic item)
        {
            await _context.QuestionTopics.AddAsync(item);

            await _context.SaveChangesAsync();
        }
        public async Task AddAsync(Seedling newSeedling)
        {
            await _context.Seedlings.AddAsync(newSeedling);

            await _context.SaveChangesAsync();
        }
Example #7
0
        public async Task AddAsync(Marker newMarker)
        {
            await _context.Markers.AddAsync(newMarker);

            await _context.SaveChangesAsync();
        }