public IActionResult Cancel(int activyId) { User userInDb = GetUserInDb(); if (userInDb != null) { Activy cancelling = dbContext.Activies.FirstOrDefault(a => a.ActivyId == activyId); dbContext.Activies.Remove(cancelling); dbContext.SaveChanges(); return(RedirectToAction("Dashboard")); } else { return(RedirectToAction("Logout")); } }
// function converting the duration into number of day // depending on the duration unit: days, hours or minutes public static int DuraCalculation(Activy oneact) { if (oneact.DurationUnit == "Days") { oneact.NumberDays = oneact.Duration; } else if (oneact.DurationUnit == "Hours") { oneact.NumberDays = oneact.Duration / 24; } else { oneact.NumberDays = oneact.Duration / (60 * 24); } return(oneact.NumberDays); }
public IActionResult Show(int activityId) { User userInDb = GetUserInDb(); if (userInDb != null) { ViewBag.User = userInDb; Activy Show = dbContext.Activies .Include(a => a.Organizer) .Include(a => a.Attendees) .ThenInclude(asc => asc.ActEnjoyer) .FirstOrDefault(a => a.ActivyId == activityId); return(View(Show)); } else { return(RedirectToAction("Logout")); } }
// function checking a new activity is not clashing // with an already booked activity // to be used in the "create act" method below public static bool IsTimeSlotAlreadyBooked(Activy newact, List <Activy> BookedActivities) { newact.NumberDays = DuraCalculation(newact); DateTime testStart = newact.ActDateTime; DateTime testEnd = newact.ActDateTime.AddDays(newact.NumberDays); foreach (var a in BookedActivities) { a.NumberDays = DuraCalculation(a); DateTime start = a.ActDateTime; DateTime end = a.ActDateTime.AddDays(a.NumberDays); // no part of the testStart or testEnd can overlap this block of time if (start <= testEnd && testStart <= end) { return(true); } } return(false); }
public IActionResult CreateAct(Activy newact) { User userInDb = GetUserInDb(); if (userInDb != null) { if (ModelState.IsValid) { newact.UserId = userInDb.UserId; dbContext.Activies.Add(newact); dbContext.SaveChanges(); return(Redirect("/dashboard")); } else { return(View("New")); } } else { return(RedirectToAction("Logout")); } }