コード例 #1
0
        public async Task <EventForDetailedDto> GetEvent(int id)
        {
            var dbEvent = await _context.Events.Include(e => e.EventParticipants.Select(u => u.User))
                          .Include(e => e.Posts.Select(p => p.Creator)).Include(e => e.Creator).FirstOrDefaultAsync(e => e.Id == id);

            return(EventTranslator.ToEventForDetailedDto(dbEvent));
        }
コード例 #2
0
ファイル: PostService.cs プロジェクト: jojjebror/TrivselApp
        public async Task <EventForDetailedDto> DeletePost(int id, int eventId)
        {
            var dbPost = await _context.Posts.FirstOrDefaultAsync(p => p.Id == id);

            _context.Posts.Remove(dbPost);
            await _context.SaveChangesAsync();

            //return id;

            var dbEvent = await _context.Events.Include(e => e.EventParticipants.Select(u => u.User))
                          .Include(p => p.Posts.Select(po => po.Creator)).Include(e => e.Creator).FirstOrDefaultAsync(e => e.Id == eventId);

            return(EventTranslator.ToEventForDetailedDto(dbEvent));
        }
コード例 #3
0
        public async Task <EventForDetailedDto> AddEventParticipantStatus(int eventId, int userId, string answer)
        {
            //Check if participant already exist and has answered to the event
            var eventParticipant = await _context.EventParticipants
                                   .FirstOrDefaultAsync(ep => ep.EventId == eventId && ep.UserId == userId);

            if (eventParticipant == null)
            {
                //Add participants answer to db if not answered earlier
                var newEp = new EventParticipant
                {
                    EventId = eventId,
                    UserId  = userId,
                    Status  = answer
                };

                _context.EventParticipants.Add(newEp);
            }
            else
            {
                //Update participants answer if already answered
                eventParticipant.Status = answer;
            }

            await _context.SaveChangesAsync();

            //Update the participants status for the google calendar event
            var updatedEp = await _context.EventParticipants.Include(ep => ep.User).Include(ep => ep.Event)
                            .FirstOrDefaultAsync(ep => ep.EventId == eventId && ep.UserId == userId);

            _googleCalendarService.UpdateGoogleEventParticipantStatus(updatedEp);

            var dbEvent = await _context.Events.Include(e => e.EventParticipants.Select(u => u.User))
                          .Include(e => e.Posts.Select(p => p.Creator)).Include(e => e.Creator).FirstOrDefaultAsync(e => e.Id == eventId);

            return(EventTranslator.ToEventForDetailedDto(dbEvent));
        }