private static void GetCustomersTest() { ICustomersService customersService = new FakeCustomersService(); List <Customer> customers = customersService.Get(); // snippet: foreach foreach (Customer customer in customers) { // snippet: cw Console.WriteLine(customer); // customersService.Calculate(customer); } }
private static void CreateOrderTest() { Console.WriteLine("Witaj w naszym sklepie!"); Console.WriteLine("Podaj id klienta:"); int customerId = int.Parse(Console.ReadLine()); Console.WriteLine("Podaj id produktu:"); int productId = int.Parse(Console.ReadLine()); Console.WriteLine("Podaj ilość:"); int quantity = int.Parse(Console.ReadLine()); // TODO: pobrac klienta i produkt ze zrodla danych ICustomersService customersService = new FakeCustomersService(); IItemsService itemsService = new FakeItemsService(); // Przygotowanie danych Generator.Generator generator = new Generator.Generator(); var customers = generator.GetCustomers(100); customersService.Add(customers); var products = generator.GetProducts(50); var services = generator.GetServices(50); // połączenie zbiorów var items = products.OfType <Item>().Concat(services).ToList(); itemsService.Add(items); // Pobranie Customer customer = customersService.Get(customerId); Item item = itemsService.Get(productId); Order order = new Order("ZA 001", customer); order.Details.Add(new OrderDetail(item, quantity)); }
private static Customer GetCustomer() { Write("Podaj NIP: "); string vatNumber = ReadLine(); ICustomersService customersService = new FakeCustomersService(); List <Customer> customers = customersService.Search(vatNumber); if (customers.Any()) { WriteLine($"Znaleziono {customers.Count}"); //foreach (Customer customer in customers) //{ // WriteLine($"{customers.IndexOf(customer)+1} \t- {customer}"); //} customers.ForEach(customer => WriteLine($"{customers.IndexOf(customer) + 1} \t- {customer}")); Write("Podaj indeks"); if (int.TryParse(ReadLine(), out int index)) { return(customers[index - 1]); } else { Write("Błędna wartość"); } } else { WriteLine("Nie znaleziono"); } return(null); }
static void Main(string[] args) { WriteLine("Hello World!"); // Install-Package Microsoft.Extensions.Configuration // Install-Package Microsoft.Extensions.Configuration.FileExtensions // Install-Package Microsoft.Extensions.Configuration.Json var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); WriteLine(configuration.GetConnectionString("ShopConnection")); // Install-Package Microsoft.Extensions.DependencyInjection ServiceCollection services = new ServiceCollection(); services.AddTransient <ICustomersService, DbCustomersService>(); services.AddTransient <IItemsService, DbItemsService>(); // Install-Package Microsoft.EntityFrameworkCore.SqlServer services.AddDbContext <ShopContext>(options => options .UseSqlServer(configuration.GetConnectionString("ShopConnection"))); ServiceProvider serviceProvider = services.BuildServiceProvider(); // ICustomersService customersService = new FakeCustomersService(); ICustomersService customersService = serviceProvider.GetService <ICustomersService>(); var query = customersService.Get(); var items = new FakeItemsService().Get(); IItemsService itemsService = serviceProvider.GetService <IItemsService>(); itemsService.AddRange(items); var customers = customersService.Search(new CustomerSearchCriteria { Country = "Poland" }); var newCustomers = new FakeCustomersService().Get(); foreach (var newCustomer in newCustomers) { customersService.Add(newCustomer); } LinqTest(customersService); // Uwaga: W przypadku float/double mimo dzielenia przez zero nie pojawi się błąd, // lecz przyjmie wartość infinity! double result = 2d / 0; Console.WriteLine(result); // DelegateTest(); // Typ anonimowy // AnonymouseTypeTest(); Customer customer = GetCustomer(); var order = new Order(customer); Item item; do { item = GetItem(); int quantity = GetQuantity(); OrderDetail detail = new OrderDetail(item, quantity); order.AddDetail(detail); } while (item != null); // EnumTest(order); // ExtensionsMethodTest(); GetCustomersTest(); // GetItemsTest(); #region Variable vs Reference Types VariableTest(); StringTest(); ReferenceTest(); #endregion Helper.GreaterThanZero(100); }