protected override void RegisterTypes(IContainerRegistry containerRegistry) { var options = new DbContextOptionsBuilder <ToyStoreDbContext>().UseInMemoryDatabase("Customers") .Options; containerRegistry.RegisterSingleton <ToyStoreDbContext>(() => { var initializer = new ToyStoreContextInitializer(); var context = new ToyStoreDbContext(options); initializer.Initialize(context) .Wait(); return(context); }); containerRegistry.RegisterScoped <IToysCategoriesService, ToysCategoriesService>(); containerRegistry.RegisterScoped <IToysService, ToysService>(); containerRegistry.RegisterScoped <ISalesService, SalesService>(); containerRegistry.RegisterScoped <ICustomersService, CustomersService>(); containerRegistry.RegisterScoped <IPreOrdersService, PreOrdersService>(); containerRegistry.Register <ISalesStatisticsPrinter, FileSalesStatisticsPrinter>(); containerRegistry.RegisterForNavigation <SignInPage, SignInPageViewModel>("SignInPage"); containerRegistry.RegisterForNavigation <AdminPage, AdminPageViewModel>("AdministratorPage"); containerRegistry.RegisterForNavigation <ManagerPage, ManagerPageViewModel>("ManagerPage"); containerRegistry.Register <MainWindow>(() => new MainWindow { DataContext = new MainWindowViewModel(Container .Resolve <IRegionManager>(), Container .Resolve <IEventAggregator >()) }); }
public ManufacturerService(ToyStoreDbContext db) { this.db = db; }
public async Task Initialize(ToyStoreDbContext context) { var random = new Random(); var categories = new List <ToyCategoryEntity>(); var toys = new List <ToyEntity>(); var sales = new List <SaleEntity>(); for (var i = 0; i < 20; i++) { var toyCategory = new ToyCategoryEntity { Age = (uint)random.Next(1, 20), CareRules = Guid.NewGuid() .ToString() .Replace("-", "") .ToUpper(), WarrantyPeriod = (uint)random.Next(1, 128) }; categories.Add(toyCategory); } for (var i = 0; i < 100; i++) { var toy = new ToyEntity { Category = categories[random.Next(0, categories.Count)], Photo = $"photo{i + random.Next(0, 20000)}{Guid.NewGuid()}", Price = (decimal)(random.NextDouble() * random.Next(1, 5000)), Producer = Guid.NewGuid() .ToString() .Substring(0, 7) .Replace("-", ""), WarehouseCount = (uint)random.Next(0, 30) }; toys.Add(toy); } for (var i = 0; i < 1000; i++) { var selectedToy = toys[random.Next(0, toys.Count)]; var discount = random.Next(0, 80); var count = random.Next(1, 100); var price = selectedToy.Price * count * 100 / (discount == 0 ? 1 : discount); var sale = new SaleEntity { Discount = (uint)discount, SaleDate = DateTime.Now, SaleSum = price, Toy = selectedToy, SaleCount = (uint)count }; sales.Add(sale); } await context.ToyCategories.AddRangeAsync(categories); await context.Toys.AddRangeAsync(toys); await context.Sales.AddRangeAsync(sales); await context.SaveChangesAsync(); }
public ProductRepository(ToyStoreDbContext context) { this.context = context; this.context.ChangeTracker.QueryTrackingBehavior = Microsoft.EntityFrameworkCore.QueryTrackingBehavior.NoTracking; }
public ToysCategoriesService(ToyStoreDbContext context) =>
public CustomersService(ToyStoreDbContext context) =>
public ToysService(ToyStoreDbContext context) =>
public PreOrdersService(ToyStoreDbContext context) =>
public ToyService(ToyStoreDbContext db) { this.db = db; }
public SalesService(ToyStoreDbContext context) =>