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); }
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); }