public ActionResult GetMeetingDetails(int meetingId) { MeetingDetailsModel meeting = _meetingService.GetMeeting(UserId, meetingId); var model = new MeetingDetailsBindModel(); model.meetingId = meeting.Id; model.title = meeting.Title; model.status = meeting.CurrentUserStatus; model.creatorName = meeting.Creator.Name; model.creatorAvatarUrl = _fileService.GetSasUri("profilepictures", meeting.Creator.AvatarUrl); model.startDate = meeting.StartDate.ToString("o", CultureInfo.InvariantCulture); model.endDate = meeting.EndDate.ToString("o", CultureInfo.InvariantCulture); model.creationDate = meeting.CreationDate.ToString("o", CultureInfo.InvariantCulture); model.guests = _mapper.Map <List <GuestBindModel> >(meeting.Guests); model.isCreator = (meeting.Creator.Id == UserId); model.placeId = meeting.Place.Id; model.placeTypeId = meeting.Place.PlaceTypeId; model.latitude = meeting.Place.Latitude; model.longitude = meeting.Place.Longitude; return(Ok(model)); }
public MeetingDetailsModel GetMeeting(string userId, int meetingId) { var userMeeting = _dbContext.UserMeetings .Include(um => um.Meeting) .ThenInclude(m => m.Place) .Include(um => um.Meeting) .ThenInclude(m => m.UserMeetings) .ThenInclude(um2 => um2.User) .Include(um => um.Meeting) .ThenInclude(m => m.User) .Include(um => um.User) .Where(um => um.UserId == userId && um.MeetingId == meetingId) .FirstOrDefault(); var model = new MeetingDetailsModel(); model.Id = meetingId; model.Creator = _mapper.Map <UserModel>(userMeeting.Meeting.User); model.StartDate = userMeeting.Meeting.StartDate; model.EndDate = userMeeting.Meeting.EndDate; model.Title = userMeeting.Meeting.Title; model.Place = _mapper.Map <PlaceModel>(userMeeting.Meeting.Place); model.CreationDate = userMeeting.Meeting.CreationDate; string sasToken = _fileService.GetSasToken("profilepictures"); model.Guests = (from um in userMeeting.Meeting.UserMeetings select new GuestModel { Id = um.User.Id, Name = um.User.Name, Description = um.User.Description, AvatarUrl = !string.IsNullOrEmpty(um.User.AvatarUrl) ? um.User.AvatarUrl + sasToken : "", Status = um.Status }).ToList(); model.CurrentUserStatus = userMeeting.Status; return(model); }