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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }