public IActionResult Send(MessageTGViewModel viewModel) { var currUser = _userManager.GetUserId(HttpContext.User); foreach (var participant in viewModel.Participants) { var message = new Message { UserToId = participant, UserFromId = currUser, DateSent = DateTime.Now, Subject = viewModel.Subject, MessageBody = viewModel.MessageBody }; _context.Messages.Add(message); } _context.SaveChanges(); return(Redirect("/messages/inbox/success")); }
public IActionResult MessageTourGroup(int tourId) { // Check if tour exists in DB var tourInDb = _context.Tours.SingleOrDefault(t => t.Id == tourId); if (tourInDb == null) { return(NotFound()); } //Check if current user is the owner of the tour var currUser = _userManager.GetUserId(HttpContext.User); if (!tourInDb.UserId.Equals(currUser)) { return(BadRequest()); } // If validation checks pass retrieve all the users that made the booking var receivers = _context.Bookings .Where(b => b.TourId == tourId) .Select(b => b.UserId) .Distinct() .ToList(); var viewModel = new MessageTGViewModel { TourId = tourInDb.Id, TourName = tourInDb.Name, Participants = receivers, Subject = "Re: " + tourInDb.Name }; return(View(viewModel)); }