Beispiel #1
0
        public Response <Activitie> EditActivitie(Activitie activitie, string name, DateTime startDate, DateTime endDate, int participantsNumber)
        {
            using (var db = new ActivitiesContext())
            {
                var activitiesOverlaping = db.Activities
                                           .Where(a => !(a.StartDate > endDate || a.EndDate < startDate) && a.ActivitieId != activitie.ActivitieId);

                if (activitiesOverlaping.Count() > 0)
                {
                    return(new Response <Activitie>(
                               $"Posiadasz {activitiesOverlaping.Count()} inne zajęcia w tym terminie",
                               true,
                               activitiesOverlaping.ToList()
                               ));
                }

                var editedActivitie = db.Activities.Find(activitie.ActivitieId);

                editedActivitie.Name               = name;
                editedActivitie.StartDate          = startDate;
                editedActivitie.EndDate            = endDate;
                editedActivitie.ParticipantsNumber = participantsNumber;

                db.Activities.Add(editedActivitie);
                db.Entry(editedActivitie).State = EntityState.Modified;

                db.SaveChanges();

                return(new Response <Activitie>(
                           $"Zajęcia zostały zaktualizowane",
                           false
                           ));
            }
        }
Beispiel #2
0
 public ParticipantActivitieDetails(Activitie activitie, User user)
 {
     InitializeComponent();
     this.activitie = activitie;
     this.user      = user;
     InitializeFields();
 }
        public IActionResult DeleteActivity(int actId)
        {
            Activitie ThisAct = _context.Activities.SingleOrDefault(a => a.ActivitieId == actId);

            _context.Activities.Remove(ThisAct);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public void Activitie(Activitie activitie)
 {
     activitie.Responsible.accept(this);
     foreach (Activitie act in activitie.Activities)
     {
         act.accept(this);
     }
 }
 public ActivitieEditWindow(Activitie activitie, IActivitieModel model, IActivitieWindow window)
 {
     InitializeComponent();
     this.model     = model;
     this.activitie = activitie;
     this.window    = window;
     InitializeFields();
 }
Beispiel #6
0
        public Response <ActivitieParticipant> SignOut(Activitie activitie, User user)
        {
            using (var db = new ActivitiesContext())
            {
                var activitieParticipant = db.ActivitiesParticipants.Where(ap => ap.ActivitieId == activitie.ActivitieId && ap.ParticipantLogin == user.Login).ToList().FirstOrDefault();
                db.ActivitiesParticipants.Remove(activitieParticipant);
                db.SaveChanges();

                return(new Response <ActivitieParticipant>(
                           $"Zostałeś wypisany/na z zajęć",
                           false
                           ));
            }
        }
        private void BuildActivity(ValidActivitie activity)
        {
            Activitie NewActivity = new Activitie {
                Title       = activity.Title,
                Description = activity.Description,
                Date        = activity.Date,
                Time        = activity.Time,
                Duration    = activity.Duration,
                DurationMod = activity.DurationMod,
                CreatorId   = activity.CreatorId,
                CreatedAt   = DateTime.Now,
                UpdatedAt   = DateTime.Now
            };

            _context.Activities.Add(NewActivity);
            _context.SaveChanges();
        }
Beispiel #8
0
        public IActionResult ActivityInfo(int activityId)
        {
            int?loggedId = HttpContext.Session.GetInt32("loggedId");

            if (loggedId == null)
            {
                return(RedirectToAction("Index", "LoginReg"));
            }
            User logged = _context.users.Include(make => make.CreatedActivities).Include(go => go.Participating).ThenInclude(where => where.activities).Where(we => we.id == loggedId).SingleOrDefault();

            Activitie activity = _context.activities.Include(people => people.Participants).ThenInclude(who => who.users).SingleOrDefault(where => where.id == activityId);

            ViewBag.Activity = activity;
            ViewBag.Logged   = logged;

            return(View());
        }
Beispiel #9
0
        public IActionResult JoinActivity(int activityId)
        {
            int?loggedId = HttpContext.Session.GetInt32("loggedId");

            if (loggedId == null)
            {
                return(RedirectToAction("Index", "LoginReg"));
            }

            User               logged       = _context.users.SingleOrDefault(we => we.id == loggedId);
            Activitie          activity     = _context.activities.SingleOrDefault(del => del.id == activityId);
            List <Participant> participants = _context.participants.Include(stuff => stuff.activities).Where(we => we.usersId == loggedId).ToList();

            foreach (Participant part in participants)
            {
                if (part.activities.startDate > activity.startDate)
                {
                    if (!(part.activities.startDate > AddDuration(activity.startDate, activity.duration)))
                    {
                        TempData["Error"] = $"{activity.title} conflicts with {part.activities.title}";
                        return(RedirectToAction("Index"));
                    }
                }
                if (part.activities.startDate <= activity.startDate)
                {
                    if (!(AddDuration(part.activities.startDate, part.activities.duration) <= activity.startDate))
                    {
                        TempData["Error"] = $"{activity.title} start conflicts with {part.activities.title}";
                        return(RedirectToAction("Index"));
                    }
                }
            }

            Participant imPart = new Participant
            {
                activitiesId = activity.id,
                activities   = activity,
                usersId      = logged.id,
                users        = logged,
            };

            _context.participants.Add(imPart);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Beispiel #10
0
        public Response <ActivitieParticipant> SignIn(Activitie activitie, User user)
        {
            using (var db = new ActivitiesContext())
            {
                db.ActivitiesParticipants.Add(new ActivitieParticipant
                {
                    ActivitieId      = activitie.ActivitieId,
                    ParticipantLogin = user.Login,
                    SignUpDate       = DateTime.Now
                });

                db.SaveChanges();

                return(new Response <ActivitieParticipant>(
                           $"Zostałeś zapisany na zajęcia",
                           false
                           ));
            }
        }
        public IActionResult ShowActivitie(int actid)
        {
            // check if logged in, otherwise reset to index page.
            var sessuid = HttpContext.Session.GetInt32("user_id");

            if (sessuid == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            User User = _context.Users.SingleOrDefault(a => a.UserId == sessuid);

            ViewBag.user = User;
            // query for activity and participant list.
            Activitie Activitie = _context.Activities.Include(b => b.Creator).Include(p => p.Participant).ThenInclude(u => u.PartId).SingleOrDefault(a => a.ActivitieId == actid);

            ViewBag.act = Activitie;
            // need viewbag to check if logged in user matches the participant list

            return(View("Activitie"));
        }
Beispiel #12
0
        public Response <Activitie> DeleteActivitie(Activitie activitie)
        {
            using (var db = new ActivitiesContext())
            {
                var found = db.Activities.Find(activitie.ActivitieId);
                if (found is null)
                {
                    return(new Response <Activitie>(
                               $"Nie ma takich zajęć w bazie",
                               true
                               ));
                }

                db.Activities.Remove(found);
                db.SaveChanges();

                return(new Response <Activitie>(
                           $"Zajęcia {activitie.Name} został usunięte",
                           false
                           ));
            }
        }
Beispiel #13
0
        public IActionResult DeleteActivity(int activityId)
        {
            int?loggedId = HttpContext.Session.GetInt32("loggedId");

            if (loggedId == null)
            {
                return(RedirectToAction("Index", "LoginReg"));
            }

            Activitie activity = _context.activities.SingleOrDefault(del => del.id == activityId);

            List <Participant> participants = _context.participants.Where(we => we.activitiesId == activityId).ToList();

            foreach (Participant part in participants)
            {
                _context.participants.Remove(part);
                _context.SaveChanges();
            }

            _context.activities.Remove(activity);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Beispiel #14
0
        public IActionResult CreateActivity(ActivitieCreate info, string durationTime)
        {
            int?loggedId = HttpContext.Session.GetInt32("loggedId");

            if (loggedId == null)
            {
                return(RedirectToAction("Index", "LoginReg"));
            }

            if (ModelState.IsValid)
            {
                if (info.startDate < DateTime.Now)
                {
                    TempData["Error"] = "Start Date must be in the Future";
                    return(RedirectToAction("NewActivity", info));
                }

                User logged = _context.users.SingleOrDefault(we => we.id == loggedId);

                Activitie newAct = new Activitie
                {
                    title       = info.title,
                    startDate   = info.startDate,
                    duration    = info.duration.ToString() + " " + durationTime,
                    description = info.description,
                    userId      = logged.id,
                    user        = logged
                };

                List <Participant> participants = _context.participants.Include(stuff => stuff.activities).Where(we => we.usersId == loggedId).ToList();

                foreach (Participant part in participants)
                {
                    if (part.activities.startDate > newAct.startDate)
                    {
                        if (!(part.activities.startDate > AddDuration(newAct.startDate, newAct.duration)))
                        {
                            TempData["Error"] = $"{newAct.title} conflicts with {part.activities.title} in which you are participating";
                            return(View("NewActivity", info));
                        }
                    }
                    if (part.activities.startDate <= newAct.startDate)
                    {
                        if (!(AddDuration(part.activities.startDate, part.activities.duration) <= newAct.startDate))
                        {
                            TempData["Error"] = $"{newAct.title} conflicts with {part.activities.title} in which you are participating";
                            return(View("NewActivity", info));
                        }
                    }
                }

                _context.activities.Add(newAct);
                _context.SaveChanges();

                Participant newPart = new Participant
                {
                    activitiesId = newAct.id,
                    activities   = newAct,
                    usersId      = logged.id,
                    users        = logged,
                };
                _context.participants.Add(newPart);
                _context.SaveChanges();
                return(RedirectToAction("ActivityInfo", new { activityId = newAct.id }));
            }
            return(View("NewActivity", info));
        }
 public LeaderActivitieDetailsWindow(Activitie activitie, User user)
 {
     InitializeComponent();
     this.activitie = activitie;
     this.user      = user;
 }