Ejemplo n.º 1
0
        public PartialViewResult UserStatUpdate(int eventid, bool attend)
        {
            var db       = new CalendarEventContext();
            var userName = cookie.LoadStringFromCookie(Cookies.UserNameCookieKey);

            if (userName != "" || userName != null)
            {
                var           alreadyGoing = false;
                EventUserStat current      = null;
                foreach (var eus in db.EventUserStats)
                {
                    if (eus.UserName == userName && eus.EventID == eventid)
                    {
                        current      = eus;
                        alreadyGoing = true;
                        // here: project extension material - calculate score based on eus.GoingTime, add "score" to account.cs
                    }
                }
                if (attend)
                {
                    if (alreadyGoing)
                    {
                        current.Attend = true;
                    }
                    else
                    {
                        db.EventUserStats.Add(new EventUserStat
                        {
                            UserName  = userName,
                            EventID   = eventid,
                            GoingTime = DateTime.Now,
                            Attend    = true
                        });
                    }
                }
                else
                {
                    if (alreadyGoing)
                    {
                        db.EventUserStats.Remove(current);
                    }
                    else
                    {
                        db.EventUserStats.Add(new EventUserStat
                        {
                            UserName  = userName,
                            EventID   = eventid,
                            GoingTime = DateTime.Now
                        });
                    }
                }
                db.SaveChanges();
            }

            var modelWrapper = new ModelDataWrapper();

            modelWrapper.eventID = eventid;
            return(PartialView("_UserStatUpdate", modelWrapper));
        }
Ejemplo n.º 2
0
        private ModelDataWrapper CreateModelDataWrapper(List <CustomEventMonth> months, StudentUser user)
        {
            var modelWrapper = new ModelDataWrapper();

            modelWrapper.Months      = months;
            modelWrapper.User        = user;
            modelWrapper.CultureText = CultureManager.GetSavedCultureOrDefault(HttpContext.Request);

            // Set availible rooms
            //var rooms = new List<Room>();
            //foreach (var room in DataWrapper.Instance.Rooms)
            //{
            //	rooms.Add(room.Value);
            //}
            modelWrapper.Rooms = DataWrapper.Instance.GetRoomsTodayForAllEvents();

            return(modelWrapper);
        }
Ejemplo n.º 3
0
        public ActionResult Mobile(string id = "", string tags = "", bool lecture = true, bool assignment = true,
                                   bool exam = true)
        {
            var user = GetUserFromNameCourse();

            //var dataParser = new DataParser();
            dataParser.ParseAllData();

            var modelWrapper = new ModelDataWrapper();

            if (string.IsNullOrEmpty(tags))
            {
                modelWrapper.Months = DataWrapper.Instance.GetEventsWithUser(user, false);
            }
            else
            {
                modelWrapper.Months = DataWrapper.Instance.GetEventsWithName(user, tags, true, true, true, false);
            }
            modelWrapper.Rooms = DataWrapper.Instance.GetRoomsTodayForAllEvents();
            modelWrapper.User  = user;
            return(View(modelWrapper));            //.calEvents);
        }
Ejemplo n.º 4
0
        public ActionResult Index(string Email, string Password, string tags = "", string lecture = "", string assignment = "",
                                  string exam = "", bool filtered = false)
        {
            // Parse all the JSON data
            dataParser.ParseAllData();

            bool lec = false, ass = false, exa = false;

            if (filtered)
            {
                if (lecture.Length > 0)
                {
                    lec = true;
                }
                if (assignment.Length > 0)
                {
                    ass = true;
                }
                if (exam.Length > 0)
                {
                    exa = true;
                }

                //Check if actually empty page before continuing
                if (!lec && !ass && !exa && tags == "")
                {
                    ModelDataWrapper emptyWrap;
                    emptyWrap            = new ModelDataWrapper("", false, false, false);
                    emptyWrap.isFiltered = true;
                    emptyWrap.Rooms      = DataWrapper.Instance.GetRoomsTodayForAllEvents();
                    return(View(emptyWrap));
                }
            }
            else
            {
                lec = true;
                ass = true;
                exa = true;
            }

            // Make a new ModelDataWrapper with the events based on the user, tags, and filters
            ModelDataWrapper modelWrapper;

            if (string.IsNullOrEmpty(tags))
            {
                modelWrapper = new ModelDataWrapper(lec, ass, exa);
            }
            else
            {
                modelWrapper = new ModelDataWrapper(tags, lec, ass, exa);
            }

            var user = InitUser(Email, Password, tags);

            modelWrapper.Months      = DataWrapper.Instance.GetEventsWithName(user, tags, lec, ass, exa, true);
            modelWrapper.User        = user;
            modelWrapper.CultureText = CultureManager.GetSavedCultureOrDefault(HttpContext.Request);
            modelWrapper.Rooms       = DataWrapper.Instance.GetRoomsTodayForAllEvents();
            var failedSession = Session["failedlogin"];

            if (failedSession != null)
            {
                modelWrapper.FailedLogin = true;
            }
            else
            {
                modelWrapper.FailedLogin = false;
                Session["failedlogin"]   = null;
            }

            // Show event count
            if (!(lec && ass && exa) && (filtered || tags.Length > 0))
            {
                modelWrapper.isFiltered = true;
            }
            CultureManager.UpdateCulture(HttpContext.Request);
            // Send the model to the view
            return(View(modelWrapper));
        }