Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public ActionResult DateList(Guid id)
        {
            var semester = SemesterService.GetSemester(DateTime.Today);

            var roomService = new RoomService();

            var model = roomService.GetRoomSchedule(id, semester);

            return(View(model));
        }
Ejemplo n.º 3
0
        /// <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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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));
            }
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        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));
        }