public IActionResult Index(ResourceBooking model) { //check booking is available var existingBookings = _context.ResourceBookings .Where(b => b.ResourceId == model.ResourceId) .Where(b => b.ResourceBookingStart >= DateTimeOffset.Now) .ToList(); if (existingBookings.Count > 0) { foreach (var booking in existingBookings) { if (booking.ResourceBookingStart <= booking.ResourceBookingEnd && booking.ResourceBookingStart <= booking.ResourceBookingEnd) { ModelState.AddModelError("Duplicate Booking", "Sorry - already booked at this time"); return(View()); } } } model.UserId = Convert.ToInt32(GetEncryptedGenericCookie("USER_ID")); model.ResourceBookingTimeCreated = DateTimeOffset.Now; _context.ResourceBookings.Add(model); _context.SaveChanges(); return(RedirectToAction("Index", "User")); }
public ActionResult AddTimeSlot(ResourceBooking resourceBooking) { SetSessionVariables(); resourceBooking.CreatedBy = GetSessionObject().UserID; resourceBooking.CreatedDateTime = DateTime.Now; try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Common.Instance.ApiResourceBookingControllerName); var postTask = client.PostAsJsonAsync <ResourceBooking>(Common.Instance.ApiResourceBookingAdd, resourceBooking); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsAsync <ServiceResult <ResourceBooking> >().Result; } } } catch { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator"); } return(RedirectToAction("List")); }
public async Task <ActionResult> Get(int ID) { SetSessionVariables(); ServiceResult <ResourceBooking> result = null; ResourceBooking resource = null; try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Common.Instance.ApiResourceBookingControllerName); var readTask = await client.GetAsync(Common.Instance.ApiResourceBookingGet + "/" + ID); result = await readTask.Content.ReadAsAsync <ServiceResult <ResourceBooking> >(); resource = result.Result; } } catch { ModelState.AddModelError(string.Empty, "Server error. Please contact administrator"); } return(View(resource)); }
public ActionResult AddTimeSlot() { SetSessionVariables(); ResourceBooking resource = new ResourceBooking(); return(View(resource)); }
public ResourceBooking GetObject() { ResourceBooking resource = new ResourceBooking(); this.ID = resource.ID; this.ResourceID = resource.ResourceID; this.FromDate = resource.FromDate; this.ToDate = resource.ToDate; this.StartTime = resource.UsageStartTime; this.EndTime = resource.UsageEndTime; this.IsActive = resource.IsActive; return(resource); }