public void pacote_novo() { try { if (v.Analisar()) { int qtd = 0; int max = 0; try { qtd = int.Parse(txt_quantidade.Text + ""); } catch { MsgBox.Show.Error("Volume a ser transferido é inválido!"); return; } try { max = int.Parse(txt_max.Text + ""); } catch { MsgBox.Show.Error("Volume original não é válido!"); return; } if (qtd > max) { MsgBox.Show.Error("A quantidade a ser transferida é maior do que o saldo existente."); return; } if (qtd <= 0) { MsgBox.Show.Error("A quantidade a ser transferida é inválida"); return; } if (max <= 0) { MsgBox.Show.Error("A quantidade em estoque não pode ser transferida."); return; } if (qtd > 0 && qtd <= max) { List <Banco.posicao_produto> novo = Banco.posicao_produto.Obter("id=" + agrid.SelectedValue + ""); if (novo.Count > 0) { #region Saida do produto int idprod = novo[0].Id_produto; novo[0].Quantidade = max - qtd; if (novo[0].Alterar() != -1) { Banco.posicao_baixa baixa = new Banco.posicao_baixa(); baixa.Id_produto = Banco.posicao_produto.Obter("id=" + agrid.SelectedValue + "")[0].Id_produto; baixa.Qtd_baixada = qtd; baixa.Qtd_antes = max; baixa.Qtd_depois = max - qtd; baixa.Io = "Transf.Saída"; baixa.Usuario = Sessao.usuario.Nome; baixa.Data = DateTime.Now; baixa.Deposito = cbo_deposito.Text; baixa.Lado1 = cbo_lado1.Text; baixa.Lado2 = cbo_lado2.Text; baixa.Lote = txt_lote.Text; if (baixa.Inserir() == -1) { MsgBox.Show.Error("Erro ao cadastrar auditoria na saída!"); return; } } else { MsgBox.Show.Error("Erro ao debitar produto!"); return; } #endregion #region Entrada do produto List <Banco.posicao_produto> para = Banco.posicao_produto.Obter("id_posicao=" + cbo_para_lado2.SelectedValue + " and id_produto=" + idprod + ""); #region se o lote já existe na nova posição if (para.Count > 0) { double antes = para[0].Quantidade; para[0].Quantidade = para[0].Quantidade + qtd; if (para[0].Alterar() != -1) { Banco.posicao_baixa baixa = new Banco.posicao_baixa(); baixa.Id_produto = idprod; baixa.Qtd_baixada = qtd; baixa.Qtd_antes = antes; baixa.Qtd_depois = antes + qtd; baixa.Io = "Transf.Entrada"; baixa.Usuario = Sessao.usuario.Nome; baixa.Data = DateTime.Now; baixa.Deposito = cbo_para_deposito.Text; baixa.Lado1 = cbo_para_lado1.Text; baixa.Lado2 = cbo_para_lado2.Text; baixa.Lote = txt_lote.Text; if (baixa.Inserir() == -1) { MsgBox.Show.Error("Erro ao cadastrar auditoria na entrada existente!"); return; } } else { MsgBox.Show.Error("Erro ao creditar produto"); return; } } #endregion #region se o lote não existe na posição else { Banco.posicao_produto inc = new Banco.posicao_produto(); inc.Id_posicao = int.Parse(cbo_para_lado2.SelectedValue + ""); inc.Id_produto = idprod; inc.Lote = txt_lote.Text; inc.Quantidade = qtd; if (inc.Inserir() != -1) { Banco.posicao_baixa baixa = new Banco.posicao_baixa(); baixa.Id_produto = idprod; baixa.Qtd_baixada = qtd; baixa.Qtd_antes = 0; baixa.Qtd_depois = qtd; baixa.Usuario = Sessao.usuario.Nome; baixa.Io = "Transf.Entrada"; baixa.Data = DateTime.Now; baixa.Deposito = cbo_para_deposito.Text; baixa.Lado1 = cbo_para_lado1.Text; baixa.Lado2 = cbo_para_lado2.Text; baixa.Lote = txt_lote.Text; if (baixa.Inserir() == -1) { MsgBox.Show.Error("Erro ao cadastrar auditoria na nova entrada!"); return; } } else { MsgBox.Show.Error("Erro ao creditar novo produto."); return; } } #endregion #endregion } } MsgBox.Show.Info("Produto transferido com sucesso!"); v.Limpar(); Listar(); } } catch { } }
public void pacote_novo() { try { double valor = double.Parse(txt_quantidade.Text); if (txt_nota.Text.Trim() == "") { MsgBox.Show.Error("Nota Fiscal não foi informada!"); return; } if (valor <= 0) { MsgBox.Show.Error("Quantidade inválida!"); return; } else { double valor_antes = 0; double valor_depois = 0; double valor_baixa = valor; Banco.posicao_produto novo = Banco.posicao_produto.Obter("id=" + agrid.SelectedValue + "")[0]; Banco.posicao_produto nava = new Banco.posicao_produto(); valor_antes = double.Parse(novo.Quantidade + ""); valor_depois = double.Parse(novo.Quantidade + "") - valor; nava.Quantidade = valor_depois; nava.Condicao = "id=" + agrid.SelectedValue + ""; if (valor_depois < 0) { MsgBox.Show.Error("Essa baixa consome mais quantidade do que a disponível em estoque."); return; } if (nava.Alterar() != -1) { Banco.posicao_baixa nova = new Banco.posicao_baixa(); nova.Id_produto = int.Parse("" + agrid.SelectedValue); nova.Io = "Saída"; nova.Nota = int.Parse("" + txt_nota.Text); nova.Qtd_antes = valor_antes; nova.Qtd_baixada = valor_baixa; nova.Qtd_depois = valor_depois; nova.Usuario = Sessao.usuario.Usuario; nova.Data = DateTime.Now; nova.Deposito = cbo_deposito.Text; nova.Lado1 = cbo_lado1.Text; nova.Lado2 = cbo_lado2.Text; nova.Lote = txt_lote.Text; if (nova.Inserir() != -1) { MsgBox.Show.Info("Baixa Feita com sucesso!"); Listar(); } else { MsgBox.Show.Error("Erro ao dar baixa!"); } } else { MsgBox.Show.Error("Erro ao dar baixa!"); } } } catch { } }
public void pacote_novo() { if (v.Analisar()) { if (MsgBox.Show.Pergunta("Quer mesmo adicionar este lote?")) { List <Banco.posicao_produto> lista = Banco.posicao_produto.Obter(); Boolean modo = true; string id = ""; double quantidade = 0; for (int a = 0; a < lista.Count; a++) { if (lista[a].Lote == txt_lote.Text) { modo = false; id = lista[a].Id + ""; quantidade = double.Parse(lista[a].Quantidade + ""); break; } } if (modo) { Banco.posicao_produto novo = new Banco.posicao_produto(); novo.Id_posicao = int.Parse("" + cbo_lado2.SelectedValue); novo.Id_produto = int.Parse("" + cbo_produto.SelectedValue); novo.Lote = txt_lote.Text; novo.Quantidade = int.Parse("" + txt_quantidade.Text); if (novo.Inserir() != -1) { List <Banco.posicao_produto> p = Banco.posicao_produto.Obter(); Banco.posicao_baixa nova = new Banco.posicao_baixa(); nova.Id_produto = p[p.Count - 1].Id; nova.Io = "Entrada"; nova.Qtd_antes = 0; nova.Qtd_baixada = p[p.Count - 1].Quantidade; nova.Qtd_depois = p[p.Count - 1].Quantidade; nova.Usuario = Sessao.usuario.Usuario; nova.Data = DateTime.Now; nova.Deposito = cbo_deposito.Text; nova.Lado1 = cbo_lado1.Text; nova.Lado2 = cbo_lado2.Text; nova.Lote = txt_lote.Text; if (nova.Inserir() != -1) { MsgBox.Show.Info("Produto inserido com sucesso!"); v.Limpar(); } else { MsgBox.Show.Error("Erro ao adicionar produto!"); } } else { MsgBox.Show.Error("Erro ao adicionar produto!"); } } else { if (MsgBox.Show.Pergunta("Esse lote já existe, deseja acrescentar mais este saldo?")) { double quantidade_antes = 0; double quantidade_depois = 0; double quantidade_baixa = 0; Banco.posicao_produto novo = new Banco.posicao_produto(); novo.Condicao = "id=" + id + ""; quantidade_antes = quantidade; quantidade_depois = quantidade + double.Parse(txt_quantidade.Text); quantidade_baixa = double.Parse(txt_quantidade.Text); novo.Quantidade = quantidade + double.Parse(txt_quantidade.Text); if (novo.Alterar() != -1) { Banco.posicao_baixa nova = new Banco.posicao_baixa(); nova.Id_produto = int.Parse("" + id); nova.Io = "Acrescento"; nova.Qtd_antes = quantidade_antes; nova.Qtd_baixada = quantidade_baixa; nova.Qtd_depois = quantidade_depois; nova.Usuario = Sessao.usuario.Usuario; nova.Data = DateTime.Now; nova.Deposito = cbo_deposito.Text; nova.Lado1 = cbo_lado1.Text; nova.Lado2 = cbo_lado2.Text; nova.Lote = txt_lote.Text; if (nova.Inserir() != -1) { MsgBox.Show.Info("Produto inserido com sucesso!"); v.Limpar(); } else { MsgBox.Show.Error("Erro ao adicionar produto!"); } } else { MsgBox.Show.Error("Erro ao adicionar produto!"); } } } } } }