ajuda urgente calculo entre datas

21/06/2013

0

boa noite, galera se poder ajudar urgente.

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

Eurikesse

Responder

Posts

21/06/2013

Joel Rodrigues

O problema é só para comparar as datas? Dê uma olhada neste link: [url]http://msdn.microsoft.com/en-us/library/bb546099.aspx[/url]
Responder

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.
Responder

22/06/2013

Joel Rodrigues

Alguma mensagem de erro? Onde está ocorrendo o problema?
Responder

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

22/06/2013

Joel Rodrigues

Antes de tudo, para que eu não me esqueça, você deve multiplicar por 0.02 e não 0.2.
0.2 representa 20% e não 2%.
Responder

22/06/2013

Joel Rodrigues

Ponha um breakpoint no if e verifique os valores das propriedades DataRecebimento e DataVencimento. Os valores, por algum motivo, podem estar errados.
Responder

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

}

}
}

}
Responder

23/06/2013

Joel Rodrigues

É que você não está convertendo tudo para Double na hora de usar.
O correto seria:

txtValorRecebimento.Text = (Double.Parse(txtValorTaxa.Text) * cal + Double.Parse(txtValorTaxa.Text)).ToString("R$ #,##0.00");
Responder

24/06/2013

Eurikesse

funcionou, obrigado.

Responder

24/06/2013

Joel Rodrigues

Valeu então. Que bom que deu certo.
Estou marcando o tópico como Concluído.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar