private void btnSalvarSaida_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Deseja realmente criar um novo registro?", "Confirma a criação ", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { MovimentoSaidaEntity saida = new MovimentoSaidaEntity(); IList <MovimentoSaidaItemEntity> itens = new List <MovimentoSaidaItemEntity>(); saida.IdCliente = 1; saida.DataMovimento = DateTime.Now; saida.IdUsuario = Properties.Settings.Default.IdUsuarioLogado; foreach (DataGridViewRow row in dtgridItensSelecionados.Rows) { if (row.Cells["CodigoItem"].Value != null && row.Cells["CodigoItem"].Value.ToString() != "") { if (row.Cells["Quantidade"].Value == null) { MessageBox.Show("Preencha a quantidade para o item " + row.Cells["CodigoItem"].Value + " - " + row.Cells["Nome"].Value, "Campo Inválido"); return; } IEstoqueEntity estoque = EstoqueDao.ConsultarPorCodigoItem(Convert.ToInt32(row.Cells["CodigoItem"].Value)); if (Convert.ToInt32(row.Cells["Quantidade"].Value) > estoque.QuantidadeDisponivel) { MessageBox.Show("A quantidade disponivel para o item " + row.Cells["CodigoItem"].Value + row.Cells["Nome"].Value + " é de " + estoque.QuantidadeDisponivel); return; } IItemEntity item = ItemDao.ConsultarPorCodigo(Convert.ToInt32(row.Cells["CodigoItem"].Value)); MovimentoSaidaItemEntity saidaItem = new MovimentoSaidaItemEntity(); saidaItem.IdItem = item.IdItem; saidaItem.IdDeposito = Convert.ToInt32(row.Cells["Deposito"].Value); saidaItem.QtdTotal = Convert.ToInt32(row.Cells["Quantidade"].Value); itens.Add(saidaItem); } } saida.IdMovimentoSaida = MovimentoSaidaDao.Inserir(saida); foreach (var saidaItem in itens) { saidaItem.IdMovimentoSaida = saida.IdMovimentoSaida; MovimentoSaidaItemEntity movimento = new MovimentoSaidaItemEntity { IdMovimentoSaida = saidaItem.IdMovimentoSaida, IdItem = saidaItem.IdItem, IdDeposito = saidaItem.IdDeposito, QtdTotal = saidaItem.QtdTotal }; MovimentoSaidaItemDao.Inserir(movimento); IEstoqueEntity estoqueItem = EstoqueDao.ConsultarPorCodigoItem(saidaItem.IdItem); EstoqueEntity estoque = new EstoqueEntity { QuantidadeTotal = estoqueItem.QuantidadeTotal - saidaItem.QtdTotal }; EstoqueDao.Atualizar(estoque, saidaItem.IdItem); } MessageBox.Show("Registro gravado com sucesso!"); this.Close(); } }
private void btnSalvarEntrada_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Deseja realmente criar um novo registro?", "Confirma a criação ", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { MovimentoEntradaEntity entrada = new MovimentoEntradaEntity(); IList<MovimentoEntradaItemEntity> itens = new List<MovimentoEntradaItemEntity>(); entrada.IdFornecedor = _fornecedorSelecionado; entrada.DataMovimento = DateTime.Now; entrada.IdUsuario = Properties.Settings.Default.IdUsuarioLogado; foreach (DataGridViewRow row in dtgridItensSelecionados.Rows) { if (row.Cells["CodigoItem"].Value != null && row.Cells["CodigoItem"].Value.ToString() != "") { if (row.Cells["Quantidade"].Value == null) { MessageBox.Show("Preencha a quantidade para o item " + row.Cells["ItemId"].Value + " - " + row.Cells["ItemName"].Value, "Campo Inválido"); return; } IItemEntity item = ItemDao.ConsultarPorCodigo(Convert.ToInt32(row.Cells["CodigoItem"].Value)); MovimentoEntradaItemEntity entradaItem = new MovimentoEntradaItemEntity(); entradaItem.IdItem = item.IdItem; entradaItem.IdDeposito = Convert.ToInt32(row.Cells["Deposito"].Value); entradaItem.QtdTotal = Convert.ToInt32(row.Cells["Quantidade"].Value); itens.Add(entradaItem); } } entrada.IdMovimentacaoEntrada = MovimentoEntradaDao.Inserir(entrada); foreach (var entradaItem in itens) { entradaItem.IdMovimentoEntrada = entrada.IdMovimentacaoEntrada; MovimentoEntradaItemEntity movimento = new MovimentoEntradaItemEntity { IdMovimentoEntrada = entradaItem.IdMovimentoEntrada, IdItem = entradaItem.IdItem, IdDeposito = entradaItem.IdDeposito, QtdTotal = entradaItem.QtdTotal }; MovimentoEntradaItemDao.Inserir(movimento); EstoqueEntity estoque = new EstoqueEntity { IdItem = entradaItem.IdItem, QuantidadeTotal = entradaItem.QtdTotal, QuantidadeUtilizada = 0 }; IEstoqueEntity estoqueItem = EstoqueDao.ConsultarPorCodigoItem(entradaItem.IdItem); if (estoqueItem != null) { EstoqueEntity atualizarEstoque = new EstoqueEntity { IdItem = entradaItem.IdItem, QuantidadeTotal = entradaItem.QtdTotal + estoqueItem.QuantidadeTotal, QuantidadeUtilizada = 0 }; EstoqueDao.Atualizar(atualizarEstoque, entradaItem.IdItem); } else { EstoqueDao.Incluir(estoque); } } MessageBox.Show("Registro gravado com sucesso!"); this.Close(); } }