Пример #1
0
        public bool DeleteProduct(string code)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork UoW = new UnitOfWork(context);

                if (code != null)
                {
                    var Delete = UoW.Product.DeleteProduct(code);
                    UoW.commit();
                    if (Delete)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }

                else
                {
                    return(false);
                }
            }
        }
Пример #2
0
        public bool AddOrder(int id, DTOs.Order order)
        {
            if (order != null)
            {
                using (APShopContext context = new APShopContext())
                {
                    UnitOfWork UoW = new UnitOfWork(context);

                    EntityModels.Order EMOrder = _mapper.Map <EntityModels.Order>(order);
                    foreach (var orderProduct in order.Items)
                    {
                        if (!(UoW.Product.CheckProductIsAvailable(orderProduct.Id, orderProduct.Quantity)))
                        {
                            throw new Exception("product not found or not enough in stock");
                        }
                    }
                    UoW.User.GetById(id).Order.Add(EMOrder);
                    foreach (var orderProduct in order.Items)
                    {
                        EntityModels.OrderProduct EMOrderProduct = _mapper.Map <EntityModels.OrderProduct>(orderProduct);
                        EMOrder.OrderProduct.Add(EMOrderProduct);
                        UoW.Product.ReduceInStock(orderProduct.Id, orderProduct.Quantity);
                    }
                    UoW.commit();
                    return(true);
                }
            }
            else
            {
                return(false);
            }
        }
Пример #3
0
        public List <DTOs.Order> GetAllOders(int id)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork UoW           = new UnitOfWork(context);
                var        DTOsOrderList = new List <DTOs.Order>();
                var        EMOrderList   = UoW.Order.GetAllOrders(id);

                if (EMOrderList != null)
                {
                    foreach (var order in EMOrderList)
                    {
                        var dtoOrder = _mapper.Map <DTOs.Order>(order);
                        dtoOrder.Items = new List <DTOs.OrderItem>();
                        foreach (var orderItem in order.OrderProduct)
                        {
                            var Item = _mapper.Map <DTOs.OrderItem>(orderItem);
                            Item.product = new DTOs.FullProduct();
                            var EMsearchProduct  = UoW.Product.GetEntireProductById(orderItem.ProductId);
                            var EMProductDetails = EMsearchProduct.ProductDetails.SingleOrDefault();

                            Item.product.product        = _mapper.Map <DTOs.Product>(EMsearchProduct);
                            Item.product.productDetails = _mapper.Map <DTOs.ProductDetails>(EMProductDetails);
                            DTOsOrderList.Add(dtoOrder);
                        }
                    }
                }
                return(DTOsOrderList);
            }
        }
Пример #4
0
 public UnitOfWork(APShopContext context)
 {
     if (context == null)
     {
         throw new ArgumentNullException("Context was not supplied");
     }
     _context = context;
 }
Пример #5
0
 public UnitOfWork(APShopContext context)
 {
     if (context == null)
     {
         throw new ArgumentNullException();
     }
     this._context = context;
 }
Пример #6
0
        public bool CheckIfUserExists(string username)
        {
            if (username == null)
            {
                throw new ArgumentNullException();
            }

            using (APShopContext context = new APShopContext())
            {
                UnitOfWork UoW = new UnitOfWork(context);
                return(UoW.User.CheckIfUserExists(username));
            }
        }
Пример #7
0
        public void AddProduct(DTOs.Product product, DTOs.ProductDetails productDetails)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork                  UoW              = new UnitOfWork(context);
                EntityModels.Product        EMProduct        = _mapper.Map <EntityModels.Product>(product);
                EntityModels.ProductDetails EMProductDetails = _mapper.Map <EntityModels.ProductDetails>(productDetails);

                UoW.Product.AddProduct(EMProduct);
                EMProduct.ProductDetails.Add(EMProductDetails);

                UoW.commit();
            }
        }
Пример #8
0
        public User GetUser(int Id)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork UoW = new UnitOfWork(context);

                EntityModels.Users efUser = UoW.User.GetById(Id);
                if (efUser == null)
                {
                    return(null);
                }
                DTOs.User user = _mapper.Map <DTOs.User>(efUser);
                return(user);
            }
        }
Пример #9
0
        public int RegisterUser(DTOs.User loginUser, DateTime lastUpdated)
        {
            //if (loginUser == null)
            //{
            //    throw new ArgumentNullException();
            //}
            //using (APShopContext context = new APShopContext())
            //{
            //    UnitOfWork UoW = new UnitOfWork(context);
            //    EntityModels.Users user = _mapper.Map<EntityModels.Users>(loginUser);
            //    UoW.User.Register(user);



            //    EntityModels.Cart cart = new EntityModels.Cart();

            //    user.Cart.Add(cart);

            //    UoW.commit();

            //    return user.Id;

            if (loginUser == null)
            {
                throw new ArgumentNullException("User info was not provided!");
            }
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork uow = new UnitOfWork(context);

                EntityModels.Users user = _mapper.Map <EntityModels.Users>(loginUser);
                uow.User.Register(user);

                //uow.commit();

                // Creating, mapping and adding the cart to the user
                EntityModels.Cart cart = new EntityModels.Cart()
                {
                    DateLastUpdated = lastUpdated
                };
                user.Cart.Add(cart);
                //context.Cart.Add(cart);

                uow.commit();

                return(user.Id);
            }
        }
Пример #10
0
        public int LogInUser(string username, string password)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork UoW = new UnitOfWork(context);
                //int id = UoW.User.LogIn(username, password);
                //return id;

                try
                {
                    return(UoW.User.LogIn(username, password));
                }

                catch (Exception)
                {
                    return(0);
                }
            }
        }
Пример #11
0
        public DTOs.Products GetProducts(SearchBy Search)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork UoW = new UnitOfWork(context);

                DTOs.Products listOfProducts = new DTOs.Products()
                {
                    ArrayOfProducts = new List <DTOs.Product>()
                };
                List <EntityModels.Product> products = UoW.Product.GetBySearch(Search);

                foreach (var product in products)
                {
                    listOfProducts.ArrayOfProducts.Add(_mapper.Map <DTOs.Product>(product));
                }

                return(listOfProducts);
            }
        }
Пример #12
0
        public DTOs.FullProduct GetFullProduct(int id)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork       UoW         = new UnitOfWork(context);
                DTOs.FullProduct fullProduct = new DTOs.FullProduct();

                var FullP  = UoW.Product.GetEntireProductById(id);
                var FullPD = FullP.ProductDetails.SingleOrDefault();

                if (FullP == null)
                {
                    return(fullProduct);
                }

                fullProduct.product        = _mapper.Map <DTOs.Product>(FullP);
                fullProduct.productDetails = _mapper.Map <DTOs.ProductDetails>(FullPD);
                return(fullProduct);
            }
        }
Пример #13
0
        public bool UpdateProduct(DTOs.Product product, DTOs.ProductDetails productDetails)
        {
            using (APShopContext context = new APShopContext())
            {
                UnitOfWork                  UoW              = new UnitOfWork(context);
                EntityModels.Product        EMProduct        = _mapper.Map <EntityModels.Product>(product);
                EntityModels.ProductDetails EMProductDetails = _mapper.Map <EntityModels.ProductDetails>(productDetails);

                var Exists = UoW.Product.GetByCode(product.Code);

                if (Exists != null)
                {
                    Exists.IsActive = false;
                    UoW.Product.AddProduct(EMProduct);
                    EMProduct.ProductDetails.Add(EMProductDetails);
                    UoW.commit();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Пример #14
0
 public ProductRepository(APShopContext context)
     : base(context)
 {
     _context = context;
 }
Пример #15
0
 public OrderRepository(APShopContext context)
     : base(context)
 {
     _context = context;
 }
Пример #16
0
 public Repository(APShopContext context)
 {
     _dbSet   = context.Set <T>();
     _context = context;
 }
Пример #17
0
 public UserRepository(APShopContext context)
 {
     this._dbSet = context.Users;
 }
Пример #18
0
 public OrderRepository(APShopContext context)
 {
     this._dbSet = context.Order;
 }
Пример #19
0
 public CartRepository(APShopContext context)
     : base(context)
 {
 }
Пример #20
0
 public ProductRepository(APShopContext context)
 {
     this._dbSet   = context.Product;
     this._context = context;
 }
Пример #21
0
 public CartRepository(APShopContext context)
 {
     _dbSet = context.Cart;
 }
Пример #22
0
 public UserRepository(APShopContext context)
     : base(context)
 {
 }