示例#1
0
        public IActionResult SActivity(int Id)
        {
            if (HttpContext.Session.GetString("Email") == "" || HttpContext.Session.GetString("Email") == null)
            {
                ViewBag.fail = "Incorrect email or password.";
                return(RedirectToAction("Index"));
            }
            List <User>      gs   = new List <User>();
            Activitee        wed  = dbContext.Activitees.Include(a => a.Users).ThenInclude(b => b.User).FirstOrDefault(y => y.ActivityId == Id);
            List <Activitee> cAct = new List <Activitee>();

            cAct.Add(wed);
            ViewBag.Activity = wed;
            if (wed.Users != null)
            {
                foreach (var s in wed.Users)
                {
                    gs.Add(s.User);
                }
            }
            User cUser = dbContext.Users.FirstOrDefault(a => a.Email == HttpContext.Session.GetString("Email"));

            ViewBag.User   = cUser;
            ViewBag.Guests = gs;
            return(View("Activity", cAct));
        }
示例#2
0
 public IActionResult CreateActivity(Activitee newActivity)
 {
     if (HttpContext.Session.GetString("Email") == "" || HttpContext.Session.GetString("Email") == null)
     {
         ViewBag.fail = "Incorrect email or password.";
         return(RedirectToAction("Index"));
     }
     if (newActivity.ActivityDate <= DateTime.Now)
     {
         ModelState.AddModelError("ActivityDate", "Activity must be in the future.");
     }
     else if (ModelState.IsValid)
     {
         User cUser = dbContext.Users.FirstOrDefault(a => a.Email == HttpContext.Session.GetString("Email"));
         newActivity.Coordinator = cUser.FName;
         dbContext.Add(newActivity);
         Associations newAss = new Associations();
         newAss.UserId     = cUser.UserId;
         newAss.ActivityId = newActivity.ActivityId;
         dbContext.Add(newAss);
         dbContext.SaveChanges();
         return(RedirectToAction("home"));
     }
     return(View("new"));
 }
        public IActionResult DeletePart(int id)
        {
            int UserId = (int)HttpContext.Session.GetInt32("Id");
            List <Activitee> AllActivities = dbContext.Activities
                                             // .Where(act => act.Date > Now)
                                             .Include(act => act.Participants)
                                             .ThenInclude(part => part.User)
                                             .OrderBy(act => act.Date).ToList();

            List <Activitee> FurtureActivities = new List <Activitee>();
            Activitee        actInDB           = dbContext.Activities.SingleOrDefault(act => act.id == id);
            DateTime         Now      = DateTime.Now;
            Participant      PartInDB = dbContext.Participants.Where(g => g.ActiviteeId == id).SingleOrDefault(g => g.UserId == UserId);

            // if(actInDB.CreatorId != UserId) {
            //     if(actInDB != null) {
            //         foreach(var act in AllActivities) {
            //             if(act.Date > Now) {
            //                 FurtureActivities.Add(act);
            //             }
            //         }
            //     }
            //     ViewBag.Name = HttpContext.Session.GetString("Name");
            //     ViewBag.Id = HttpContext.Session.GetInt32("Id");
            //     ViewBag.AllActivities = FurtureActivities;
            //     ViewBag.error = "You cannot Delete another User from an Event";
            //     return View("Dashboard");
            // } else

            if (PartInDB == null)
            {
                if (actInDB != null)
                {
                    foreach (var act in AllActivities)
                    {
                        if (act.Date > Now)
                        {
                            FurtureActivities.Add(act);
                        }
                    }
                    ViewBag.Name          = HttpContext.Session.GetString("Name");
                    ViewBag.Id            = HttpContext.Session.GetInt32("Id");
                    ViewBag.AllActivities = FurtureActivities;
                    ViewBag.error         = "You cannot leave an Event that you have not even Joined!";
                    return(View("Dashboard"));
                }
            }
            else if (PartInDB.UserId == HttpContext.Session.GetInt32("Id"))
            {
                dbContext.Participants.Remove(PartInDB);
                dbContext.SaveChanges();
            }
            return(RedirectToAction("Dashboard"));
        }
示例#4
0
        public IActionResult Delete(int ActivityId)
        {
            if (HttpContext.Session.GetString("Email") == "" || HttpContext.Session.GetString("Email") == null)
            {
                ViewBag.fail = "Incorrect email or password.";
                return(RedirectToAction("Index"));
            }
            Activitee act = dbContext.Activitees.FirstOrDefault(y => y.ActivityId == ActivityId);

            dbContext.Remove(act);
            dbContext.SaveChanges();
            return(RedirectToAction("home"));
        }
        public IActionResult Delete(int id)
        {
            List <Activitee> AllActivities = dbContext.Activities
                                             // .Where(act => act.Date > Now)
                                             .Include(act => act.Participants)
                                             .ThenInclude(part => part.User)
                                             .OrderBy(act => act.Date).ToList();

            List <Activitee> FurtureActivities = new List <Activitee>();
            Activitee        actInDB           = dbContext.Activities.SingleOrDefault(act => act.id == id);
            DateTime         Now = DateTime.Now;

            if (actInDB == null)
            {
                foreach (var act in AllActivities)
                {
                    if (act.Date > Now)
                    {
                        FurtureActivities.Add(act);
                    }
                }
                ViewBag.Name          = HttpContext.Session.GetString("Name");
                ViewBag.Id            = HttpContext.Session.GetInt32("Id");
                ViewBag.AllActivities = FurtureActivities;
                ViewBag.error         = "You cannot Delet an Event that Dosen't Exist";
                return(View("Dashboard"));
            }

            if (actInDB.CreatorId == HttpContext.Session.GetInt32("Id"))
            {
                dbContext.Activities.Remove(actInDB);
                dbContext.SaveChanges();
                System.Console.WriteLine("Deleting Activitie ID: " + id);
                return(RedirectToAction("Dashboard"));
            }


            foreach (var act in AllActivities)
            {
                if (act.Date > Now)
                {
                    FurtureActivities.Add(act);
                }
            }
            ViewBag.Name          = HttpContext.Session.GetString("Name");
            ViewBag.Id            = HttpContext.Session.GetInt32("Id");
            ViewBag.AllActivities = FurtureActivities;
            ViewBag.error         = "You cannot Delet another User's Event";
            return(View("Dashboard"));
        }
        public IActionResult AddPart(int id)
        {
            System.Console.WriteLine("In addpart/{id} id: " + id);
            if (HttpContext.Session.GetInt32("Id") == null)
            {
                System.Console.WriteLine("Session Id = null");
                return(RedirectToAction("Index"));
            }

            Participant newPart = new Participant();

            newPart.UserId      = (int)HttpContext.Session.GetInt32("Id");
            newPart.ActiviteeId = id;
            // Activitee existing = dbContext.Activities.FirstOrDefault(a => a.id == id);
            // existing.Participants.Add(dbContext.Users.FirstOrDefault(u => u.id == (int)HttpContext.Session.GetInt32("Id")));

            Activitee actInDb = dbContext.Activities
                                .Include(act => act.Participants)
                                .ThenInclude(part => part.User)
                                .FirstOrDefault(act => act.id == id);
            List <int> guestIds = new List <int>();

            foreach (var guestId in actInDb.Participants)
            {
                guestIds.Add(guestId.UserId);
            }
            if (guestIds.Any(x => x == newPart.UserId))
            {
                DateTime isRNow = DateTime.Now;

                List <Activitee> Acs = dbContext.Activities
                                       // .Where(act => act.Date > Now)
                                       .Include(ac => ac.Participants)
                                       .ThenInclude(pa => pa.User)
                                       .OrderBy(ac => ac.Date).ToList();

                List <Activitee> FuActivities = new List <Activitee>();
                foreach (var ac in Acs)
                {
                    if (ac.Date > isRNow)
                    {
                        FuActivities.Add(ac);
                    }
                }
                ViewBag.AllActivities = FuActivities;
                ViewBag.Name          = HttpContext.Session.GetString("Name");
                ViewBag.Id            = HttpContext.Session.GetInt32("Id");

                System.Console.WriteLine("You are already a participant of this event!");
                ViewBag.Error = "You are already a participant of this event!";
                return(View("Dashboard"));
            }
            System.Console.WriteLine("#%#%#%#%#%#%#%#%#%#%#%#%#%#%#");

            actInDb = dbContext.Activities.FirstOrDefault(act => act.id == id);

            // var StartDate = actInDb.Date;
            // System.Console.WriteLine("StartDate: " + StartDate);
            // var StartTime = actInDb.Time;
            // System.Console.WriteLine("StartTime: " + StartTime);
            // var StartDur = actInDb.Duration;
            // System.Console.WriteLine("StartDur: " + StartDur);
            // var StartDurType = actInDb.DurationType;
            // System.Console.WriteLine("StartDurType: " + StartDurType);

            var usrInDb = dbContext.Users
                          .Include(user => user.Participants)
                          .ThenInclude(part => part.Activitee)
                          .FirstOrDefault(user => user.id == newPart.UserId);

            System.Console.WriteLine("@@@@@@@@@@@@@@@@@ actInDb.StartDate: " + actInDb.StartDate + " actInDb.EndDate: " + actInDb.EndDate);

            if (usrInDb.Participants != null)
            {
                // System.Console.WriteLine("@@@@@@@@@@@@@@@@@ usrInDb.Participants[0].Title: " + usrInDb.Participants[0].Activitee.Title);
                foreach (var act in usrInDb.Participants)
                {
                    System.Console.WriteLine("################# act.StartDate: " + act.Activitee.StartDate + "act.Activitee.EndDate: " + act.Activitee.EndDate);
                    if (act.Activitee.EndDate > actInDb.StartDate)
                    {
                        System.Console.WriteLine("act.Activitee.EndDate < actInDb.StartDate = true");
                    }
                    System.Console.WriteLine("act.Activitee.EndDate < actInDb.StartDate = false");
                    if (act.Activitee.StartDate < actInDb.EndDate)
                    {
                        System.Console.WriteLine("act.Activitee.StartDate > actInDb.StartDate = true");
                    }
                    System.Console.WriteLine("act.Activitee.StartDate > actInDb.StartDate = true");

                    if (act.Activitee.EndDate > actInDb.StartDate && act.Activitee.StartDate < actInDb.EndDate)
                    {
                        System.Console.WriteLine("You already have an event at this Time!");
                        ViewBag.Error = "You already have an event at this Time!";

                        DateTime isNow = DateTime.Now;

                        List <Activitee> Activities = dbContext.Activities
                                                      // .Where(act => act.Date > Now)
                                                      .Include(a => a.Participants)
                                                      .ThenInclude(p => p.User)
                                                      .OrderBy(a => a.Date).ToList();

                        List <Activitee> FActivities = new List <Activitee>();
                        foreach (var a in Activities)
                        {
                            if (a.Date > isNow)
                            {
                                FActivities.Add(a);
                            }
                        }
                        ViewBag.AllActivities = FActivities;
                        ViewBag.Name          = HttpContext.Session.GetString("Name");
                        ViewBag.Id            = HttpContext.Session.GetInt32("Id");

                        return(View("Dashboard"));
                    }
                }
            }
            System.Console.WriteLine("usrInDb.Participants == null");

            dbContext.Participants.Add(newPart);
            dbContext.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
        public IActionResult CreateAct(Activitee act)
        {
            System.Console.WriteLine("********************** in CreateAct act.Title: " + act.Title);
            int Year    = new int();
            int Month   = new int();
            int Day     = new int();
            int Hour    = new int();
            int Minutes = new int();

            Year  = Int32.Parse(act.Date.ToString("yyy"));
            Month = Int32.Parse(act.Date.ToString("MM"));
            Day   = Int32.Parse(act.Date.ToString("dd"));
            Hour  = Int32.Parse(act.Time.ToString("HH"));
            // System.Console.WriteLine("act.Time.ToString(HH)" + act.Time.ToString("HH"));
            Minutes = Int32.Parse(act.Time.ToString("mm"));
            DateTime Now       = DateTime.Now;
            DateTime StartDate = new DateTime(Year, Month, Day, Hour, Minutes, 0);

            if (StartDate < Now)
            {
                ModelState.AddModelError("Date", "You Cannot Creaate an Event that Starts in the Past!");
                ViewBag.Name = HttpContext.Session.GetString("Name");
                ViewBag.Id   = HttpContext.Session.GetInt32("Id");
                return(View("New"));
            }
            if (HttpContext.Session.GetInt32("Id") == null)
            {
                System.Console.WriteLine("Session Id = null");
                return(RedirectToAction("Index"));
            }
            if (act.Date < Now)
            {
            }
            if (ModelState.IsValid)
            {
                System.Console.WriteLine("******************* ModelState.IsValid");

                DateTime EndDate = new DateTime();

                if (act.DurationType == "Minute")
                {
                    EndDate = StartDate.AddMinutes(act.Duration);
                }
                else if (act.DurationType == "Hour")
                {
                    EndDate = StartDate.AddHours(act.Duration);
                }
                else if (act.DurationType == "Day")
                {
                    EndDate = StartDate.AddDays(act.Duration);
                }

                act.StartDate = StartDate;
                act.EndDate   = EndDate;

                dbContext.Activities.Add(act);
                dbContext.SaveChanges();
                var actInDB = dbContext.Activities.Last();
                return(RedirectToAction("Activity", new { id = actInDB.id }));
            }
            System.Console.WriteLine("******************* ModelState.Is NOT Valid");
            ViewBag.Name = HttpContext.Session.GetString("Name");
            ViewBag.Id   = HttpContext.Session.GetInt32("Id");
            return(View("New"));
        }