public EfUnitOfWork( DbContextOptions <AppDbContext> dbContext, IOptions <OperationalStoreOptions> operationalStoreOptions) { _dbContext = new AppDbContext(dbContext, operationalStoreOptions); CatalogRepository = new EfCatalogRepository(_dbContext); ProductRepository = new EfProductRepository(_dbContext); ProductGroupRepository = new EfProductGroupRepository(_dbContext); ProductSpecificationRepository = new EfProductSpecificationRepository(_dbContext); ProductGroupSpecificationRepository = new EfProductGroupSpecificationRepository(_dbContext); ProductSpecificationNameRepository = new EfProductSpecificationNameRepository(_dbContext); ProductSpecificationValueRepository = new EfProductSpecificationValueRepository(_dbContext); BrandRepository = new EfBrandRepository(_dbContext); OrderRepository = new EfOrderRepository(_dbContext); OrderProductRepository = new EfOrderProductRepository(_dbContext); BasketRepository = new EfBasketRepository(_dbContext); BasketProductRepository = new EfBasketProductRepository(_dbContext); BuyerRepository = new EfBuyerRepository(_dbContext); FileRepository = new EfFileRepository(_dbContext); ProductImageRepository = new EfProductImageRepository(_dbContext); ProductImageThumbnailRepository = new EfProductImageThumbnailRepository(_dbContext); BrandImageRepository = new EfBrandImageRepository(_dbContext); CatalogImageRepository = new EfCatalogImageRepository(_dbContext); AddressRepository = new EfAddressRepository(_dbContext); UserRepository = new EfUserRepository(_dbContext); RoleRepository = new EfRoleRepository(_dbContext); UserClaimRepository = new EfUserClaimRepository(_dbContext); RoleClaimRepository = new EfRoleClaimRepository(_dbContext); UserLoginRepository = new EfUserLoginRepository(_dbContext); UserTokenRepository = new EfUserTokenRepository(_dbContext); UserRoleRepository = new EfUserRoleRepository(_dbContext); }
// // POST: /parser/import public ActionResult Import() { try { var parsed = TempData["ExchangeItems"] as List <ParsedItem>; if (parsed == null) { throw new ArgumentNullException("Information about sizes", "No parsed items. Bad data?!"); } var db = new EfProductRepository(); foreach (var item in parsed) { var product = new OnBalance.Domain.Entities.Product(); //product.CategoryId = product.InternalCode = item.InternalCode; product.Name = item.ProductName; product.PosId = 500000; product.Price = item.PriceOfRelease; product.StatusId = (byte)Status.Pending; product.UserId = User.Identity.Name; product.Uid = Common.EncodeHex(Common.CalculateMd5(string.Format("{0}-{1}-{2}", User.Identity.Name, product.PosId, product.InternalCode))); product.CreatedAt = DateTime.UtcNow; db.Save(product); foreach (var size in item.Sizes) { var pd = new OnBalance.Domain.Entities.ProductDetail(); pd.ProductId = product.Id; pd.ParameterName = "size"; pd.ParameterValue = size.Size; pd.Quantity = size.Quantity; pd.StatusId = (byte)Status.Pending; pd.PriceMinor = (int)(item.Price * 100); pd.PriceReleaseMinor = (int)(item.PriceOfRelease * 100); pd.CreatedAt = DateTime.UtcNow; pd.UpdatedAt = DateTime.UtcNow; db.Save(pd); } //var bi = new OnBalance.Domain.Entities.BalanceItem(); //bi.InternalCode = item.InternalCode; //bi.PosId = 500001; //bi.Price = item.Price; //bi.PriceOfRelease = item.PriceOfRelease; //bi.ProductName = item.ProductName; //bi.Quantity = item.Quantity; //bi.StatusId = (byte)OnBalance.Status.Pending; //db.Save(bi); } db.SubmitChanges(); return(View("Import", "_LayoutLogin")); } catch (Exception ex) { Error("Error importing parsed products", ex); return(Content(ex.Message)); } }
public DataManager(EFDBContext context) { Products = new EfProductRepository(context); Comings = new EfComingRepository(context); Writeoffs = new EfWriteoffRepository(context); Providers = new EFProviderRepository(context); ProductCounts = new EfProductCountRepository(context); }
public void StoresAndLoadsProduct() { Product product = new Product("cup", new Money(1, 25)); IProductRepository productRepository = new EfProductRepository(CreateCommerceContext()); var id = productRepository.Save(product); Product loaded = productRepository.FindOne(id); loaded.ShouldBeEquivalentTo(product); }
public ActionResult ChangeQuantity(int id) { bool status = false; string message = ""; int quantity = 0; try { var dbBalance = new EfBalanceItemRepository(); var dbProducts = new EfProductRepository(); var pd = dbProducts.GetDetailsById(id); if (pd == null) { message = "Could not found ProductDetail"; ErrorFormat("Could not get ProductDetail by ID: {0}", id); } else { var product = dbProducts.GetById(pd.ProductId); if (product == null) { message = "Could not found Product to change quantity"; ErrorFormat("Could not get Product by ID: {0}", pd.ProductId); } var balanceItem = dbBalance.BalanceItems .Where(x => x.InternalCode == product.InternalCode) .Where(x => x.SizeName == pd.ParameterValue) .Where(x => x.PosId == product.PosId) .Where(x => x.StatusId == (byte)Status.Pending) .FirstOrDefault(); int dQnt = int.Parse(Request["dQnt"]); if (balanceItem == null) { balanceItem = new OnBalance.Domain.Entities.BalanceItem(); balanceItem.InternalCode = product.InternalCode; balanceItem.SizeName = pd.ParameterValue; balanceItem.PosId = product.PosId; balanceItem.ProductName = product.Name; balanceItem.StatusId = (byte)Status.Pending; balanceItem.Quantity = dQnt; } else { balanceItem.Quantity += dQnt; } balanceItem.Price = pd.PriceMinor / 100; balanceItem.PriceOfRelease = pd.PriceReleaseMinor / 100; // Locally balanceItem.ChangedFrom = 'L'; dbBalance.Save(balanceItem); dbBalance.SubmitChanges(); quantity = balanceItem.Quantity; status = true; } } catch (Exception ex) { message = ex.Message; } return(Json(new { Staus = status, Message = message, Quantity = quantity }, JsonRequestBehavior.AllowGet)); }
public ProductDetailsController(ElectronicsDbContext db) { _db = db; _efProductRepository = new EfProductRepository(); }
public AdminController() { productRepository = new EfProductRepository(); }