Пример #1
0
        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"));
            }
        }
Пример #2
0
 // 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);
 }
Пример #3
0
        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"));
            }
        }
Пример #4
0
        // 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);
        }
Пример #5
0
        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"));
            }
        }