Пример #1
0
        public TotalLiquido CalculaTotalLiquido(Transacao transacao)
        {
            decimal      percentual   = ObterPercentualDesconto(transacao);
            TotalLiquido totalLiquido = new TotalLiquido();
            string       temp         = (transacao.Valor - (transacao.Valor * (percentual / 100))).ToString("N2");

            totalLiquido.ValorLiquido = Convert.ToDecimal(temp);
            return(totalLiquido);
        }
Пример #2
0
        public bool Salvar(bool pIncluir)
        {
            ret = false;

            if (!Conecta())
            {
                return(ret);
            }

            if (pIncluir)
            {
                StrQuery = "INSERT INTO ENTRADA (" +
                           "data,fornecedor_id,comprador_id,formapagamento_id,transportadores_id," +
                           "totalbruto,descontoporc,descontoreal,taxaentrega,totalliquido,observacao" +
                           ") values " +
                           "(" +
                           "@data,@fornecedor_id,@comprador_id,@formapagamento_id,@transportadores_id," +
                           "@totalbruto,@descontoporc,@descontoreal,@taxaentrega,@totalliquido,@observacao" +
                           ")";
            }
            else
            {
                StrQuery = "UPDATE ENTRADA SET " +
                           "data=@data,fornecedor_id=@fornecedor_id,comprador_id=@comprador_id," +
                           "formapagamento_id=@formapagamento_id, transportadores_id=@transportadores_id," +
                           "totalbruto=@totalbruto,descontoporc=@descontoporc,descontoreal=@descontoreal," +
                           "taxaentrega=@taxaentrega,totalliquido=@totalliquido,observacao=@observacao" +
                           " WHERE id=" + Id.ToString();
            }


            using (SqlCommand cmd = new SqlCommand(StrQuery, conn))
            {
                cmd.Parameters.AddWithValue("@data", Data.ToString("dd/MM/yyyy"));
                cmd.Parameters.AddWithValue("@fornecedor_id", int.Parse(Fornecedor_id.ToString()));
                cmd.Parameters.AddWithValue("@comprador_id", int.Parse(Comprador_id.ToString()));
                cmd.Parameters.AddWithValue("@formapagamento_id", int.Parse(FormaPagamento_id.ToString()));
                cmd.Parameters.AddWithValue("@transportadores_id", int.Parse(Transportadores_id.ToString()));
                cmd.Parameters.AddWithValue("@totalbruto", double.Parse(TotalBruto.ToString("N")));
                cmd.Parameters.AddWithValue("@descontoporc", double.Parse(DescontoPorc.ToString("N")));
                cmd.Parameters.AddWithValue("@descontoreal", double.Parse(DescontoReal.ToString("N")));
                cmd.Parameters.AddWithValue("@taxaentrega", double.Parse(TaxaEntrega.ToString("N")));
                cmd.Parameters.AddWithValue("@totalliquido", double.Parse(TotalLiquido.ToString("N")));
                cmd.Parameters.AddWithValue("@observacao", Observacao.ToString());

                cmd.CommandType = System.Data.CommandType.Text;

                try
                {
                    int i = cmd.ExecuteNonQuery();
                    if (i > 0)
                    {
                        ret = true;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao salvar os dados: Exceção: " + ex.ToString());
                    ret = false;
                }
            }

            conn.Close();

            if (ret)
            {
                if (!Conecta())
                {
                    ret = false;
                }

                if (pIncluir) // pegar o ultimo id quando for inclusao
                {
                    StrQuery = "SELECT max([Id]) as ultimo FROM[dbo].[ENTRADA]";
                    using (SqlCommand cmd = new SqlCommand(StrQuery, conn))
                    {
                        cmd.CommandType = System.Data.CommandType.Text;
                        dr = cmd.ExecuteReader();
                        dr.Read();
                        Ultimo_ID = 0;
                        if (dr.HasRows)
                        {
                            Ultimo_ID = int.Parse(dr["ultimo"].ToString());
                        }
                    }

                    dr.Close();
                    conn.Close();
                }

                if (!pIncluir)
                {
                    if (!Conecta())
                    {
                        ret = false;
                    }
                    // verificando se existe produtos lançados no orçamento_compl para deletar

                    int temPro = TemProdutosnoOrcamento(Id);
                    if (temPro > 0)
                    { // somente se tiver produtos é que ele vai deletar
                        StrQuery = "DELETE FROM ENTRADA_COMPL WHERE Orcamento_Id=" + Id.ToString();
                        using (SqlCommand cmd_compl = new SqlCommand(StrQuery, conn))
                        {
                            cmd_compl.CommandType = System.Data.CommandType.Text;
                            int i = cmd_compl.ExecuteNonQuery();
                            if (i > 0)
                            {
                                ret = true;
                            }
                            else
                            {
                                ret = false;
                            }
                        }
                    }

                    conn.Close();
                }

                if (ret)
                {
                    if (!Conecta())
                    {
                        ret = false;
                    }

                    SqlCommand cmd_compl = new SqlCommand();
                    cmd_compl.CommandType = System.Data.CommandType.Text;
                    cmd_compl.Connection  = conn;

                    foreach (ListViewItem item in EntDadosPro.Items)
                    {
                        if (pIncluir)
                        {
                            Id = Ultimo_ID;
                        }

                        Produto_id         = int.Parse(item.SubItems[0].Text);
                        Produto_Quantidade = double.Parse(item.SubItems[4].Text);
                        Produto_Observacao = item.SubItems[6].Text;

                        StrQuery = "INSERT INTO ENTRADA_COMPL (orcamento_id," +
                                   "produto_id,produto_quantidade,produto_observacao) values" +
                                   " (" + int.Parse(Id.ToString()) + "," + int.Parse(Produto_id.ToString()) + "," + double.Parse(Produto_Quantidade.ToString()) + ",'" + Produto_Observacao.ToString() + "')";

                        // MessageBox.Show(StrQuery.ToString());

                        cmd_compl.CommandText = StrQuery.ToString();

                        try
                        {
                            int i = cmd_compl.ExecuteNonQuery();
                            if (i > 0)
                            {
                                ret = true;
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Erro ao SALVAR ENTRADA -> PRODUTOS Exceção: " + ex.ToString());
                            ret = false;
                        }
                    }
                }

                conn.Close();
            }

            conn.Close();
            return(ret);
        }