public List <Loan> GetLoanByDate(DateTime loanDate, StudentSql studentSql, BookSql bookSql, TypeSql typeSql) { List <Loan> matchedLoans = new List <Loan>(); if (loanDate != null) { try { con.Open(); cmd.CommandText = "SELECT * FROM loan WHERE loan_date=" + loanDate; rdr = cmd.ExecuteReader(); while (rdr.Read()) { Loan loan = new Loan(); loan.Id = rdr.GetInt32(0); loan.Pupil = studentSql.FindStudentById(rdr.GetInt32(1)); loan.Tome = bookSql.FindBookById(rdr.GetInt32(2), typeSql); loan.LoanDate = rdr.GetDateTime(3); loan.LoanDue = rdr.GetDateTime(4); loan.Active = rdr.GetBoolean(5); loan.Accrued = rdr.GetDecimal(6); matchedLoans.Add(loan); } } catch (MySqlException e) { log.Error("Get Loans(loanDate) Query Error", e); } finally { con.Close(); } } return(matchedLoans); }
public List <Loan> GetLoansById(int loanId, StudentSql studentSql, BookSql bookSql, TypeSql typeSql) { List <Loan> matchedLoans = new List <Loan>(); if (loanId != 0) { try { con.Open(); cmd.CommandText = "SELECT * FROM loan WHERE loan_id=" + loanId; rdr = cmd.ExecuteReader(); while (rdr.Read()) { Loan loan = new Loan(); loan.Id = rdr.GetInt32(0); loan.Pupil = studentSql.FindStudentById(rdr.GetInt32(1)); loan.Tome = bookSql.FindBookById(rdr.GetInt32(2), typeSql); loan.LoanDate = rdr.GetDateTime(3); loan.LoanDue = rdr.GetDateTime(4); loan.Active = rdr.GetBoolean(5); loan.Accrued = rdr.GetDecimal(6); if (loan.Active == true) { TimeSpan late = DateTime.Now - loan.LoanDue; loan.Accrued = late.Days * loan.Tome.TomeType.Penalty; } matchedLoans.Add(loan); } } catch (MySqlException e) { log.Error("Get Loans(id) Query Failure", e); } finally { con.Close(); } } return(matchedLoans); }
public Loan InsertLoan(int studentId, int bookId, StudentSql studentSql, BookSql bookSql, TypeSql typeSql) { Loan loan = new Loan(); if (studentId != 0 && bookId != 0) { try { DateTime loanDate = DateTime.Now; Book book = bookSql.FindBookById(bookId, typeSql); TimeSpan duration = book.TomeType.Duration; DateTime loanDue = loanDate + duration; Boolean active = true; Decimal accrued = 0.0m; con.Open(); cmd.CommandText = "INSERT INTO loan (student_id, book_id, loan_date, loan_due, loan_active, loan_accrued) VALUES(@STUDENT, @BOOK, @DATE, @DUE, @ACTIVE, @ACCRUED)"; cmd.Parameters.AddWithValue("@STUDENT", studentId); cmd.Parameters.AddWithValue("@BOOK", bookId); cmd.Parameters.AddWithValue("@DATE", loanDate); cmd.Parameters.AddWithValue("@DUE", loanDue); cmd.Parameters.AddWithValue("@ACTIVE", active); cmd.Parameters.AddWithValue("@ACCRUED", accrued); cmd.ExecuteNonQuery(); } catch (MySqlException e) { log.Error("Insert Loan Query Failure", e); } finally { con.Close(); } } return(loan); }
public Book UpdateBook(int bookId, string title, string authF, string authL, BookType type, TypeSql typeSql) { try { log.Debug("Book_" + bookId + "-" + title + "_Updated"); return(bookSql.UpdateBook(bookId, title, authF, authL, type, typeSql)); } catch (Exception e) { log.Error("Update Book(id,title) Butler Failure", e); return(bookSql.FailedBookQuery()); } }