public async Task <IActionResult> ResetInfo(InfoViewModel model) { User user = await _userManager.FindByNameAsync(User.Identity.Name); user.Address = model.Address; user.Fio = model.Fio; user.PhoneNumber = model.PhoneNumber; _context.Update(user); await _context.SaveChangesAsync(); return(Redirect($"{HttpContext.Request.Scheme}://{HttpContext.Request.Host}/Profile/Profile")); }
public async Task <IActionResult> AddToCart(string TextileId, string Api = "none") { bool flag = false; if (User.Identity.IsAuthenticated) { Cart cart = await _context.Carts.Include(x => x.Items).ThenInclude(x => x.Textile).ThenInclude(x => x.Charachteristics).Include(x => x.User) .FirstOrDefaultAsync(x => x.User.UserName == User.Identity.Name); foreach (var x in cart.Items) { if (x.Textile.TextileId == Guid.Parse(TextileId)) { flag = true; break; } } if (!flag) { if (_context.Textiles.Find(Guid.Parse(TextileId)).WarehouseAmount >= 1) { await _context.Items.AddAsync(new Item() { ItemId = Guid.NewGuid(), CartId = cart.CartId, TextileId = Guid.Parse(TextileId), ItemsAmount = 1 }); await _context.SaveChangesAsync(); } } else { if (_context.Textiles.Find(Guid.Parse(TextileId)).WarehouseAmount > cart.Items .FirstOrDefault(x => x.Textile.TextileId == Guid.Parse(TextileId)).ItemsAmount) { cart.Items.FirstOrDefault(x => x.Textile.TextileId == Guid.Parse(TextileId)).ItemsAmount++; _context.Update(cart); await _context.SaveChangesAsync(); } } } else { if (!HttpContext.Request.Cookies.ContainsKey("Cart")) { bool flag1; Guid Id = Guid.NewGuid(); Guid CartId = Guid.NewGuid(); Cart Cart = new Cart() { CartId = CartId, NonAuthorizedId = Id }; await _context.Carts.AddAsync(Cart); if (_context.Textiles.Find(Guid.Parse(TextileId)).WarehouseAmount >= 1) { await _context.Items.AddAsync(new Item() { ItemId = Guid.NewGuid(), CartId = CartId, TextileId = Guid.Parse(TextileId), ItemsAmount = 1 }); } await _context.SaveChangesAsync(); HttpContext.Response.Cookies.Append("Cart", Id.ToString(), new Microsoft.AspNetCore.Http.CookieOptions() { Expires = DateTime.Now.Add(TimeSpan.FromDays(90)), IsEssential = true }); } else { bool flag2 = false; Guid Id = Guid.Parse(HttpContext.Request.Cookies["Cart"]); Cart Cart = await _context.Carts.Include(x => x.Items).ThenInclude(x => x.Textile).ThenInclude(x => x.Charachteristics) .FirstOrDefaultAsync(x => x.NonAuthorizedId == Id); foreach (var x in Cart.Items) { if (x.Textile.TextileId == Guid.Parse(TextileId)) { flag2 = true; break; } } if (!flag2) { if (_context.Textiles.Find(Guid.Parse(TextileId)).WarehouseAmount >= 1) { _context.Items.Add(new Item() { CartId = Cart.CartId, ItemId = Guid.NewGuid(), ItemsAmount = 1, TextileId = Guid.Parse(TextileId) }); _context.Update(Cart); await _context.SaveChangesAsync(); } } else { if (_context.Textiles.Find(Guid.Parse(TextileId)).WarehouseAmount > Cart.Items .FirstOrDefault(x => x.Textile.TextileId == Guid.Parse(TextileId)).ItemsAmount) { Cart.Items.FirstOrDefault(x => x.Textile.TextileId == Guid.Parse(TextileId)).ItemsAmount++; _context.Update(Cart); await _context.SaveChangesAsync(); } } } } string Url = Request.Headers["Referer"].ToString(); if (Api == "none") { return(Redirect(Url)); } else { return(Ok()); } }