// Method to delete an article by its ID
 public void deleteArticleByID(int idArticleToDelete)
 {
     if (searchArticleById(idArticleToDelete))
     {
         if (headArticle.Article.IdArticle == idArticleToDelete)
         {
             headArticle.Next.Previous = null;
             headArticle = headArticle.Next;
         }
         else
         {
             ArticleNode tmp = headArticle;
             while (tmp.Next.Article.IdArticle != idArticleToDelete)
             {
                 tmp = tmp.Next;
             }
             ArticleNode next = tmp.Next.Next;
             next.Previous = tmp;
             tmp.Next      = next;
         }
     }
     else
     {
         Console.WriteLine("The article to be deleted cannot be found in the system.");
     }
 }
 // Method to add a new article to the list
 public bool addArticle(Article articleData)
 {
     if (articleData == null)
     {
         return(false);
     }
     if (headArticle == null)
     {
         headArticle         = new ArticleNode();
         headArticle.Article = articleData;
     }
     else
     {
         if (searchArticleById(articleData.IdArticle) == false)
         {
             ArticleNode tmp     = getLastNode();
             ArticleNode newNode = new ArticleNode();
             newNode.Article  = articleData;
             newNode.Previous = tmp;
             tmp.Next         = newNode;
             return(true);
         }
         else
         {
             Console.WriteLine("The article is already registered in the system.");
         }
     }
     return(false);
 }
        // Method to get the last node in the list
        public ArticleNode getLastNode()
        {
            ArticleNode tmp = null;

            if (this.HeadArticle != null)
            {
                tmp = this.HeadArticle;
                while (tmp.Next != null)
                {
                    tmp = tmp.Next;
                }
            }
            return(tmp);
        }
        // Method to obtain the total value of the items in the list
        public Double totalValue()
        {
            Double count = 0;

            if (!(headArticle == null))
            {
                ArticleNode tmp = headArticle;
                while (tmp != null)
                {
                    count += tmp.Article.TotalPrice;
                    tmp    = tmp.Next;
                }
            }
            return(count);
        }
        /*=========================================METHODS================================*/
        // Method to get the size of the list
        public int getSize()
        {
            ArticleNode tmp   = null;
            int         count = 0;

            if (this.HeadArticle != null)
            {
                tmp = this.HeadArticle;
                while (tmp.Next != null)
                {
                    count++;
                    tmp = tmp.Next;
                }
            }
            return(count);
        }
 // Method to show all the elements of the list for invoice
 public void listArticlesByInvoice()
 {
     if (!(headArticle == null))
     {
         ArticleNode tmp = headArticle;
         while (tmp != null)
         {
             tmp.Article.itemStatusByInvoice();
             tmp = tmp.Next;
         }
     }
     else
     {
         Console.WriteLine("This invoice is empty.");
     }
 }
 // Method to show all elements of the list
 public void listArticles()
 {
     if (!(headArticle == null))
     {
         ArticleNode tmp = headArticle;
         while (tmp != null)
         {
             tmp.Article.showArticleStatus();
             tmp = tmp.Next;
         }
     }
     else
     {
         Console.WriteLine("The article list is empty");
     }
 }
 // Method to edit the data of an article by its ID
 public void editArticleByID(int idArticleToEdit, ArticleNode editedArticle)
 {
     if (searchArticleById(idArticleToEdit))
     {
         ArticleNode tmp = headArticle;
         while (tmp.Article.IdArticle != idArticleToEdit)
         {
             tmp = tmp.Next;
         }
         tmp.Article.NameArticle = editedArticle.Article.NameArticle;
         tmp.Article.Stock       = editedArticle.Article.Stock;
         tmp.Article.Price       = editedArticle.Article.Price;
     }
     else
     {
         Console.WriteLine("The article to be edited cannot be found in the system.");
     }
 }
Example #9
0
        // Parameters to edit an article
        static ArticleNode editArticle()
        {
            Console.WriteLine("Enter the ID of the article to edit:");
            Console.WriteLine("Article Id:");
            int id = Int32.Parse(Console.ReadLine());

            Console.WriteLine("Enter the new data for this article...");
            Console.WriteLine("Article Name:");
            String name = Console.ReadLine();

            Console.WriteLine("Stock Item:");
            int stock = Int32.Parse(Console.ReadLine());

            Console.WriteLine("Item Price:");
            Double      price   = Double.Parse(Console.ReadLine());
            ArticleNode article = new ArticleNode(new Article(id, name, stock, price));

            return(article);;
        }
Example #10
0
        // Method to search for an article in the list by its id
        public bool searchArticleById(int idArticleSearch)
        {
            bool found = false;

            if (!(headArticle == null))
            {
                ArticleNode tmp = headArticle;
                while (tmp != null && found != true)
                {
                    if (idArticleSearch == tmp.Article.IdArticle)
                    {
                        found = true;
                    }
                    else
                    {
                        tmp = tmp.Next;
                    }
                }
            }

            return(found);
        }
Example #11
0
        // Method to return an article by its name
        public ArticleNode returnArticleByName(string nameArticleToReturn)
        {
            ArticleNode tmp   = null;
            int         count = 0;

            if (!(headArticle == null))
            {
                if (searchArticleByName(nameArticleToReturn) == true)
                {
                    tmp = this.HeadArticle;
                    while (count < getSize() && !(tmp.Article.NameArticle == nameArticleToReturn))
                    {
                        tmp = tmp.Next;
                    }
                }
                else
                {
                    Console.WriteLine("The client is not registered in the system.");
                }
            }
            return(tmp);
        }
Example #12
0
 //Constructors
 public ArticleList()
 {
     headArticle = null;
 }
Example #13
0
 public ArticleList(ArticleNode headArticle)
 {
     this.headArticle = headArticle;
 }
Example #14
0
        static void Main(string[] args)
        {
            // Customer default data
            Customer customer1 = new Customer(1, "Juan", 3216573456);
            Customer customer2 = new Customer(2, "Pepito", 3218764865);
            Customer customer3 = new Customer(3, "Marco", 3146578934);
            Customer customer4 = new Customer(4, "Andres", 3135555567);
            Customer customer5 = new Customer(5, "Sandro", 3203217676);

            //Article default data
            Article article1 = new Article(1, "Celular Huawey", 13, 450000.00);
            Article article2 = new Article(2, "Televisor Samsung", 7, 1050000.00);
            Article article3 = new Article(3, "Equipo de Sonido LG", 5, 600000.00);
            Article article4 = new Article(4, "Celular Iphone X", 5, 3500000.00);
            Article article5 = new Article(5, "Celular Moto G7", 16, 750000.0);

            // Fill customers list with default data
            customerList.addCustomer(customer1);
            customerList.addCustomer(customer2);
            customerList.addCustomer(customer3);
            customerList.addCustomer(customer4);
            customerList.addCustomer(customer5);

            // Fill articles list with default data
            articleList.addArticle(article1);
            articleList.addArticle(article2);
            articleList.addArticle(article3);
            articleList.addArticle(article4);
            articleList.addArticle(article5);

            //Menu de opciones para el sistema
            int value;

            do
            {
                Console.WriteLine("1- List clients.");
                Console.WriteLine("2- List articles.");
                Console.WriteLine("3- Add a new client to the system.");
                Console.WriteLine("4- Add a new article to the system.");
                Console.WriteLine("5- Edit customer data.");
                Console.WriteLine("6- Edit the data of an article.");
                Console.WriteLine("7- Delete a client.");
                Console.WriteLine("8- Delete an article.");
                Console.WriteLine("9- List Invoices.");
                Console.WriteLine("10- Add a new invoice to the system.");
                Console.WriteLine("11- List the invoices of a customer.");
                Console.WriteLine("0- EXIT");
                Console.WriteLine("Please select an option:");
                value = Convert.ToInt32(Console.ReadLine());
                switch (value)
                {
                case 1: customerList.listCustomers(); break;

                case 2: articleList.listArticles(); break;

                case 3: Customer customer = loadCustomer(); customerList.addCustomer(customer); break;

                case 4: Article article = loadArticle(); articleList.addArticle(article); break;

                case 5: CustomerNode customerEdit = editCustomer(); customerList.editCustomerByID(customerEdit.Customer.IdCustomer, customerEdit); break;

                case 6: ArticleNode articleEdit = editArticle(); articleList.editArticleByID(articleEdit.Article.IdArticle, articleEdit); break;

                case 7: deleteCustomer(customerList); break;

                case 8: deleteArticle(articleList); break;

                case 9: invoiceList.listInvoices(); break;

                case 10: Invoice invoice = loadInvoice(); invoiceList.addInvoice(invoice); break;

                case 11: invoiceList.listInvoicesByCustomer(invoiceListByCustomer()); break;
                }
                Console.Write("Press any key to continue . . .");
                Console.ReadKey();
                Console.Clear();
            } while (value != 0);
        }
Example #15
0
 //Constructors
 public ArticleNode()
 {
     article = new Article();
     next    = previous = null;
 }