コード例 #1
0
        public IActionResult CreateModal()
        {
            var data = new ScheduleCreateViewModal();

            data.Rooms = new SelectList(
                _sheduleService.GetRooms().Select(x => new SelectListItem
            {
                Text  = x.Name,
                Value = x.Id.ToString()
            }).ToList(), "Value", "Text");

            return(PartialView(data));
        }
コード例 #2
0
        public void CreateSchedule(ScheduleCreateViewModal schedule, string UserId)
        {
            var available = _scheduleRepo.GetSchedulesByRange(schedule.TimeStart, schedule.TimeEnd).ToList();

            if (available.Count() == 0)
            {
                _scheduleRepo.create(new ScheduleModel()
                {
                    Title     = schedule.Title,
                    TimeStart = (DateTime)schedule.TimeStart,
                    TimeEnd   = (DateTime)schedule.TimeEnd,
                    RoomId    = schedule.RoomId,
                    UserId    = UserId
                });

                _scheduleRepo.SaveChanges();
            }
            else
            {
                throw new Exception();
            }
        }
コード例 #3
0
        public IActionResult Create(ScheduleCreateViewModal model)
        {
            var available = _sheduleService.GetAvailableRoom(model).ToList();

            if (available.Count() == 0)
            {
                var UserId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
                _sheduleService.CreateSchedule(model, UserId);

                var data = GetItems(null, null);

                return(PartialView("ItemsTable", data));
            }
            else
            {
                var response = "<br />";
                foreach (var item in available)
                {
                    response = response + "Title: " + item.Title + " Start: " + item.TimeStart.ToString("dd/MM/yyyy HH:mm:ss") + " End: " + item.TimeEnd.ToString("dd/MM/yyyy HH:mm:ss") + "<br />";
                }
                return(BadRequest("There are already conflicting times for the Requested schedule!" + response));
            }
        }
コード例 #4
0
 public IQueryable <ScheduleModel> GetAvailableRoom(ScheduleCreateViewModal schedule)
 {
     return(_scheduleRepo.GetSchedulesByRangeAndRoom((DateTime)schedule.TimeStart, (DateTime)schedule.TimeEnd, schedule.RoomId));
 }