Beispiel #1
0
        public IActionResult Profile()
        {
            if (User.Identity.IsAuthenticated == false)
            {
                return(View("_Error", "You are not logged in"));
            }

            var model = new ProfileModel
            {
                User    = Database.ChaliceDb.GetUserByUsername(HttpContext.User.Identity.Name),
                History = Database.ChaliceDb.GetUserHistory(HttpContext.User.Identity.Name)
            };

            using (var db = new Database.ChaliceDb())
            {
                model.User = db.Users.FirstOrDefault(u => u.UserName == HttpContext.User.Identity.Name);

                model.History = db.UserHistory
                                .Where(u => u.UserName == HttpContext.User.Identity.Name)
                                .OrderBy(u => u.Created)
                                .ToList();

                model.SubmittedGlyphs = db.DungeonGlyphs
                                        .Where(d => d.Submitter == HttpContext.User.Identity.Name)
                                        .Select(d => new System.Tuple <string, string>(d.Glyph, d.ShortDescription))
                                        .ToList();
            }

            model.IsOwnProfile = true;

            return(View(model));
        }
Beispiel #2
0
        public IActionResult ViewProfile(string username)
        {
            var model = new ProfileModel
            {
                User    = Database.ChaliceDb.GetUserByUsername(username),
                History = Database.ChaliceDb.GetUserHistory(username)
            };

            using (var db = new Database.ChaliceDb())
            {
                model.User = db.Users.FirstOrDefault(u => u.UserName == username);

                if (model.User == null)
                {
                    return(View("_Error", "User not found"));
                }

                model.History = db.UserHistory
                                .Where(u => u.UserName == username)
                                .OrderBy(u => u.Created)
                                .ToList();

                model.SubmittedGlyphs = db.DungeonGlyphs
                                        .Where(d => d.Submitter == username)
                                        .Select(d => new System.Tuple <string, string>(d.Glyph, d.ShortDescription))
                                        .ToList();
            }

            model.IsOwnProfile = false;

            return(View("Profile", model));
        }
Beispiel #3
0
        private User LoginUser(string uname, string pw)
        {
            using (var db = new Database.ChaliceDb())
            {
                var user = db.Users.FirstOrDefault(u => u.UserName == uname);

                if (user == null)
                {
                    return(null);
                }

                if (Security.VerifyUser(user, pw))
                {
                    user.LastLogin = System.DateTime.Now;
                    db.Update(user);

                    return(user);
                }
            }

            return(null);
        }