[HttpGet("Home/leave/{id}")] ///////////////////// leave an event
        public IActionResult leave(int id)
        {
            string Email   = HttpContext.Session.GetString("Email");
            User   logUser = _context.users.SingleOrDefault(usr => usr.Email == Email);

            Intrsts ints = _context.intrsts.FirstOrDefault(i => i.UserId == logUser.UserId);

            Activities act = _context.activities.FirstOrDefault(a => a.ActivitiesId == id);

            act.NumOfPrts--;
            _context.Remove(ints);
            _context.SaveChanges();


            if (act.NumOfPrts < 0)
            {
                act.NumOfPrts = 0;
            }
            return(RedirectToAction("Dashboard"));
        }
        [HttpGet("Home/join/{id}")] ////////////////// joining Event
        public IActionResult join(int id)
        {
            string     Email   = HttpContext.Session.GetString("Email");
            User       logUser = _context.users.SingleOrDefault(usr => usr.Email == Email);
            Activities act     = _context.activities.FirstOrDefault(a => a.ActivitiesId == id);

            List <Intrsts> userEvents = _context.intrsts.Include(i => i.User).Include(i => i.Activities).Where(usr => usr.UserId == logUser.UserId).ToList();

            // DateTime dt = DateTime.Parse(i.ToString());

            // Date.AddTicks(i.Time.TimeOfDay.Ticks) >=DateTime.Now
            DateTime startTimeEventWantToJoin = act.Date.AddTicks(act.Time.TimeOfDay.Ticks);

            int eventTime = 0;

            if (act.durType == "Minutes")
            {
                eventTime = act.Duration;
            }
            else if (act.durType == "Hours")
            {
                eventTime = act.Duration * 60;
            }
            else if (act.durType == "Days")
            {
                eventTime = (act.Duration * 60) * 24;
            }



            DateTime endTimeEventWantToJoin = startTimeEventWantToJoin.AddMinutes(eventTime);

            foreach (var evnt in userEvents)
            {
                DateTime yourEventStartTime = evnt.Activities.Date.AddTicks(evnt.Activities.Time.TimeOfDay.Ticks);
                int      yourEventTime      = 0;
                if (act.durType == "Minutes")
                {
                    yourEventTime = act.Duration;
                }
                else if (act.durType == "Hours")
                {
                    yourEventTime = act.Duration * 60;
                }
                else if (act.durType == "Days")
                {
                    yourEventTime = (act.Duration * 60) * 24;
                }


                DateTime yourEventEndTimeEvent = yourEventStartTime.AddMinutes(eventTime);


                if (startTimeEventWantToJoin > yourEventStartTime && startTimeEventWantToJoin < yourEventEndTimeEvent)
                {
                    ViewBag.err = "Can't join this Event check your schedule if booked or time is in the past";

                    List <Activities> allActs = _context.activities.Include(a => a.Intrsts).OrderByDescending(a => a.Date).ToList();

                    List <Activities> noPast = new List <Activities>();


                    foreach (var i in allActs)
                    {
                        if (i.Date.AddTicks(i.Time.TimeOfDay.Ticks) >= DateTime.Now)
                        {
                            noPast.Add(i);
                        }
                    }
                    ViewBag.allActs = noPast.OrderByDescending(a => a.Date.AddTicks(a.Time.TimeOfDay.Ticks));
                    ViewBag.user    = logUser;


                    // return RedirectToAction("Dashboard");

                    return(View("Dashboard"));
                }

                else if (endTimeEventWantToJoin > yourEventStartTime && startTimeEventWantToJoin < yourEventEndTimeEvent)
                {
                    ViewBag.err = "Can't join this Event check your schedule if booked or time is in the past";

                    List <Activities> allActs = _context.activities.Include(a => a.Intrsts).OrderByDescending(a => a.Date).ToList();

                    List <Activities> noPast = new List <Activities>();


                    foreach (var i in allActs)
                    {
                        if (i.Date.AddTicks(i.Time.TimeOfDay.Ticks) >= DateTime.Now)
                        {
                            noPast.Add(i);
                        }
                    }
                    ViewBag.allActs = noPast.OrderByDescending(a => a.Date.AddTicks(a.Time.TimeOfDay.Ticks));
                    ViewBag.user    = logUser;



                    // return RedirectToAction("Dashboard");

                    return(View("Dashboard"));
                }
            }


            Intrsts ints = new Intrsts()
            {
                User       = logUser,
                Activities = act
            };

            act.NumOfPrts++;
            logUser.Intrsts.Add(ints);
            act.Intrsts.Add(ints);
            _context.Add(ints);
            _context.SaveChanges();


            return(RedirectToAction("Dashboard"));
        }