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)); }
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(); } }
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)); } }
public IQueryable <ScheduleModel> GetAvailableRoom(ScheduleCreateViewModal schedule) { return(_scheduleRepo.GetSchedulesByRangeAndRoom((DateTime)schedule.TimeStart, (DateTime)schedule.TimeEnd, schedule.RoomId)); }