public AddToCart AddProductToCart(string id, Cart cart) { UserMDB user = _sportsShopDBContext.GetUser(id); ProductMDB product = _sportsShopDBContext.GetProduct(cart.ProductId); AddToCart cartAdd = _graphContext .GetRelations <AddToCart>(user, product) .Where(c => c.Status == AddToCart.CartStatus.InCart || c.Status == AddToCart.CartStatus.Deleted || c.Status == AddToCart.CartStatus.Bought) .FirstOrDefault(); bool itemInCart = cartAdd != null; if (itemInCart && (cartAdd.Status == AddToCart.CartStatus.InCart || cartAdd.Status == AddToCart.CartStatus.Deleted || cartAdd.Status == AddToCart.CartStatus.Bought)) { cartAdd.Quantity += cart.Quantity; cartAdd.Date = System.DateTime.Now; cartAdd.Status = AddToCart.CartStatus.InCart; _graphContext.UpdateRelation(user, cartAdd, product); } else { cartAdd = new AddToCart(cart.Quantity); _graphContext.CreateRelation(user, cartAdd, product); } return(cartAdd); }
public async Task <IActionResult> Buy(Resources.Bought bought) { UserMDB user = _sportsShopDBContext.GetUser(bought.UserId); IEnumerable <CartModel> products = bought.Articles; foreach (var cart in products) { ProductMDB product = _sportsShopDBContext.GetProduct(cart.prodId); product.UnDisp = product.UnDisp - cart.quantity; _sportsShopDBContext.UpdateProduct(product.Id, product); AddToCart cartAdd = _graphContext .GetRelations <AddToCart>(user, product) .Where(c => c.Status == AddToCart.CartStatus.InCart) .FirstOrDefault(); bool itemInCart = cartAdd != null; if (itemInCart && cartAdd.Status == AddToCart.CartStatus.InCart) { cartAdd.Date = System.DateTime.Now; cartAdd.Status = AddToCart.CartStatus.Bought; } if (cartAdd != null) { for (int i = 0; i < cartAdd.Quantity; i++) { _graphContext.CreateRelation(user, new Models.Bought(), product); } } cartAdd.Quantity = 0; _graphContext.UpdateRelation(user, cartAdd, product); } return(Ok(_graphContext.GetRelatives <Models.Bought>(user))); }
public UserMDB GetUserbyName(UserMDB user) { List <UserMDB> users = _sportsShopDBContext.GetUsers(); var userFound = new UserMDB(); foreach (var us in users) { if (us.Name == user.Name) { userFound = us; return(userFound); } } return(userFound); }
public UserMDB GetUserbyUserName(UserInfo user) { List <UserMDB> users = _sportsShopDBContext.GetUsers(); var userFound = new UserMDB(); bool t = false; foreach (var us in users) { if (us.UserName == user.Username && us.Password == user.Password) { userFound = us; return(userFound); } } return(userFound); }
public List <CartModel> DeleteProdToCart(string id, string prodId) { UserMDB user = _sportsShopDBContext.GetUser(id); ProductMDB product = _sportsShopDBContext.GetProduct(prodId); AddToCart cartAdd = _graphContext .GetRelations <AddToCart>(user, product) .Where(c => c.Status == AddToCart.CartStatus.InCart) .FirstOrDefault(); bool itemInCart = cartAdd != null; if (itemInCart && cartAdd.Status == AddToCart.CartStatus.InCart) { cartAdd.Quantity = 0; cartAdd.Date = System.DateTime.Now; cartAdd.Status = AddToCart.CartStatus.Deleted; _graphContext.UpdateRelation(user, cartAdd, product); } List <CartModel> newCartID = new List <CartModel>(); _graphContext .GetRelatives <AddToCart>(user) .Where(p => p.Relation.Status == AddToCart.CartStatus.InCart).ToList().ForEach( value => newCartID.Add(new CartModel { prodId = value.Node.Id, quantity = value.Relation.Quantity })); List <CartModel> newCart = new List <CartModel>(); foreach (var c in newCartID) { var productInfo = _sportsShopDBContext.GetProduct(c.prodId); c.image = productInfo.Imagen; c.price = productInfo.Precio; newCart.Add(c); } return(newCart); }
public Cart UpdateProdToCart(string id, Cart prod) { UserMDB user = _sportsShopDBContext.GetUser(id); ProductMDB product = _sportsShopDBContext.GetProduct(prod.ProductId); AddToCart cartAdd = _graphContext .GetRelations <AddToCart>(user, product) .Where(c => c.Status == AddToCart.CartStatus.InCart) .FirstOrDefault(); bool itemInCart = cartAdd != null; if (itemInCart && cartAdd.Status == AddToCart.CartStatus.InCart) { cartAdd.Quantity = prod.Quantity; cartAdd.Date = System.DateTime.Now; _graphContext.UpdateRelation(user, cartAdd, product); } return(prod); }
public IEnumerable <Resources.CartModel> GetCarToUser(string id) { UserMDB user = _sportsShopDBContext.GetUser(id); //var cart = _sportsShopDBContext.GetUser(id).Cart; List <Resources.CartModel> carts = new List <Resources.CartModel>(); IEnumerable <RelatedItem <AddToCart> > cart = _graphContext .GetRelatives <AddToCart>(user) .Where(p => p.Relation.Status == AddToCart.CartStatus.InCart); foreach (var c in cart) { Resources.CartModel cm = new Resources.CartModel(); var prodInfo = _sportsShopDBContext.GetProduct(c.Node.Id); cm.image = prodInfo.Imagen; cm.Name = prodInfo.Name; cm.price = prodInfo.Precio; cm.prodId = c.Node.Id; cm.quantity = c.Relation.Quantity; carts.Add(cm); } return(carts); }
public async Task <IActionResult> SearchClientsInCommon(string id) { var user = _sportsShopDBContext.GetUser(id); List <Resources.CommonUser> users = new List <Resources.CommonUser>(); var articles = _graphContext.GetRelatives <Bought>(user); foreach (var article in articles) { ProductMDB product = _sportsShopDBContext.GetProduct(article.Node.Id); var commonUsers = _graphContext.GetRelativesInverse <Bought>(product); foreach (var commonUser in commonUsers) { string commonUserId = commonUser.Node.Id; if (commonUserId != id) { UserMDB userMDB = _sportsShopDBContext.GetUser(commonUserId); var alreadyInCommon = users.Where(u => u.User.Id == commonUserId).FirstOrDefault(); if (alreadyInCommon != null) { alreadyInCommon.Products.Add(product); } else { var temp = new Resources.CommonUser(userMDB); temp.Products.Add(product); users.Add(temp); } } } } return(Ok(users)); }
public UserMDB RegisterUser(UserMDB user) { _sportsShopDBContext.CreateUser(user); return(user); }
public CommonUser(UserMDB user, List <ProductMDB> products) { User = user; Products = products; }
public CommonUser(UserMDB user) { User = user; Products = new List <ProductMDB>(); }
public async Task <IActionResult> Register(UserMDB user) { return(Ok(user)); }
public void RemoveUser(UserMDB userIn) => _users.DeleteOne(user => user.Id == userIn.Id);
public void UpdateUser(string id, UserMDB userIn) => _users.ReplaceOne(user => user.Id == id, userIn);
public UserMDB CreateUser(UserMDB user) { _users.InsertOne(user); return(user); }