Beispiel #1
0
        public void PrintSellers(Dto_SellerNode sellerNode)
        {
            int    countProducts = 1;
            int    Code;
            string Name;
            int    Document;

            if (sellerNode != null)
            {
                Dto_SellerNode last = sellerNode;
                while (last.Next != null)
                {
                    countProducts++;
                    last = last.Next;
                }

                Console.WriteLine(" ");

                for (int i = 0; i < countProducts; i++)
                {
                    Code     = sellerNode.Seller.Code;
                    Name     = sellerNode.Seller.Name;
                    Document = sellerNode.Seller.Document;
                    Console.WriteLine("Code: " + Code + " Name: " + Name + " Documento: " + Document);
                    sellerNode = sellerNode.Next;
                }
            }
            else
            {
                Console.WriteLine(" ");
                Console.WriteLine("No cuentas con ningun Vendedor");
            }
        }
        public Dto_SellerNode CreateSellersNodes(List <Dto_Seller> Seller)
        {
            for (int i = 0; i < Seller.Count; i++)
            {
                sellersNode = AddSeller(Seller[i]);
            }

            return(sellersNode);
        }
        public Dto_SellerNode AddSeller(Dto_Seller seller)
        {
            Dto_SellerNode sellerNode = new Dto_SellerNode();

            sellerNode.Seller = seller;

            if (Head == null)
            {
                Head = sellerNode;
            }
            else
            {
                Dto_SellerNode last = Head;
                while (last.Next != null)
                {
                    last = last.Next;
                }
                last.Next = sellerNode;
            }

            return(Head);
        }
Beispiel #4
0
        public Dto_SellerNode returnPoint8(Dto_SellerNode sellersNode)
        {
            string           type             = "false";
            LogicStoreSystem logicStoreSystem = new LogicStoreSystem();

            logicStoreSystem.PrintSellers(sellersNode);

            while (type == "false")
            {
                Console.WriteLine("\nEscribe 1 para volver a elegir una opcion u otro numero para continuar ");
                int selectedMode = int.Parse(Console.ReadLine());

                if (selectedMode == 1)
                {
                    sellersNode = logicStoreSystem.UpdateSellers(sellersNode);
                    logicStoreSystem.PrintSellers(sellersNode);
                }
                else
                {
                    type = "true";
                }
            }
            return(sellersNode);
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            //Creación de Lista de clients
            CreateClients     createClients = new CreateClients();
            List <Dto_Client> clients       = createClients.CreateClient();

            //Creación de lista de sellers
            CreateSellers     createSellers = new CreateSellers();
            List <Dto_Seller> sellers       = createSellers.CreateSeller();

            //Creación de Lista de products
            CreateProducts     createProducts = new CreateProducts();
            List <Dto_Product> products       = createProducts.CreateProduct();

            //Creación de Lista de sales
            CreateSales     createSales = new CreateSales();
            List <Dto_Sale> sales       = createSales.CreateSale(clients, sellers, products);

            //Creación de Nodos de clients
            Dao_ClientNode dao_ClientNode = new Dao_ClientNode();
            Dto_ClientNode clientsNode    = dao_ClientNode.CreateClientsNodes(clients);

            //Creación de Nodos de sellers
            Dao_SellerNode dao_SellerNode = new Dao_SellerNode();
            Dto_SellerNode sellersNode    = dao_SellerNode.CreateSellersNodes(sellers);

            //Creación de Nodos de products
            Dao_ProductNode dao_ProductNode = new Dao_ProductNode();
            Dto_ProductNode productsNode    = dao_ProductNode.CreateProductsNodes(products);

            //Creación de Nodos de sales
            Dao_SaleNode dao_SaleNode = new Dao_SaleNode();
            Dto_SaleNode salesNode    = dao_SaleNode.CreateSalesNodes(sales);

            LogicStoreSystem logicStoreSystem = new LogicStoreSystem();

            //Console.WriteLine("---- Punto 1: Importe total de ventas ----");
            //logicStoreSystem.TotalAmountSales(salesNode);

            //Console.WriteLine("\n---- Punto 2: Nombre del cliente que ha realizado la compra más importante ----");
            //logicStoreSystem.SaleMoreImportant(salesNode);

            //Console.WriteLine("\n---- Punto 3: Producto que está obteniendo más ventas ----");
            //logicStoreSystem.BestSellingProduct(salesNode);

            //Console.WriteLine("\n---- Punto 4: Promedio de ventas ----");
            //logicStoreSystem.SalesAverage(salesNode);

            //Console.WriteLine("\n---- Punto 5: Stock de productos: Informar existencias de cada producto ----");
            //logicStoreSystem.StockProducts(salesNode);

            //Console.WriteLine("\n---- Punto 6: Insertar y eliminar clientes ----");
            //logicStoreSystem.PrintClients(clientsNode);
            //clientsNode = logicStoreSystem.UpdateClients(clientsNode);
            //clientsNode = logicStoreSystem.returnPoint6(clientsNode);

            //Console.WriteLine("\n---- Punto 7: Insertar y eliminar productos ----");
            //logicStoreSystem.PrintProducts(productsNode);
            //productsNode = logicStoreSystem.UpdateProducts(productsNode);
            //productsNode = logicStoreSystem.returnPoint7(productsNode);

            //Console.WriteLine("\n---- Punto 8: Insertar y eliminar vendedores ----");
            //logicStoreSystem.PrintSellers(sellersNode);
            //sellersNode = logicStoreSystem.UpdateSellers(sellersNode);
            //sellersNode = logicStoreSystem.returnPoint8(sellersNode);

            Console.WriteLine("\n---- Punto 9: Crear nuevas ventas (se debe tener en cuenta la cantidad de productos) ----");
            Console.WriteLine("");
            logicStoreSystem.PrintSales(salesNode);
            salesNode = logicStoreSystem.UpdateSales(salesNode, clientsNode, sellersNode, productsNode);
            salesNode = logicStoreSystem.returnPoint9(salesNode, clientsNode, sellersNode, productsNode);
        }
Beispiel #6
0
        public Dto_SaleNode returnPoint9(Dto_SaleNode salesNode, Dto_ClientNode clientsNode, Dto_SellerNode sellersNode, Dto_ProductNode productsNode)
        {
            string           type             = "false";
            LogicStoreSystem logicStoreSystem = new LogicStoreSystem();

            logicStoreSystem.PrintSales(salesNode);

            while (type == "false")
            {
                Console.WriteLine("\nEscribe 1 para volver a elegir una opcion u otro numero para finalizar ");
                int selectedMode = int.Parse(Console.ReadLine());

                if (selectedMode == 1)
                {
                    salesNode = logicStoreSystem.UpdateSales(salesNode, clientsNode, sellersNode, productsNode);
                    logicStoreSystem.PrintSales(salesNode);
                }
                else
                {
                    type = "true";
                }
            }
            return(salesNode);
        }
Beispiel #7
0
        public Dto_SaleNode UpdateSales(Dto_SaleNode salesNode, Dto_ClientNode clientsNode, Dto_SellerNode sellersNode, Dto_ProductNode productsNode)
        {
            Dto_SaleNode     Head             = salesNode;
            LogicStoreSystem logicStoreSystem = new LogicStoreSystem();
            int selectedModeSale = logicStoreSystem.selectedModeSale("venta");
            int quantity;
            int availableStock;

            if (selectedModeSale == 1)
            {
                string   type = "false";
                Dto_Sale sale = new Dto_Sale();
                sale.Product = logicStoreSystem.selectItemsForSale("producto", clientsNode, sellersNode, productsNode).Item3;
                sale.Client  = logicStoreSystem.selectItemsForSale("cliente", clientsNode, sellersNode, productsNode).Item1;
                sale.Seller  = logicStoreSystem.selectItemsForSale("vendedor", clientsNode, sellersNode, productsNode).Item2;
                Console.WriteLine("\nCantidad: ");
                quantity = int.Parse(Console.ReadLine());

                while (type == "false")
                {
                    availableStock = ReviewStockProducts(sale, salesNode);

                    if (quantity <= availableStock)
                    {
                        sale.Quantity = quantity;
                        type          = "true";
                    }
                    else if (availableStock == 0)
                    {
                        Console.WriteLine("\nPor favor selecciona otro producto, ya que cuenta con " + availableStock + " unidades disponibles");
                        sale.Product = logicStoreSystem.selectItemsForSale("producto", clientsNode, sellersNode, productsNode).Item3;
                        Console.WriteLine("\nCantidad: ");
                        quantity = int.Parse(Console.ReadLine());
                        Console.WriteLine(" ");
                    }
                    else
                    {
                        Console.WriteLine("\nPor favor selecciona otra cantidad, el producto solo cuenta con " + availableStock + " unidades disponibles");
                        quantity = int.Parse(Console.ReadLine());
                    }
                }

                Dto_SaleNode newSaleNode = new Dto_SaleNode();
                newSaleNode.Sale = sale;

                Dto_SaleNode last = Head;
                while (last.Next != null)
                {
                    last = last.Next;
                }
                sale.Code        = last.Sale.Code + 1;
                sale.Total_Price = sale.Quantity * sale.Product.Price;
                last.Next        = newSaleNode;
            }

            return(salesNode);
        }
Beispiel #8
0
        public Tuple <Dto_Client, Dto_Seller, Dto_Product> selectItemsForSale(string typeNode, Dto_ClientNode clientsNode, Dto_SellerNode sellersNode, Dto_ProductNode productsNode)
        {
            string          type              = "false";
            int             countProducts     = 1;
            int             countClients      = 1;
            int             countSellers      = 1;
            Dto_Client      client            = null;
            Dto_Seller      seller            = null;
            Dto_Product     product           = null;
            Dto_ProductNode lastProductsCount = productsNode;
            Dto_ClientNode  lastClientsCount  = clientsNode;
            Dto_SellerNode  lastSellersCount  = sellersNode;

            while (lastProductsCount.Next != null)
            {
                countProducts++;
                lastProductsCount = lastProductsCount.Next;
            }

            while (lastClientsCount.Next != null)
            {
                countClients++;
                lastClientsCount = lastClientsCount.Next;
            }

            while (lastSellersCount.Next != null)
            {
                countSellers++;
                lastSellersCount = lastSellersCount.Next;
            }

            Console.WriteLine("\nEscribe el codigo del " + typeNode + " que desea adicionar");
            int Code = int.Parse(Console.ReadLine());

            while (type == "false")
            {
                if (typeNode == "producto")
                {
                    Dto_ProductNode lastProduct = productsNode;

                    for (int i = 0; i < countProducts; i++)
                    {
                        if (lastProduct.Product.Code == Code)
                        {
                            product = lastProduct.Product;
                            type    = "true";
                        }
                        lastProduct = lastProduct.Next;
                    }
                }
                else if (typeNode == "cliente")
                {
                    Dto_ClientNode lastClient = clientsNode;

                    for (int i = 0; i < countClients; i++)
                    {
                        if (lastClient.Client.Code == Code)
                        {
                            client = lastClient.Client;
                            type   = "true";
                        }
                        lastClient = lastClient.Next;
                    }
                }
                else
                {
                    Dto_SellerNode lastSeller = sellersNode;

                    for (int i = 0; i < countSellers; i++)
                    {
                        if (lastSeller.Seller.Code == Code)
                        {
                            seller = lastSeller.Seller;
                            type   = "true";
                        }
                        lastSeller = lastSeller.Next;
                    }
                }

                if (type == "false")
                {
                    Console.WriteLine("\nEscribe otro codigo de " + typeNode + " ya que el codigo " + Code + " no se encuentra disponible");
                    Code = int.Parse(Console.ReadLine());
                }
            }
            return(Tuple.Create(client, seller, product));
        }
Beispiel #9
0
        public Dto_SellerNode UpdateSellers(Dto_SellerNode sellersNode)
        {
            Dto_SellerNode   Head             = sellersNode;
            LogicStoreSystem logicStoreSystem = new LogicStoreSystem();
            int selectedMode = logicStoreSystem.selectedMode("vendedor");

            if (selectedMode == 1)
            {
                Dto_Seller seller = new Dto_Seller();
                Console.WriteLine("\nNombre: ");
                seller.Name = Console.ReadLine();
                Console.WriteLine("Documento: ");
                seller.Document = Int32.Parse(Console.ReadLine());
                Console.WriteLine("Genero: ");
                seller.Gender = Console.ReadLine();
                Console.WriteLine("Edad: ");
                seller.Age = int.Parse(Console.ReadLine());
                Console.WriteLine("Telefono: ");
                seller.Phone = Console.ReadLine();
                Console.WriteLine("Estrato: ");
                seller.Stratum = int.Parse(Console.ReadLine());

                Dto_SellerNode newSellerNode = new Dto_SellerNode();
                newSellerNode.Seller = seller;

                Dto_SellerNode last = Head;
                while (last.Next != null)
                {
                    last = last.Next;
                }
                seller.Code = last.Seller.Code + 1;
                last.Next   = newSellerNode;
            }
            else if (selectedMode == 2)
            {
                Dto_SellerNode sellers;
                Dto_SellerNode baseSellerNode = sellersNode;
                Dto_SellerNode iterator       = sellersNode;
                Dto_SellerNode last           = sellersNode;
                string         type           = "false";

                Console.WriteLine("\n¿Que codigo deseas eliminar?: ");
                int deleteCode = int.Parse(Console.ReadLine());

                int countSellers = 1;

                if (last != null)
                {
                    while (last.Next != null)
                    {
                        countSellers++;
                        last = last.Next;
                    }

                    while (type == "false")
                    {
                        for (int i = 0; i < countSellers; i++)
                        {
                            if (iterator.Seller.Code == deleteCode)
                            {
                                sellers = iterator.Next;
                                if (deleteCode == baseSellerNode.Seller.Code)
                                {
                                    sellersNode = baseSellerNode.Next;
                                    type        = "true";
                                    break;
                                }
                                else
                                {
                                    while (baseSellerNode.Seller.Code != deleteCode)
                                    {
                                        if (baseSellerNode.Next != null & baseSellerNode.Next.Seller.Code != deleteCode)
                                        {
                                            baseSellerNode = baseSellerNode.Next;
                                            type           = "true";
                                        }
                                        else
                                        {
                                            type = "true";
                                            break;
                                        }
                                    }
                                    baseSellerNode.Next = sellers;
                                }
                            }
                            iterator = iterator.Next;
                        }

                        if (type == "false")
                        {
                            Console.WriteLine("\nEl codigo que deseas eliminar no existe, por favor elige otro");
                            deleteCode = int.Parse(Console.ReadLine());
                            iterator   = sellersNode;
                            Console.WriteLine(" ");
                        }
                    }
                }
                else
                {
                    Console.WriteLine("\nNo cuentas con ningun Vendedor, por favor selecciona la opcion de agregar o continua");
                }
            }
            return(sellersNode);
        }