private void WriteProductsToFile()
        {
            string contents = JsonSerializer.Serialize(_products);

            File.WriteAllText(filename, contents);
            CatalogueChanged?.Invoke(this, new ChangeHandlerArgs());
        }
示例#2
0
        public bool RemoveProduct(string name)
        {
            if (_products.Remove(_products.Find(product => product.Name.Equals(name))))
            {
                CatalogueChanged?.Invoke(this, new ChangeHandlerArgs());
                return(true);
            }

            return(false);
        }
示例#3
0
 private void ReadCatalogue(object sender, EventArgs e)
 {
     // Чтение каталога.
     CatalogueChanged?.Invoke(sender, EventArgs.Empty);
     // Вывод списка файлов каталога на форму.
     filesListBox.Items.Clear();
     foreach (string file in FilesList)
     {
         filesListBox.Items.Add(file);
     }
 }
示例#4
0
        public bool UpdateProductPrice(string name, double newprice)
        {
            foreach (Product product in _products)
            {
                if (product.Name.Equals(name))
                {
                    product.Price = newprice;
                    CatalogueChanged?.Invoke(this, new ChangeHandlerArgs());
                    return(true);
                }
            }

            return(false);
        }
示例#5
0
        public bool RenameProduct(string oldName, string newName)
        {
            foreach (Product product in _products)
            {
                if (product.Name.Equals(oldName))
                {
                    product.Name = newName;
                    CatalogueChanged?.Invoke(this, new ChangeHandlerArgs());
                    return(true);
                }
            }

            return(false);
        }
示例#6
0
 /// <summary>
 /// Invokes CatalogueChanged and writes updates to json file.
 /// </summary>
 private void OnCatalogueChanged()
 {
     CatalogueChanged?.Invoke(this, new EventArgs());
     WriteToFile();
 }
示例#7
0
 public void AddProduct(Product p)
 {
     _products.Add(p);
     CatalogueChanged?.Invoke(this, new ChangeHandlerArgs());
 }