ajuda urgente calculo entre datas
21/06/2013
0
o calculo é o seguinte.
tenho duas classes.
classe proprietario que tem a data de vencimento do cliente
e a classe recebimento a onde e feito o calculo do recebimento do pagamento desse mesmo cliente .
nessa classe recebimento a regra é :
tem o valor da taxa do pagamento, o valor do pagamento do cliente , data do pagamento do cliente .
se a data do pagamento do cliente for maior que a data de vencimento cadastrada na classe cliente e gerada uma multa de
2 porcentos e calculado o valor total
alguem pode me ajudar em asp.net sou iniciante .
Eurikesse
Posts
21/06/2013
Joel Rodrigues
22/06/2013
Eurikesse
oi tudo bem ,
seguindo a dica que vc me mandou, porém ao executar o meu codigo ele não faz o calculo da diferença
protected void Button1_Click(object sender, EventArgs e)
{
Recebimento recebimento = new Recebimento();
recebimento.DataPagamento = Convert.ToDateTime(txtDataPagamento);
recebimento.DataVencimento = Convert.ToDateTime(txtDataVencimento);
if (recebimento.DataPagamento > recebimento.DataVencimento)
{
TimeSpan diff = recebimento.DataPagamento - recebimento.DataVencimento; TimeSpan diff = fim.Subtract(inicio);
int intDifDias = diff.Days;
Console.WriteLine(" o valor da multa é :" + intDifDias);
}if(recebimento.DataPagamento < recebimento.DataVencimento){
Response.Write("<script>alert('sem multa!')</script>");
}
else if (recebimento.DataPagamento == recebimento.DataVencimento)
{
Response.Write("<script>alert('sem multa!')</script>");
}
}
}
}
se poder ajudar .
Grata.
22/06/2013
Joel Rodrigues
22/06/2013
Eurikesse
alterei o codigo, porém como o primeiro codigo tem o mesmo problema.
não exibe erro porém so esta pegando o segundo if e exibindo a mensagem ('Multa de 2%: + txtValorVencimento.Text')
estou com dois problemas nesse codigo, o primeiro que está pegando somente o segundo if e apoós exibir a mensagem tinha que preencher o textbox txtValorVencimeto com a multa.
protected void Button1_Click(object sender, EventArgs e)
{
Recebimento recebimento = new Recebimento();
if (recebimento.DataPagamento < recebimento.DataVencimento)
{
recebimento.ValorRecebimento = (recebimento.ValorTaxa * 0);
Response.Write("<script>alert('sem multa!')</script>");
}
else
{
recebimento.ValorRecebimento = ((recebimento.ValorTaxa * 0.2) + recebimento.ValorTaxa);
Response.Write("<script>alert('Multa de 2%: + txtDataVencimento.Text')</script>");
}
}
22/06/2013
Joel Rodrigues
0.2 representa 20% e não 2%.
22/06/2013
Joel Rodrigues
23/06/2013
Eurikesse
ola então troqueio codigo e esta funcionado , porém no else o calculo esta sendo feito de forma errada.
Tipo R$10,000,210,00 o valor dessa forma quando deveria voltar 210.
protected void Button1_Click(object sender, EventArgs e)
{
Recebimento recebimento = new Recebimento();
double cal = 0.2;
//string valorTaxa = txtValorTaxa.Text;
//double valorTaxa = Convert.ToDouble(txtValorTaxa.Text);
if (Convert.ToDateTime(txtDataPagamento.Text) < Convert.ToDateTime(txtDataVencimento.Text))
{
txtValorRecebimento.Text = ( txtValorTaxa.Text ) ;
Response.Write("<script>alert('sem multa!')</script>");
}
else
{
Response.Write("<script>alert('Multa de 2%!')</script>");
txtValorRecebimento.Text =Double.Parse(txtValorTaxa.Text ) * cal + ( txtValorTaxa.Text);
}
}
}
}
23/06/2013
Joel Rodrigues
O correto seria:
txtValorRecebimento.Text = (Double.Parse(txtValorTaxa.Text) * cal + Double.Parse(txtValorTaxa.Text)).ToString("R$ #,##0.00");
24/06/2013
Joel Rodrigues
Estou marcando o tópico como Concluído.
Clique aqui para fazer login e interagir na Comunidade :)