public User GetUser(int id) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); //EF.User efUser = uow.Users.GetAll().FirstOrDefault(); EF.User efUser = uow.Users.GetById(id); if (efUser is null) { return(null); } User user = new User() { Id = efUser.Id, Username = efUser.Username, Password = efUser.Password, Role = efUser.Role }; return(user); } }
public void AddProductToCart(int userId, CartItem cartItem) {// ovde moras provjeriti da li se dodaje postojeci item, ako dodaje povecaj mu samo quantity using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); List <CartItem> userCartItems = GetCartItems(userId).ToList(); foreach (CartItem item in userCartItems) { if (item.Code == cartItem.Code) { EF.CartProduct dboCartProduct1 = new EF.CartProduct(); dboCartProduct1 = _mapper.Map <EF.CartProduct>(item); dboCartProduct1.Quantity += cartItem.Quantity; context.CartProduct.Update(dboCartProduct1); context.SaveChanges(); return; } } // EF.Cart cart = context.Cart.Where(c => c.UserId == userId).SingleOrDefault(); EF.CartProduct dboCartProduct = new EF.CartProduct(); //dboCartProduct.CartId = cart.Id; dboCartProduct.Code = cartItem.Code; dboCartProduct.Quantity = cartItem.Quantity; uow.Carts.GetByUserId(userId).CartProduct.Add(dboCartProduct); //uow.Users.addCartProduct(dboCartProduct); uow.Commit(); } }
public bool CheckIfUserExists(int userId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); return(uow.Users.CheckIfUserExists(userId)); } }
public Product GetProductById(int productId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var dbProduct = uow.Products.GetProductById(productId); return(_mapper.Map <Product>(dbProduct)); } }
public List <Product> GetProductsByFilters(FiltersDTO filters) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var dbProducts = uow.Products.GetListOfProducts(filters.CategoryId, filters.FreeShipping, filters.PriceFrom, filters.PriceTo, filters.SerachText); return(_mapper.Map <List <Product> >(dbProducts)); } }
public void AddOrderWithItems(Order order) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var orderDB = _mapper.Map <EF.Order>(order); uow.Orders.AddOrderWithItems(orderDB); } }
public List <OrderInfo> GetOrdersByUserId(int userId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var orders = uow.Orders.GetOrdersByUserId(userId); return(_mapper.Map <List <OrderInfo> >(orders)); } }
public void DeleteProduct(int productId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); uow.Products.DeleteProduct(productId); uow.Commit(); } }
public int updateCartItem(int userId, string cartItemCode, int quantity) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.CartProduct cartItem = context.CartProduct.Where(p => p.Cart.UserId == userId && p.Code == cartItemCode).SingleOrDefault(); cartItem.Quantity = quantity; uow.Users.updateCartItem(cartItem); uow.Commit(); return(cartItem.Quantity); } }
public Order GetOrderItems(int orderId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var orderItemsDB = uow.Orders.GetOrderIncludeOrderProductsIncludeProduct(orderId); var result = _mapper.Map <Order>(orderItemsDB); result.Items = _mapper.Map <List <OrderItem> >(orderItemsDB.OrderProduct); return(result); } }
public User GetUserByUsername(string username) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var dbUser = uow.Users.GetUserByUsername(username); if (dbUser == null) { throw new ArgumentNullException("User not found"); } return(_mapper.Map <User>(dbUser)); } }
public ProductFull GetFullProduct(int productId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.Product EfProduct = uow.Products.GetFullProduct(productId); ProductFull productFull = new ProductFull(); var productDetailEntity = EfProduct.ProductDetails.SingleOrDefault(); productFull.Details = _mapper.Map <ProductDetails>(productDetailEntity); productFull.Product = _mapper.Map <Product>(EfProduct); return(productFull); } }
public int AddProduct(ProductFull fullProduct) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.Product dbProduct = _mapper.Map <EF.Product>(fullProduct.Product); EF.ProductDetails dbProductDetails = _mapper.Map <EF.ProductDetails>(fullProduct.Details); dbProduct.IsActive = true; dbProduct.ProductDetails.Add(dbProductDetails); uow.Products.AddProduct(dbProduct); uow.Commit(); return(dbProduct.Id); } }
public User UserLogin(string username, string passwordHash) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.User efUser = uow.Users.GetByUsernameAndPassword(username, passwordHash); if (efUser is null) { return(null); } User user = _mapper.Map <User>(efUser); return(user); } }
public static void PostUser(User userDBO) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.User efUser = new EF.User() { Username = userDBO.Username, Password = userDBO.Password, Role = userDBO.Role }; uow.Users.Add(efUser); context.SaveChanges(); } }
public IEnumerable <CartItem> GetCartItems(int userId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); List <EF.CartProduct> cartDBContent = context.CartProduct.Where(x => x.Cart.UserId == userId).ToList(); if (cartDBContent == null) { throw new ArgumentNullException("Couldn't find requested resource"); } if (cartDBContent.Count() == 0) { //throw new Exception("No products in your cart, add something you like"); return(new List <CartItem>()); } List <string> codes = new List <string>(); foreach (var item in cartDBContent) { codes.Add(item.Code); } List <EF.Product> cartdbProducts = uow.Products.GetProductsByCode(codes).ToList(); if (cartdbProducts == null || cartdbProducts.Count() == 0) { throw new ArgumentNullException("Couldn't find requested resource"); } List <CartItem> cartDTOItems = new List <CartItem>(); cartDTOItems = _mapper.Map <List <CartItem> >(cartDBContent); for (int i = 0; i < cartDTOItems.Count(); i++) { cartDTOItems[i].Product = _mapper.Map <Product>(cartdbProducts[i]); } return(cartDTOItems); } }
public int Register(User user, DateTime cartDate) { if (user == null) { throw new ArgumentNullException("User info not supplied"); } using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.User dboUser = _mapper.Map <EF.User>(user); uow.Users.CreateUser(dboUser); EF.Cart dbCart = new EF.Cart() { DateLastUpdated = cartDate }; dboUser.Cart.Add(dbCart); //virtuelni clan uow.Commit(); return(dboUser.Id); } }
public List <CartItem> deleteProductFromCart(int userId, string code, DateTime dateTime) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.CartProduct productToDelete = context.CartProduct.Include(c => c.Cart). Where(p => p.Cart.UserId == userId && p.Code == code).SingleOrDefault(); // EF.CartProduct productToDelete = uow.Users.GetById(userId).Cart.SingleOrDefault().CartProduct.Where(p => p.Code == code && p.Cart.UserId ==userId).SingleOrDefault(); if (productToDelete == null) { throw new ArgumentNullException("Couldn't find requested resource"); } productToDelete.Cart.DateLastUpdated = dateTime; uow.Users.deleteCartProduct(productToDelete); uow.Commit(); return(GetCartItems(userId).ToList()); } }
public Cart GetCartByUserId(int userId) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); EF.Cart efUserCart = uow.Carts.GetByUserId(userId); if (efUserCart is null) { return(null); } Cart cart = new Cart() { Id = efUserCart.Id, UserId = efUserCart.UserId, DateLastUpdated = efUserCart.DateLastUpdated }; return(cart); } }
public ProductFull Update(int productId, ProductFull product) { using (EF.APShopContext context = new EF.APShopContext()) { UnitOfWork uow = new UnitOfWork(context); var dbProductOld = uow.Products.GetById(productId); if (dbProductOld == null) { throw new ArgumentNullException("Internal server error"); } dbProductOld.IsActive = false; var dbProductDetailForAdd = _mapper.Map <EF.ProductDetails>(product.Details); dbProductDetailForAdd.Product = _mapper.Map <EF.Product>(product.Product); dbProductDetailForAdd.Product.IsActive = true; dbProductDetailForAdd.Product.Code = dbProductOld.Code; uow.Products.AddProductDetails(dbProductDetailForAdd); uow.Commit(); var dtop = _mapper.Map <Product>(dbProductDetailForAdd.Product); var dtopd = _mapper.Map <ProductDetails>(dbProductDetailForAdd); return(new ProductFull { Product = dtop, Details = dtopd }); } }