Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }