Ejemplo n.º 1
0
        public async Task <IActionResult> EditBuyer(Buyer buyer)
        {
            if (ModelState.IsValid)
            {
                await using AppContext db = new AppContext();
                string email = User?.FindFirst(u => u.Type == ClaimTypes.Email)?.Value;
                var    user  = await db.Buyers.FirstOrDefaultAsync(p =>
                                                                   p.Email == email);

                user.FirstName = buyer.FirstName;
                user.LastName  = buyer.LastName;
                await db.SaveChangesAsync();

                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

                var claims = new List <Claim>
                {
                    new Claim(ClaimsIdentity.DefaultNameClaimType, buyer.FirstName + " " + buyer.LastName),
                    new Claim(ClaimTypes.Email, email),
                    new Claim(ClaimTypes.GivenName, buyer.FirstName),
                    new Claim(ClaimTypes.Surname, buyer.LastName),
                    new Claim(ClaimTypes.Role, "Buyer")
                };
                ClaimsIdentity id = new ClaimsIdentity(claims, "ApplicationCookie", ClaimsIdentity.DefaultNameClaimType,
                                                       "Buyer");
                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(id));
            }
            return(RedirectToAction("Index", "Home"));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Products()
        {
            await using Models.AppContext db = new Models.AppContext();
            string email    = User?.FindFirst(u => u.Type == ClaimTypes.Email)?.Value;
            var    products = db.Products.Include(p => p.Seller)
                              .Where(p => p.Seller.Email == email).ToList();

            return(View(products));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> EditProduct(Product product)
        {
            await using Models.AppContext db = new Models.AppContext();
            string email         = User?.FindFirst(u => u.Type == ClaimTypes.Email)?.Value;
            var    productToEdit = await db.Products.FirstOrDefaultAsync(p => p.Id == product.Id);

            productToEdit.Count       = product.Count;
            productToEdit.Description = product.Description;
            productToEdit.Quantity    = product.Quantity;
            productToEdit.Price       = product.Price;
            productToEdit.Name        = product.Name;
            await db.SaveChangesAsync();

            return(View("Products"));
        }
 public IEnumerable <GameRateModel> GetUserGameRates()
 {
     return(GameRateManager.GetUsersGameRates(User.FindFirst(ClaimTypes.NameIdentifier).Value));
 }