private void ExecutarAlteracaoNoEstoque(Enumeradores.TipoOperacao tpO) { ItemDAO itemDAO = new ItemDAO(); Item item = new Item(); long novaQuantidade = 0; foreach (var v in _itensNoPedido) { item = itemDAO.GetDataByID(v.IdItem); if (tpO.Equals(Enumeradores.TipoOperacao.Somar)) { novaQuantidade = v.QuantidadeEstoque + v.QuantidadePedido; } else if (tpO.Equals(Enumeradores.TipoOperacao.Subtrair)) { novaQuantidade = v.QuantidadeEstoque - v.QuantidadePedido; } else { novaQuantidade = v.QuantidadeEstoque; } try { itemDAO.AlterarQuantidadeEstoque(item.Id, novaQuantidade); Log log = new Log() { IdItem = item.Id, Descricao = item.Descricao + " (" + item.Tamanho + ")", QuantidadeAnterior = v.QuantidadeEstoque, QuantidadeAtual = novaQuantidade, QuantidadeInformada = v.QuantidadePedido, Origem = this.Text, TpOperacao = tpO, IdPedido = _pedido.Id, PedidoNumero = _pedido.Numero }; log.GravarRastreabilidade(); } catch (Exception) { throw; } } }
private void AlterarQuantidadeEstoque() { ItemDAO itemDAO = new ItemDAO(); Item item = new Item(); long novaQuantidade = this.Quantidade; if (txtQuantidade.Text.Equals("")) { txtQuantidade.Focus(); return; } item = itemDAO.GetDataByID(this.IdItem); if (this.tpOperacao.Equals(Enumeradores.TipoOperacao.Somar)) { novaQuantidade = this.Quantidade + Convert.ToInt64(txtQuantidade.Text); } else if (this.tpOperacao.Equals(Enumeradores.TipoOperacao.Subtrair)) { novaQuantidade = this.Quantidade - Convert.ToInt64(txtQuantidade.Text); } else if (this.tpOperacao.Equals(Enumeradores.TipoOperacao.Substituir)) { novaQuantidade = Convert.ToInt64(txtQuantidade.Text); } else { novaQuantidade = this.Quantidade; } if (novaQuantidade < 0 || novaQuantidade > Item.ESTOQUE_MAXIMO) { MessageBox.Show("Não será possível realizar a alteração, pois o estoque ficaria inválido para o sistema! (Quantidade: " + novaQuantidade.ToString() + ")", AlterarEstoque.ActiveForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { if (MessageBox.Show("O estoque do item '" + item.Descricao + "' será alterado para: " + novaQuantidade.ToString() + " \nDeseja realmente continuar?", AlterarEstoque.ActiveForm.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(System.Windows.Forms.DialogResult.Yes)) { try { itemDAO.AlterarQuantidadeEstoque(this.IdItem, novaQuantidade); Log log = new Log() { IdItem = this.IdItem, Descricao = item.Descricao + " (" + item.Tamanho + ")", QuantidadeAnterior = this.Quantidade, QuantidadeAtual = novaQuantidade, QuantidadeInformada = Convert.ToInt64(txtQuantidade.Text), Origem = this.Text, TpOperacao = tpOperacao, IdPedido = 0, PedidoNumero = 0 }; log.GravarRastreabilidade(); MessageBox.Show("O estoque foi alterado com sucesso!", AlterarEstoque.ActiveForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); _novaQuantidade = novaQuantidade; this.Hide(); } catch (Exception) { throw; } } } }