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); }
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); }
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); }
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); }
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); }
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)); }
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); }