计算罚款总额,并在逾期时加罚款

时间:2020-03-29 03:41:54

标签: c# winforms

在给定的截止日期之后仍未归还书籍时,我该如何计算罚款?如果确实没有归还这本书,我想每天增加5分的罚款。

到目前为止我已经尝试过

public void CalculateFine()
{
  DateTime dueDate = new DateTime();
  DateTime returnDate = new DateTime();
  dueDate = frmissue.dtDueDate.Value;
  returnDate = DateTime.Now;
  TimeSpan diff = returnDate.Subtract(dueDate);
  int days = diff.Days;
  fine = days * 5;

  cn.Open();
  cm = new SqlCommand("INSERT INTO tblFine VALUES (@borrowID, @studentID, @totalFine)", cn);
  cm.Parameters.AddWithValue("@borrowID", lblID.Text);
  cm.Parameters.AddWithValue("@studentID", lblStudentID.Text);
  cm.Parameters.AddWithValue("@totalFine", fine);
  cm.ExecuteNonQuery();
  cn.Close();
}

当我单击归还书按钮时,它对我有用,但是如果没有过期罚款,即使我在到期日之前归还书,它也会计算并在其中插入 -35 之类的罚款。我的专栏totalFine。我不想有一个负值,相反,如果书在给定的到期日或之前归还,我希望有0个值。

由于我是编程新手,所以我尝试搜索并且无法完全理解其中的一些内容。

1 个答案:

答案 0 :(得分:3)

if(fine < 0)
{
    fine = 0;
}

只需将这些代码添加到cn.Open();