private void PopulateIssueList() { int No = 0; PanelIssueLis.Controls.Clear(); int BookStillIssued = 0; foreach (issue Issue in Issues) { if (null == Issue.book_issue || Issue.book_issue.Count == 0) { continue; } No++; Panel PanelIssue = new Panel(); PanelIssue.Controls.Add(ControlUtil.GenerateLabel("<b>" + No + ". Issue ID: " + Issue.id + " (" + Issue.type + ")</b><br/>date: " + Issue.date + "<ol>")); Panel PanelIssueItem = new Panel(); foreach (book_issue Bs in Issue.book_issue) { List <book_issue> BooksReturned = BookIssueService.GetByBookIssueIdReturned(Bs.id); bool BookReturned = BooksReturned.Count == 1; string labelHtml = "<li class=\"book_issue-item\" id=\"Book_Issue_Rec_" + Bs.id + "\"> Issue Rec Id: " + Bs.id + "<br/>Book Rec Id: " + Bs.book_record_id + "<br/>" + Bs.book_record.book.title + " - returned: <code>" + BookReturned + "</code>";// + DateTime.Now.ToString(); if (!BookReturned) { string[] Attrs = new string[] { "href=\"#\"", "onclick=SetTextInput('" + Bs.book_record_id + "','MainContent_TextBoxIssueRecordId')" }; string anchor = ControlUtil.GenerateHtmlTag("a", Attrs, " return now "); labelHtml += "<br/>" + anchor; BookStillIssued++; } else { string[] Attrs = new string[] { "class=\"pointerable\"", "onclick=\"ScrollToElement('Book_Return_Rec_" + BooksReturned[0].id + "')\"" }; string anchor = ControlUtil.GenerateHtmlTag("span", Attrs, BooksReturned[0].id); labelHtml += "<br/> Return ref: " + anchor; } labelHtml += "</li>"; PanelIssueItem.Controls.Add(ControlUtil.GenerateLabel(labelHtml)); } PanelIssue.Controls.Add(PanelIssueItem); DateTime MaxReturn = DateUtil.PlusDay(Issue.date, int.Parse(TextBoxDuration.Text)); bool Late = false; if (Issue.date.CompareTo(MaxReturn) > 0) { Late = true; } PanelIssue.Controls.Add(ControlUtil.GenerateLabel("</ol>Max return: " + MaxReturn + ", Late:" + Late + "<hr/>")); PanelIssueLis.Controls.Add(PanelIssue); } issueCount.InnerHtml = BookStillIssued.ToString(); //BOOK RETURNED No = 0; PanelIssueReturn.Controls.Clear(); foreach (issue Issue in IssuesReturn) { if (null == Issue.book_issue || Issue.book_issue.Count == 0) { continue; } No++; Panel PanelIssue = new Panel(); PanelIssue.Controls.Add(ControlUtil.GenerateLabel("<b>" + No + ". Issue ID: " + Issue.id + " (" + Issue.type + ")</b><br/>date: " + Issue.date + "<ol>")); Panel PanelIssueItem = new Panel(); foreach (book_issue Bs in Issue.book_issue) { Bs.book_issue2 = (book_issue)BookIssueService.GetById(Bs.book_issue_id); if (null != Bs.book_issue2) { book_issue BookIssueRef = Bs.book_issue2; issue IssueRef = (issue)IssueService.GetById(BookIssueRef.issue_id); DateTime IssuedDate = IssueRef.date; DateTime MaxReturn = DateUtil.PlusDay(IssuedDate, int.Parse(TextBoxDuration.Text)); bool Late = false; if (Issue.date.CompareTo(MaxReturn) > 0) { Late = true; } string[] Attrs = new string[] { "class=\"pointerable\"", "onclick=\"ScrollToElement('Book_Issue_Rec_" + Bs.book_issue_id + "')\"" }; string anchor = ControlUtil.GenerateHtmlTag("span", Attrs, Bs.book_issue_id); PanelIssueItem.Controls.Add(ControlUtil.GenerateLabel("<li class=\"book_issue-item\" id=\"Book_Return_Rec_" + Bs.id + "\"> Return Rec Id: " + Bs.id + "<br/>Book Rec Id: " + Bs.book_record_id + " - Returned From Issue Rec Id: " + anchor + "<br/>" + Bs.book_record.book.title + "<br/>Issued: " + IssuedDate + "<br/>Max return: " + MaxReturn + " - late: <code>" + Late + "</code></li>")); } } PanelIssue.Controls.Add(PanelIssueItem); PanelIssue.Controls.Add(ControlUtil.GenerateLabel("</ol><hr/>")); PanelIssueReturn.Controls.Add(PanelIssue); } }
private issue ReturnBook() { if (StringUtil.NotNullAndNotBlank(Request.Form["student_id"]) && StringUtil.NotNullAndNotBlank(Request.Form["book_recs"])) { issueService = new IssueService(); studentService = new StudentService(); bookRecordService = new Book_recordService(); BookIssueService = new book_issueService(); string StudentId = Request.Form["student_id"]; student Student = (student)studentService.GetById(StudentId); if (Student == null) { return(null); } string IssueID = StringUtil.GenerateRandomNumber(9); issue Issue = new issue(); Issue.user_id = User.id; Issue.id = IssueID; Issue.type = "return"; Issue.date = DateTime.Now; Issue.student_id = Student.id; Issue.addtional_info = "test"; string[] BookRecIds = Request.Form["book_recs"].Split(';'); if (BookRecIds.Length < 1) { return(null); } if (null == issueService.Add(Issue)) { return(null); } List <book_issue> BookIssues = new List <book_issue>(); foreach (string Id in BookRecIds) { string[] IdAndReffId = Id.Split('-'); if (IdAndReffId.Length < 1) { continue; } book_record BR = (book_record)bookRecordService.GetById(IdAndReffId[0]); book_issue ReffBookIssue = (book_issue)BookIssueService.GetById(IdAndReffId[1]); if (ReffBookIssue.book_return == 1) { continue; } book_issue BookIssue = new book_issue(); BookIssue.id = StringUtil.GenerateRandomChar(10); BookIssue.issue_id = IssueID; BookIssue.book_issue_id = IdAndReffId[1]; BookIssue.book_record_id = IdAndReffId[0]; BookIssue.qty = 1; BookIssues.Add(BookIssue); BookIssueService.Add(BookIssue); BR.available = 1; ReffBookIssue.book_return = 1; BookIssueService.Update(ReffBookIssue); bookRecordService.Update(BR); } Issue.book_issue = BookIssues; return(Issue); } return(null); }