private void ConsumoStoqueList() { // limpa o Console Console.Clear(); // Ordena a Lista de StoqueList por orden Numerica crescente StoqueList = StoqueList.OrderBy(x => x.cod).ToList(); // para cada Item na Lista StoqueList foreach (var item in StoqueList) { // Aparece na Tela Console.WriteLine(item); } // loop while (IsConsumo == true) { // saida de dados Console.WriteLine("Digite o Numero do codigo do Produto que deseja "); // entrada de dados para Consulta int Codigo = int.Parse(Console.ReadLine()); // Criando outra objeto de Stoque User para Colsultado StoqueUser stk = new StoqueUser(); // Verificando se tem Item com o mesmo codigo na lista de Stoque List stk = StoqueList.FirstOrDefault(c => c.cod.Equals(Codigo)); if (stk == null) { #region Comando Invalido // Limpar Console Console.Clear(); // Saida de dados Console.WriteLine("Comando Invalido "); Console.WriteLine(); // Saida de dados Console.WriteLine("Tente Novamente, Aperte Qualquer Tecla para Continuar "); Console.ReadKey(); #endregion // Voltar para Metodo da linha 288 ConsumoStoqueList(); } // Caso Stk nao sena nulo // Limpar o Console Console.Clear(); // Saida de Dados com STk no Consle Console.WriteLine(stk); // Saida de Dados Console.WriteLine("Digite a quantidade que voce bebeu: "); // entrada de dados ( QUANTIDADE BEBIDA) int quantidade_bebida = int.Parse(Console.ReadLine()); // Se no Stoque Tive Menos que a quantidade bebida if (stk.Quantidade < quantidade_bebida) { // saida de Dados Console.WriteLine("Impossivel Beber mais que quantidade stoque do usuario "); // Ir para metodo do da linha 371 IsConsumindoStoke(); } #region Conta Matematica var QuantidadeTotalStoque = stk.Quantidade - quantidade_bebida; var ValorCredito = stk.Valor * QuantidadeTotalStoque; // Um Novo Item para Para Update var Upd_stk = new StoqueUser { Cerveja_Name = stk.Cerveja_Name, cod = stk.cod, Valor = stk.Valor, Quantidade = QuantidadeTotalStoque, ValorTotal_Stoque = ValorCredito, }; // Removendo da Lista o Item ja existe pelo Codigo StoqueList.RemoveAll(c => c.cod.Equals(Codigo)); // add o Item Atualiado StoqueList.Add(Upd_stk); // VOltando para metodo da linha 270 IsConsumindoStoke(); #endregion } Console.WriteLine("Digite Qualquer Teclar"); Console.ReadKey(); }
// continando a linha 141 void QunatidadeStoque(Produto x, int Codigo) { // saida de dados Console.WriteLine("Digite a Quantidade que deseja Compra:"); // entrada de dados ( QUANTIDADE ) int quantidade = int.Parse(Console.ReadLine()); // criando uma variavel de StoqueUser para Filtro StoqueUser _stokeIten = new StoqueUser(); //_stokeIten vai consultar o se ja tem o item na lista pelo codigo _stokeIten = StoqueList.FirstOrDefault(c => c.cod.Equals(Codigo)); // se _stokeIten for null if (_stokeIten == null) { // Conta Matematica Valor total = Valor X quantidade valor_total = x.Valor * quantidade; // saida de dados Console.WriteLine("Valor Total da Compra é " + valor_total + " R$"); // saida de dados Console.WriteLine("Confrimar a Compra 1/ sim ou 2/ não"); // Entrada de dados de dados ( VALID ) int valid = int.Parse(Console.ReadLine()); Console.WriteLine("Digite Qualque tecla para seguir "); Console.ReadKey(); // se Valid for 1 if (valid == 1) { // cria nova variavel de StoqueUser var stk = new StoqueUser { cod = x.cod, Cerveja_Name = x.Cerveja_Name, Quantidade = quantidade, ValorTotal_Stoque = valor_total, Valor = x.Valor }; // adiciona na lista de Stoque User StoqueList.Add(stk); // Volta para Validadeted na Linha 258 Validadeted(); } // se Valid for igual a 2 else if (valid == 2) { // Volta para Validadeted na Linha 258 Validadeted(); } else { // Saida de dados Console.WriteLine("Comando não econtrado "); // Saida de dados Console.WriteLine(" Voltaremos ao menu"); // Saida de dados Console.WriteLine(" Digite qualque tecla para reniciar "); Console.ReadKey(); // Validadeted(); } } // caso ja Stk exista com o mesmo codigo para não adicionar dois itens com mesmo codigo else { // Conta Matematica //Neste caso a Quantidade Total é somas das quantidades // Tanto setada agora na linha 149 + a quantidade ja existe no item _stokeIten var quantidade_total = quantidade + _stokeIten.Quantidade; // Valor Total é valor do Produto X quantidade Total valor_total = x.Valor * quantidade_total; // saida de dados Console.WriteLine("Valor Total da Compra é " + valor_total + " R$"); // saida de dados Console.WriteLine("Confrimar a Compra 1/ sim ou 2/ não"); // entrada de dados int valid = int.Parse(Console.ReadLine()); // se Valid for 1 if (valid == 1) { // cria nova variavel de StoqueUser var stk = new StoqueUser { // Concateando os item Os itens cod = x.cod, Cerveja_Name = x.Cerveja_Name, Quantidade = quantidade_total, ValorTotal_Stoque = valor_total, Valor = x.Valor }; // Deletar na lista de Stoque User StoqueList.RemoveAll(c => c.cod.Equals(Codigo)); // adiciona na lista de Stoque User StoqueList.Add(stk); // Voltar A Validadeted linha 258 Validadeted(); } else if (valid == 2) { // Voltar A Validadeted linha 258 Validadeted(); } else { // Saida de dados Console.WriteLine("Comando não econtrado "); // Saida de dados Console.WriteLine(" Voltaremos ao menu"); // Saida de dados Console.WriteLine(" Digite qualque tecla para reniciar "); Console.ReadKey(); // Validadeted(); } } }