Array
(
)

ajuda urgente calculo entre datas

Eurikesse
   - 21 jun 2013

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 .

Joel Rodrigues
   - 21 jun 2013

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

0
|
0

Eurikesse
   - 22 jun 2013



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.

0
|
0

Joel Rodrigues
   - 22 jun 2013

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

0
|
0

Eurikesse
   - 22 jun 2013


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

0
|
0

Joel Rodrigues
   - 22 jun 2013

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

0
|
0

Joel Rodrigues
   - 22 jun 2013

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

0
|
0

Eurikesse
   - 23 jun 2013


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

}

}
}

}

0
|
0

Joel Rodrigues
   - 23 jun 2013

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

#Código

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

0
|
0

Eurikesse
   - 24 jun 2013

funcionou, obrigado.

0
|
0

Joel Rodrigues
   - 24 jun 2013

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

0
|
0