public IActionResult Details(int id)
        {
            var review = Review.GetDetails(id);

            ViewBag.User = ApplicationUser.GetDetails(review.UserId);
            return(View(review));
        }
Пример #2
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser()
                {
                    UserName = model.UserName.Replace(@"'", ""), EmailAddress = model.Email
                };
                user.AddApiInfo(model.ApiKey, model.VerificationCode);

                if (user.IsValid())
                {
                    var result = await UserManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent : false);

                        //UserManager.AddToRole(user.Id, "User");
                        user.GetDetails();

                        await AddRolesAsync(user);

                        return(RedirectToAction("Index", "LoggedInHome"));
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                else
                {
                    if (!user.Errored)
                    {
                        ModelState.AddModelError("", string.Format("You appear to be neither a corp or alliance member (access mask: {0}).",
                                                                   user.ApiKeys.Where(api => api.ApiKey == Convert.ToInt32(model.ApiKey)).FirstOrDefault().AccessMask
                                                                   ));
                    }
                    else
                    {
                        ModelState.AddModelError("", string.Format("Something went wrong: {0}", user.ErrorMessage));
                    }
                }
            }

            ViewBag.FullAPIAccessMask = Properties.Settings.Default.FullAPIAccessMask;
            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult UpdateApiDetails(string originator, string id = "")
        {
            ApplicationUser currentUser = new ApplicationUser();

            if (id == string.Empty)
            {
                id = User.Identity.GetUserId();
            }

            currentUser = db.Users.Where(user => user.Id == id).FirstOrDefault();
            var cUsrTitles = currentUser.Titles;

            currentUser.GetDetails(true);

            db.Titles.Where(dbTitle => dbTitle.UserId == id).ToList().Where(dbTitle => cUsrTitles.Any(cUsrTitle => dbTitle.TitleName == cUsrTitle.TitleName)).ToList().ForEach(dbTitle => db.Entry(dbTitle).State  = EntityState.Unchanged);
            db.Titles.Where(dbTitle => dbTitle.UserId == id).ToList().Where(dbTitle => !cUsrTitles.Any(cUsrTitle => dbTitle.TitleName == cUsrTitle.TitleName)).ToList().ForEach(dbTitle => db.Entry(dbTitle).State = EntityState.Deleted);

            db.SaveChanges();

            return(RedirectToAction(originator, new { id = id }));
        }
        public IActionResult Details(int id)
        {
            var user = ApplicationUser.GetDetails(id);

            return(View(user));
        }
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser() { UserName = model.UserName.Replace(@"'", ""), EmailAddress = model.Email };
                user.AddApiInfo(model.ApiKey, model.VerificationCode);
                
                if (user.IsValid())
                {
                    var result = await UserManager.CreateAsync(user, model.Password);
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent: false);
                        //UserManager.AddToRole(user.Id, "User");
                        user.GetDetails(true);

                        await AddRolesAsync(user);
                        
                        return RedirectToAction("Index", "LoggedInHome");
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                else
                {
                    if (!user.Errored)
                    {
                        ModelState.AddModelError("", string.Format("You appear to be neither a corp or alliance member (access mask: {0}).", 
                            user.ApiKeys.Where(api => api.ApiKey == Convert.ToInt32(model.ApiKey)).FirstOrDefault().AccessMask
                            ));
                    }
                    else
                    {
                        ModelState.AddModelError("", string.Format("Something went wrong: {0}", user.ErrorMessage));
                    }
                }
            }

            ViewBag.FullAPIAccessMask = Properties.Settings.Default.FullAPIAccessMask;
            // If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult UpdateApiDetails(string originator, string id = "")
        {
            ApplicationUser currentUser = new ApplicationUser();

            if (id == string.Empty)
            {
                id = User.Identity.GetUserId();
            }

            currentUser = db.Users.Where(user => user.Id == id).FirstOrDefault();
            var cUsrTitles = currentUser.Titles;

            currentUser.GetDetails(true);

            db.Titles.Where(dbTitle => dbTitle.UserId == id).ToList().Where(dbTitle => cUsrTitles.Any(cUsrTitle => dbTitle.TitleName == cUsrTitle.TitleName)).ToList().ForEach(dbTitle => db.Entry(dbTitle).State = EntityState.Unchanged);
            db.Titles.Where(dbTitle => dbTitle.UserId == id).ToList().Where(dbTitle => !cUsrTitles.Any(cUsrTitle => dbTitle.TitleName == cUsrTitle.TitleName)).ToList().ForEach(dbTitle => db.Entry(dbTitle).State = EntityState.Deleted);

            db.SaveChanges();

            return RedirectToAction(originator, new { id = id });
        }