public JsonResult RoomListByOrg(Guid orgId, string number) { var user = GetCurrentUser(); var org = GetOrganiser(orgId); var member = MemberService.GetOrganiserMember(org.Id, user.Id); var isOrgAdmin = false; if (member != null) { if (member.IsRoomAdmin || member.IsAdmin) { isOrgAdmin = true; } } var roomList = new MyStik.TimeTable.Web.Services.RoomService().GetRooms(orgId, isOrgAdmin); var list = roomList.Where(l => l.Number.ToUpper().Contains(number.ToUpper())) .OrderBy(l => l.Number) .Select(l => new { name = l.FullName, capacity = Math.Abs(l.Capacity), id = l.Id }) .Take(10); return(Json(list)); }
public ActionResult DateList(Guid id) { var semester = SemesterService.GetSemester(DateTime.Today); var roomService = new RoomService(); var model = roomService.GetRoomSchedule(id, semester); return(View(model)); }
/// <summary> /// /// </summary> /// <returns></returns> public ActionResult RoomList() { var org = GetMyOrganisation(); var roomService = new MyStik.TimeTable.Web.Services.RoomService(); var rooms = roomService.GetRooms(org.Id, true); ViewBag.UserRight = GetUserRight(User.Identity.Name, org.ShortName); ViewBag.Organiser = org; return(View(rooms)); }
public JsonResult RoomListForDay(string number, string sem, int?day, TimeSpan?from, TimeSpan?until) { IEnumerable <Room> roomList; var allRooms = Db.Rooms.Where(r => r.Number.ToUpper().StartsWith(number.ToUpper())).OrderBy(r => r.Number) .ToList(); // Bei kurzer Eingabe nicht prüfen => performancegründe if (number.Length < 3) { var list = allRooms .Select(l => new { name = l.FullName, capacity = Math.Abs(l.Capacity), }) .Take(10) .ToList(); return(Json(list)); } var semester = new SemesterService().GetSemester(sem); if (semester != null && day.HasValue && @from.HasValue && until.HasValue) { var dayOfWeek = (DayOfWeek)day.Value; roomList = new MyStik.TimeTable.Web.Services.RoomService().GetFreeRooms(dayOfWeek, from.Value, until.Value, semester, IsOrgAdmin(), allRooms); } else { roomList = new MyStik.TimeTable.Web.Services.RoomService().GetAllRooms(IsOrgAdmin(), allRooms); } var list2 = roomList .Select(l => new { name = l.FullName, capacity = Math.Abs(l.Capacity), }) .Take(10) .ToList(); return(Json(list2)); }
public JsonResult RoomListComplete(string number) { var roomList = new MyStik.TimeTable.Web.Services.RoomService().GetAllRooms(true); var list = roomList.Where(l => l.Number.ToUpper().Contains(number.ToUpper())) .OrderBy(l => l.Number) .Select(l => new { name = l.FullName, capacity = Math.Abs(l.Capacity), }) .Take(10); return(Json(list)); }
public JsonResult RoomList(string number, DateTime?date, TimeSpan?from, TimeSpan?until, bool?useFree) { // Den User ermitteln var org = GetMyOrganisation(); var member = MemberService.GetMember(org.Id); var isOrgAdmin = member?.IsAdmin ?? false; IEnumerable <Room> roomList; if (useFree.HasValue && date.HasValue && @from.HasValue && until.HasValue) { DateTime begin = date.Value.AddHours(@from.Value.Hours).AddMinutes(@from.Value.Minutes); DateTime end = date.Value.AddHours(until.Value.Hours).AddMinutes(until.Value.Minutes); roomList = useFree.Value ? new MyStik.TimeTable.Web.Services.RoomService().GetFreeRooms(org.Id, isOrgAdmin, begin, end) : new MyStik.TimeTable.Web.Services.RoomService().GetAllRooms(isOrgAdmin); } else { roomList = new MyStik.TimeTable.Web.Services.RoomService().GetAllRooms(isOrgAdmin); } if (useFree.HasValue && useFree.Value) { var list = roomList.Where(l => l.Number.ToUpper().Contains(number.ToUpper())) .OrderByDescending(l => l.Capacity) .ThenBy(l => l.Number) .Select(l => new { name = l.FullName, capacity = Math.Abs(l.Capacity), }) .Take(10); return(Json(list)); } else { var list = roomList.Where(l => l.Number.ToUpper().Contains(number.ToUpper())) .OrderBy(l => l.FullName) .Select(l => new { name = l.Number, capacity = Math.Abs(l.Capacity), }) .Take(10); return(Json(list)); } }
public JsonResult RoomListByOrg(Guid orgId, string number) { var isOrgAdmin = IsRoomAdmin(orgId); var roomList = new MyStik.TimeTable.Web.Services.RoomService().GetRooms(orgId, isOrgAdmin); var list = roomList.Where(l => l.Number.ToUpper().Contains(number.ToUpper())) .OrderBy(l => l.Number) .Select(l => new { name = l.FullName, capacity = Math.Abs(l.Capacity), id = l.Id }) .Take(10); return(Json(list)); }
public ActionResult CreateReservation() { var semester = SemesterService.GetSemester(DateTime.Today); var memberService = new MemberService(Db, UserManager); var roomService = new MyStik.TimeTable.Web.Services.RoomService(); var org = GetMyOrganisation(); var userRight = GetUserRight(User.Identity.Name, org.ShortName); // Alle Räume, auf die der Veranstalter Zugriff hat var rooms = roomService.GetRooms(org.Id, userRight.IsRoomAdmin); var now = DateTime.Now; var minute = DateTime.Now.Minute; var quarter = minute / 15; var time = now.AddMinutes(-minute + quarter * 15); var model = new ReservationCreateModel { NewDate = DateTime.Today.ToShortDateString(), NewBegin = time.TimeOfDay.ToString(), NewEnd = time.TimeOfDay.ToString(), DailyEnd = DateTime.Today.ToShortDateString(), WeeklyEnd = DateTime.Today.ToShortDateString(), IsDaily = false, IsWeekly = false, Rooms = rooms, OrganiserId = org.Id }; ViewBag.Organiser = Db.Organisers.OrderBy(x => x.ShortName).Select(c => new SelectListItem { Text = c.ShortName, Value = c.Id.ToString(), }); return(View(model)); }