} //RETORNA UMA LISTA COM TODOS OS PRODUTOS E SEU ESTOQUE ATUAL public static double CalculaEstoque(int id) { double aux = 0, aux2 = 0; //LISTA PARA OS REGISTROS List <ModelRegistro> lista = new List <ModelRegistro>(); DAORegistro dao = new DAORegistro(cx); ModelRegistro registro = new ModelRegistro(); lista.Clear(); aux = 0; aux2 = 0; DataTable estoque = dao.LocalizaRegistros(id); //LOOP PARA JOGAR O DATATABLE EM UMA LISTA foreach (DataRow item in estoque.Rows) { registro = new ModelRegistro(); registro.Id_produto = Convert.ToInt32(item["Fk_produto"].ToString()); registro.qtd_produto = Convert.ToDouble(item["qtd_produto"].ToString()); registro.tipo_operacao = int.Parse(item["tipo_operacao"].ToString()); lista.Add(registro); } //FIM LOOP //LOOP PARA SEPARAR A ENTRADA E SAIDA E FAZAER O CALCULO DE CADA UM foreach (var item in lista) { if (item.tipo_operacao == 0) //SE FOR ENTRADA { aux = aux + item.qtd_produto; } if (item.tipo_operacao == 1) //SE FOR SAIDA { aux2 = aux2 + item.qtd_produto; } } return(aux - aux2); //FIM DO LOOP } //RETORNA UM PRODUTO COM SEU ESTOQUE ATUAL
public static List <ModelProduto> BuscaDados(int ope, string valor) { try { double aux = 0, aux2 = 0; //LISTA PARA OS REGISTROS List <ModelRegistro> listaRegistro = new List <ModelRegistro>(); ModelRegistro registro; DAORegistro dao = new DAORegistro(cx); ModelProduto modProduto; DAOProduto produto = new DAOProduto(cx); List <ModelProduto> Lista = new List <ModelProduto>(); DataTable TabelaProdutos; TabelaProdutos = produto.LocalizaDadosParaCalcularEstoque(ope, valor); //LOOP PARA JOGAR O DATATABLE EM UMA LISTA foreach (DataRow item in TabelaProdutos.Rows) { modProduto = new ModelProduto(); modProduto.Id_produto = Convert.ToInt32(item["ID PRODUTO"].ToString()); modProduto.DscProduto = item["PRODUTO"].ToString(); modProduto.qtd_minimo = Convert.ToInt32(item["QTD.MINIMO"].ToString()); Lista.Add(modProduto); } //LOOP PARA FAZER O CALCULO DE TODOS OS PRODUTOS foreach (var lisProdutos in Lista) { listaRegistro.Clear(); aux = 0; aux2 = 0; DataTable estoque = dao.LocalizaRegistros(lisProdutos.Id_produto); //LOOP PARA JOGAR O DATATABLE EM UMA LISTA foreach (DataRow item in estoque.Rows) { registro = new ModelRegistro(); registro.Id_produto = Convert.ToInt32(item["Fk_produto"].ToString()); registro.qtd_produto = Convert.ToDouble(item["qtd_produto"].ToString()); registro.tipo_operacao = int.Parse(item["tipo_operacao"].ToString()); listaRegistro.Add(registro); } //estoque.Clear(); //FIM LOOP //LOOP PARA SEPARAR A ENTRADA E SAIDA E FAZAER O CALCULO DE CADA UM foreach (var item2 in listaRegistro) { if (item2.tipo_operacao == 0)//SE FOR ENTRADA { aux = aux + item2.qtd_produto; } if (item2.tipo_operacao == 1)//SE FOR SAIDA { aux2 = aux2 + item2.qtd_produto; } } lisProdutos.qtd_estoque = aux - aux2; //FIM DO LOOP } return(Lista); } catch { return(null); } } //RETORNA UMA LISTA COM TODOS OS PRODUTOS E SEU ESTOQUE ATUAL