public async Task <IActionResult> Create(string week, Guid roomId) { var user = await GetCurrentUserAsync(); if (user == null) { return(Redirect("/")); } else { DateTime WeekOf; if (String.IsNullOrEmpty(week)) { WeekOf = DateTime.Today; } else { WeekOf = DateTime.Parse(week); } var currentDayOfWeek = (int)WeekOf.DayOfWeek; var sunday = WeekOf.AddDays(-currentDayOfWeek); var events = (roomId == null) ? new List <RoomReservation>() : await _context.RoomReservation.Where(i => i.Room.ID == roomId && i.Start > sunday && i.Start < sunday.AddDays(7)).ToListAsync(); return(View(new CreateViewModel { Sunday = sunday, RoomId = roomId, Rooms = await _context.Rooms.ToListAsync(), Events = events, })); } }
public async Task <IActionResult> Index(string week, string view) { var user = await GetCurrentUserAsync(); if (user == null) { return(View("IndexLogin")); } else { ApplicationUser target; if (!string.IsNullOrEmpty(view)) { var _u = _context.Users.FirstOrDefault(i => i.Id == view); if (_u == null) { return(Redirect("/?danger=user not found")); } if (!await _context.CanView(user, _u)) { return(Redirect("/?danger=we are not allowed to view this calendar")); } target = _u; } else { target = user; } DateTime WeekOf; if (String.IsNullOrEmpty(week)) { WeekOf = DateTime.Today; } else { WeekOf = DateTime.Parse(week); } var currentDayOfWeek = (int)WeekOf.DayOfWeek; var sunday = WeekOf.AddDays(-currentDayOfWeek); return(View(new IndexViewModel { Sunday = sunday, Events = await _context.LoadUserEvents(target, user, sunday), User = target })); } }