Beispiel #1
0
        /// <summary>
        /// Adds a new database entity to the appropriate list.
        /// </summary>
        /// <param name="databaseEntity">
        /// The database entity.
        /// </param>
        public void AddNewEntity(IShopEntity databaseEntity)
        {
            switch (databaseEntity)
            {
            case Product product:
                this.ProductsList.Add(product);
                break;

            case Manufacturer manufacturer:
                this.ManufacturersList.Add(manufacturer);
                break;

            case Warehouse warehouse:
                this.WarehousesList.Add(warehouse);
                break;

            case Delivery delivery:
                this.DeliveriesList.Add(delivery);
                break;

            case Address address:
                this.AddressesList.Add(address);
                break;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Updates the appropriate JSON data file.
        /// </summary>
        /// <param name="databaseEntity">
        /// The database entity.
        /// </param>
        public void UpdateJsonDatabase(IShopEntity databaseEntity)
        {
            DataContractJsonSerializer jsonFormatter;

            switch (databaseEntity)
            {
            case Product _:
                using (var fs = new FileStream("../../Database/products.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter = new DataContractJsonSerializer(typeof(List <Product>));
                    jsonFormatter.WriteObject(fs, this.ProductsList);
                }

                break;

            case Manufacturer _:
                using (var fs = new FileStream("../../Database/manufacturers.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter = new DataContractJsonSerializer(typeof(List <Manufacturer>));
                    jsonFormatter.WriteObject(fs, this.ManufacturersList);
                }

                break;

            case Warehouse _:
                using (var fs = new FileStream("../../Database/warehouses.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter = new DataContractJsonSerializer(typeof(List <Warehouse>));
                    jsonFormatter.WriteObject(fs, this.WarehousesList);
                }

                break;

            case Delivery _:
                using (var fs = new FileStream("../../Database/deliveries.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter = new DataContractJsonSerializer(typeof(List <Delivery>));
                    jsonFormatter.WriteObject(fs, this.DeliveriesList);
                }

                break;

            case Address _:
                using (var fs = new FileStream("../../Database/addresses.json", FileMode.OpenOrCreate))
                {
                    jsonFormatter = new DataContractJsonSerializer(typeof(List <Address>));
                    jsonFormatter.WriteObject(fs, this.AddressesList);
                }

                break;
            }
        }