예제 #1
0
        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 { }
        }
예제 #3
0
        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!");
                            }
                        }
                    }
                }
            }
        }