示例#1
0
        public bool AddSellersPickedProducts(int[] products, int UserID)
        {
            bool result = true;

            try
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    foreach (int product in products)
                    {
                        SellersPickedProduct obj = datacontext.SellersPickedProducts.Where(x => x.UserID == UserID && x.ParentProductID == product).FirstOrDefault();
                        if (obj == null)
                        {
                            obj                 = new SellersPickedProduct();
                            obj.UserID          = UserID;
                            obj.ParentProductID = product;
                            obj.ItemCreatedBy   = UserID;
                            obj.ItemCreatedWhen = DateTime.UtcNow;
                            datacontext.SellersPickedProducts.Add(obj);
                        }
                    }
                    datacontext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.ToString());
            }
            return(result);
        }
示例#2
0
        public bool MapCategory(Category category)
        {
            bool result = true;

            try
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    Category obj = datacontext.Categories.Where(x => x.CategoryID == category.CategoryID).FirstOrDefault();
                    if (obj != null)
                    {
                        obj.AliExpressCategoryName = category.AliExpressCategoryName;
                        obj.AliExpressCategoryId   = category.AliExpressCategoryId;
                        obj.ItemModifyBy           = 1;
                        obj.ItemModifyWhen         = DateTime.UtcNow;
                    }
                    datacontext.Entry(obj).State = System.Data.Entity.EntityState.Modified;
                    datacontext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result = false;
                logger.Info(ex.ToString());
            }

            return(result);
        }
示例#3
0
        public bool UpdatePickedProduct(List <UpdateProductModel> model)
        {
            bool result = false;

            try
            {
                if (model.Count > 0)
                {
                    using (DropshipDataEntities datacontext = new DropshipDataEntities())
                    {
                        foreach (UpdateProductModel item in model)
                        {
                            Product dbProduct = datacontext.Products.Where(m => m.OriginalProductID == item.SKU).FirstOrDefault();
                            if (dbProduct != null)
                            {
                                PickedProduct dbPickedProduct = datacontext.PickedProducts.Where(p => p.SKU == item.SKU).FirstOrDefault();
                                if (dbPickedProduct != null)
                                {
                                    long existingInventory = dbPickedProduct.UpdatedInventory.Value > 0 ? dbPickedProduct.UpdatedInventory.Value : 0;

                                    dbPickedProduct.UpdatedInventory = Convert.ToInt32(item.PickedInventory);
                                    dbPickedProduct.UpdatedPrice     = Convert.ToInt32(item.UpdatedPrice);
                                    dbPickedProduct.UpdatedBy        = 1;
                                    dbPickedProduct.UpdatedDate      = DateTime.Now;
                                    datacontext.SaveChanges();
                                    dbProduct.Inventory = Convert.ToString(Convert.ToInt32(dbProduct.Inventory) - (dbPickedProduct.UpdatedInventory - existingInventory));
                                    datacontext.SaveChanges();
                                    result = true;
                                }
                                else
                                {
                                    PickedProduct dbPickProduct = new PickedProduct();
                                    dbPickedProduct.ProductId        = dbProduct.ProductID;
                                    dbPickedProduct.SKU              = dbProduct.OriginalProductID;
                                    dbPickedProduct.UpdatedPrice     = Convert.ToInt16(item.UpdatedPrice);
                                    dbPickedProduct.UpdatedInventory = Convert.ToInt16(item.PickedInventory);
                                    dbPickedProduct.CreatedBy        = 1;
                                    dbPickedProduct.CreatedDate      = DateTime.Now;
                                    datacontext.PickedProducts.Add(dbPickedProduct);
                                    datacontext.SaveChanges();
                                    long remainInventory = Convert.ToInt32(dbProduct.Inventory) - dbPickedProduct.UpdatedInventory.Value;
                                    if (remainInventory > 0)
                                    {
                                        dbProduct.Inventory = Convert.ToString(remainInventory);
                                    }
                                    datacontext.SaveChanges();
                                }
                                result = true;
                                //string productSKU = SyncWithAliExpress(dbProduct);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                result = false;
            }
            return(result);
        }
示例#4
0
        public List <ProductGroupModel> GetPickedProducts(int UserID)
        {
            List <ProductGroupModel> productGroupList = new List <ProductGroupModel>();

            try
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    List <SellersPickedProduct> dbSellerPickedProducts = datacontext.SellersPickedProducts.Where(x => x.UserID == UserID).GroupBy(x => x.ParentProductID).Select(x => x.FirstOrDefault()).ToList();
                    if (dbSellerPickedProducts.Count > 0)
                    {
                        foreach (SellersPickedProduct item in dbSellerPickedProducts)
                        {
                            List <Product> dbParentProducts = datacontext.Products.Where(x => x.ProductID == item.ParentProductID).ToList();
                            if (dbParentProducts.Count > 0)
                            {
                                foreach (Product dbParentProduct in dbParentProducts)
                                {
                                    ProductGroupModel productGroup = new ProductGroupModel();

                                    List <Product> childProducts = datacontext.Products.Where(x => x.ParentProductID.ToString() == dbParentProduct.OriginalProductID).ToList();
                                    productGroup.ParentProduct    = GenerateProductViewModel(dbParentProduct);
                                    productGroup.ChildProductList = new List <ProductViewModel>();

                                    long parentInvetoryTotal = 0;
                                    long parentPriceTotal    = 0;

                                    foreach (Product dbChildProduct in childProducts)
                                    {
                                        ProductViewModel childProductModel = GenerateProductViewModel(dbChildProduct);
                                        childProductModel = AddUpdatedValues(childProductModel);
                                        productGroup.ChildProductList.Add(childProductModel);
                                        parentInvetoryTotal = parentInvetoryTotal + Convert.ToInt32(childProductModel.Inventory);
                                        parentPriceTotal    = parentPriceTotal + Convert.ToInt32(childProductModel.SellingPrice);
                                    }
                                    productGroup.ParentProduct.Inventory    = parentInvetoryTotal.ToString();
                                    productGroup.ParentProduct.SellingPrice = parentPriceTotal;
                                    productGroupList.Add(productGroup);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.ToString());
            }
            return(productGroupList);
        }
示例#5
0
        public List <Product> GetParentProducts()
        {
            List <Product> products = new List <Product>();

            try
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    products = datacontext.Products.Where(x => x.ParentProductID == null).ToList();
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.ToString());
            }
            return(products);
        }
示例#6
0
        public List <AliExpressCategory> getlocalAliExpressCategories()
        {
            List <AliExpressCategory> list = new List <AliExpressCategory>();

            try
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    list = datacontext.AliExpressCategories.ToList();
                }
            }
            catch (Exception ex)
            {
                logger.Info(ex.ToString());
            }

            return(list);
        }
示例#7
0
        public ProductViewModel GenerateProductViewModel(Product dbChildProduct)
        {
            ProductViewModel productModel = new ProductViewModel();

            productModel.ProductID            = dbChildProduct.ProductID;
            productModel.Title                = dbChildProduct.Title;
            productModel.CategoryID           = dbChildProduct.CategoryID;
            productModel.SellingPrice         = dbChildProduct.SellingPrice;
            productModel.SellingPriceCurrency = dbChildProduct.SellingPriceCurrency;
            productModel.OriginalProductID    = dbChildProduct.OriginalProductID;
            productModel.Brand                = dbChildProduct.Brand;
            productModel.Description          = dbChildProduct.Description;
            productModel.Inventory            = dbChildProduct.Inventory;
            productModel.ManufacturerName     = dbChildProduct.ManufacturerName;
            productModel.ExternalCode         = dbChildProduct.ExternalCode;
            productModel.ExternalCodeType     = dbChildProduct.ExternalCodeType;
            productModel.ParentProductID      = dbChildProduct.ParentProductID;
            productModel.NoOfCustomerReviews  = dbChildProduct.NoOfCustomerReviews;
            productModel.CustomerReviewRating = dbChildProduct.CustomerReviewRating;
            productModel.NetWeight            = dbChildProduct.NetWeight;
            productModel.ShippingWeight       = dbChildProduct.ShippingWeight;
            productModel.CountryOfOrigin      = dbChildProduct.CountryOfOrigin;
            productModel.Size          = dbChildProduct.Size;
            productModel.Color         = dbChildProduct.Color;
            productModel.SourceWebsite = dbChildProduct.SourceWebsite;
            productModel.IsActive      = dbChildProduct.IsActive;

            if (productModel.CategoryID > 0)
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    Category dbCategoryModel = datacontext.Categories.Where(m => m.CategoryID == productModel.CategoryID).FirstOrDefault();
                    if (dbCategoryModel != null)
                    {
                        productModel.CategoryName = dbCategoryModel.Name;
                    }
                }
            }
            return(productModel);
        }
示例#8
0
        public ProductViewModel AddUpdatedValues(ProductViewModel productModel)
        {
            if (productModel != null)
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    PickedProduct dbPickedProduct = datacontext.PickedProducts.Where(m => m.SKU == productModel.OriginalProductID).FirstOrDefault();
                    if (dbPickedProduct != null)
                    {
                        productModel.UpdatedInvetory = dbPickedProduct.UpdatedInventory.Value;
                        productModel.UpdatedPrice    = dbPickedProduct.UpdatedPrice.Value;
                    }
                    else
                    {
                        productModel.UpdatedInvetory = 0;
                        productModel.UpdatedPrice    = 0;
                    }
                }
            }

            return(productModel);
        }
示例#9
0
        public bool addAliExpressCategories(List <AliExpressCategory> categories)
        {
            bool result = true;

            try
            {
                using (DropshipDataEntities datacontext = new DropshipDataEntities())
                {
                    foreach (AliExpressCategory category in categories)
                    {
                        datacontext.AliExpressCategories.Add(category);
                    }
                    datacontext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result = false;
                logger.Info(ex.ToString());
            }

            return(result);
        }