Esempio n. 1
0
        public async Task <IActionResult> AddUserTimeSlot()
        {
            var currentUser = await _userManager.GetUserAsync(User);

            if (currentUser == null)
            {
                return(Challenge());
            }

            var timeSlots = await _timeSlotService.GetAllTimeSlotsAsync();

            var currentUserTimeSlots = await _userTimeSlotService.GetUserTimeSlotsForUserAsync(currentUser);

            var currentTimeSlots = currentUserTimeSlots.Select(x => x.TimeSlotModel).ToList();

            var availableTimeSlots =
                timeSlots
                .Where(x => !currentTimeSlots.Contains(x))
                .Select(x => new SelectListItem
            {
                Text  = $"{x.StartTime:G} - {x.EndTime:G} - {x.SessionModel.SpeakerModel.FirstName} {x.SessionModel.SpeakerModel.LastName} - {x.RoomModel.Name}",
                Value = $"{x.StartTime:G} - {x.EndTime:G}"
            })
                .ToList();

            var userTimeSlotBindingModel = new UserTimeSlotBindingModel
            {
                TimeSlots = availableTimeSlots
            };

            return(View(userTimeSlotBindingModel));
        }
        public async Task <IActionResult> Index()
        {
            var currentUser = await _userManager.GetUserAsync(User);

            if (currentUser == null)
            {
                return(Challenge());
            }

            var timeSlots = await _timeSlotService.GetAllTimeSlotsAsync();

            var viewModel = new TimeSlotViewModel
            {
                TimeSlotModels = timeSlots
            };

            return(View(viewModel));
        }