コード例 #1
0
        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"));
        }
コード例 #2
0
        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));
        }