public Book ReturnBook(int bookID) { using (var db = new favlEntities()) { var book = db.Books.Find(bookID); if (book == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } book.CheckedOutTo = null; book.CheckedOutDate = null; db.SaveChanges(); return(new Book { Id = book.Id, Title = book.Title, AuthorFirst = book.AuthorFirst, AuthorMiddle = book.AuthorMiddle, AuthorLast = book.AuthorLast, Barcode = book.Barcode }); } }
public List <OverDueBook> GetOverDueBooks(int libraryID) { var overDueIfCheckedOutBefore = DateTime.UtcNow.AddDays(-7); using (var db = new favlEntities()) { var list = db.Books.Where(b => b.LibraryID == libraryID && b.CheckedOutDate != null && b.CheckedOutTo != null).OrderBy(b => b.CheckedOutDate).ToList().Select(book => new OverDueBook { Id = book.Id, Title = book.Title, AuthorFirst = book.AuthorFirst, AuthorMiddle = book.AuthorMiddle, AuthorLast = book.AuthorLast, Barcode = book.Barcode, ReaderFirst = book.Reader.FirstName, ReaderMiddle = book.Reader.MiddleName, ReaderLast = book.Reader.LastName, CheckedOutDate = book.CheckedOutDate, // ReSharper disable once PossibleInvalidOperationException DaysOverDue = (overDueIfCheckedOutBefore - book.CheckedOutDate.Value).TotalDays }).ToList(); foreach (var item in list) { if (item.CheckedOutDate.HasValue) { item.DueDate = item.CheckedOutDate.Value.AddDays(7); } } return(list); } }
public string CheckOutBook(int bookID, int readerID) { using (var db = new favlEntities()) { var book = db.Books.Find(bookID); if (book == null) { return("Book not found"); } var reader = db.Readers.Find(readerID); if (reader == null) { return("Reader not found"); } book.CheckedOutTo = readerID; book.CheckedOutDate = DateTime.UtcNow; book.TotalCheckouts += 1; reader.TotalCheckouts += 1; db.CheckOuts.Add(new CheckOut() { BookID = bookID, ReaderID = readerID, LibraryID = book.LibraryID, CheckOutDate = DateTime.UtcNow }); db.SaveChanges(); return("ok"); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { return; } using (var db = new favlEntities()) { var barcode = Request.Form["Barcode"].Trim(); db.Books.Add(new Book { Title = Request.Form["Title"].Trim(), AuthorFirst = Request.Form["AuthorFirst"].Trim(), AuthorMiddle = Request.Form["AuthorMiddle"].Trim(), AuthorLast = Request.Form["AuthorLast"].Trim(), Barcode = string.IsNullOrEmpty(barcode) ? null : barcode + " (EAN_13)", LibraryID = int.Parse(Request.Form["LibraryID"]) }); db.SaveChanges(); } Response.Redirect("books.aspx"); }
public Library SignIn([FromBody] SignInArgs args) { using (var db = new favlEntities()) { var librarian = db.Librarians.FirstOrDefault(l => l.Username == args.username); if (librarian == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } if (!PW.Verify(args.password, librarian.PasswordHash, librarian.PasswordSalt)) { throw new HttpResponseException(HttpStatusCode.Unauthorized); } return(new Library { Id = librarian.Library.Id, Name = librarian.Library.Name, Village = librarian.Library.Village, Country = librarian.Library.Country }); } }
public Reader AddReader([FromBody] Reader reader) { using (var db = new favlEntities()) { if (string.IsNullOrEmpty(reader.Barcode)) { reader.Barcode = null; } else { // throw error if another reader has same barcode if (db.Readers.FirstOrDefault(r => r.Barcode == reader.Barcode) != null) { throw new HttpResponseException(HttpStatusCode.Conflict); } } var addedReader = db.Readers.Add(reader); db.SaveChanges(); return(new Reader { Id = addedReader.Id, FirstName = addedReader.FirstName, MiddleName = addedReader.MiddleName, LastName = addedReader.LastName, Barcode = addedReader.Barcode, TotalCheckouts = addedReader.TotalCheckouts }); } }
protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(Request.QueryString["id"])) { Response.Redirect("books.aspx"); return; } var bookId = int.Parse(Request.QueryString["id"]); using (var db = new favlEntities()) { var book = db.Books.Find(bookId); if (book != null) { if (IsPostBack) { var barcode = Request.Form["Barcode"].Trim(); book.Title = Request.Form["Title"].Trim(); book.AuthorFirst = Request.Form["AuthorFirst"].Trim(); book.AuthorMiddle = Request.Form["AuthorMiddle"].Trim(); book.AuthorLast = Request.Form["AuthorLast"].Trim(); book.Barcode = string.IsNullOrEmpty(barcode) ? null : barcode + " (EAN_13)"; book.LibraryID = int.Parse(Request.Form["LibraryID"]); db.SaveChanges(); Response.Redirect("books.aspx"); return; } var originalBarcode = book.Barcode; if (!string.IsNullOrEmpty(originalBarcode) && originalBarcode.Length > 13) { originalBarcode = originalBarcode.Substring(0, 13); } var s = new HtmlGenericControl("script") { InnerHtml = "var book = " + JsonConvert.SerializeObject( new Book { Id = book.Id, Title = book.Title, AuthorFirst = book.AuthorFirst, AuthorMiddle = book.AuthorMiddle, AuthorLast = book.AuthorLast, Barcode = originalBarcode ?? string.Empty, LibraryID = book.LibraryID }) }; insertBook.Controls.Add(s); } } ; }
protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(Request.QueryString["id"])) { Response.Redirect("librarians.aspx"); return; } var librarianId = int.Parse(Request.QueryString["id"]); using (var db = new favlEntities()) { var librarian = db.Librarians.Find(librarianId); if (librarian != null) { if (IsPostBack) { var barcode = Request.Form["Barcode"].Trim(); librarian.FirstName = Request.Form["FirstName"].Trim(); librarian.LastName = Request.Form["LastName"].Trim(); librarian.Username = Request.Form["Username"].Trim(); librarian.Barcode = string.IsNullOrEmpty(barcode) ? null : barcode + " (CODE_128)"; librarian.LibraryID = int.Parse(Request.Form["LibraryID"]); db.SaveChanges(); Response.Redirect("librarians.aspx"); return; } var originalBarcode = librarian.Barcode; if (!string.IsNullOrEmpty(originalBarcode) && originalBarcode.Length > 7) { originalBarcode = originalBarcode.Substring(0, 7); } var s = new HtmlGenericControl("script") { InnerHtml = "var librarian = " + JsonConvert.SerializeObject( new Librarian { Id = librarian.Id, FirstName = librarian.FirstName, LastName = librarian.LastName, Username = librarian.Username, Barcode = originalBarcode ?? string.Empty, LibraryID = librarian.LibraryID }) }; insertLibrarian.Controls.Add(s); } } ; }
protected void Page_Load(object sender, EventArgs e) { var overDueIfCheckedOutBefore = DateTime.UtcNow.AddDays(-7); using (var db = new favlEntities()) { var libraries = db.Libraries.OrderBy(l => l.Id).ToList(); foreach (var library in libraries) { var tile = new HtmlGenericControl("div"); tile.Attributes.Add("class", "libraryTile"); tile.Controls.Add(new HtmlGenericControl("h2") { InnerText = library.Name }); tile.Style[HtmlTextWriterStyle.BackgroundColor] = admin.checkOuts.colorArray[(library.Id - 1) % admin.checkOuts.colorArray.Length]; var books = library.Books.Count; var readers = library.Readers.Count; var librarians = string.Join(", ", library.Librarians.Select(l => l.FirstName + " " + l.LastName)); var checkOuts = db.CheckOuts.Count(c => c.LibraryID == library.Id); double overDueBooks = db.CheckOuts.Count(c => c.LibraryID == library.Id && c.CheckOutDate < overDueIfCheckedOutBefore); overDueBooks = checkOuts != 0 ? overDueBooks / checkOuts : 0; tile.Controls.Add(new HtmlGenericControl("h3") { InnerHtml = $"<i class='fa fa-book fa-fw'></i> Books: {books}" }); tile.Controls.Add(new HtmlGenericControl("h3") { InnerHtml = $"<i class='fa fa-user fa-fw'></i> Readers: {readers}" }); tile.Controls.Add(new HtmlGenericControl("h3") { InnerHtml = $"<i class='fa fa-shopping-bag fa-fw'></i> Checkouts: {checkOuts}" }); tile.Controls.Add(new HtmlGenericControl("h3") { InnerHtml = $"<i class='fa fa-hourglass-end fa-fw'></i> Overdue: {overDueBooks:0%}" }); tile.Controls.Add(new HtmlGenericControl("p") { InnerHtml = $"Librarians: {librarians}" }); insertData.Controls.Add(tile); } } }
protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(Request.QueryString["id"]) || !((Master as Admin)?.IsGod ?? false)) { Response.Redirect("libraries.aspx"); return; } var libraryId = int.Parse(Request.QueryString["id"]); using (var db = new favlEntities()) { var library = db.Libraries.Find(libraryId); if (library == null) { Response.Redirect("libraries.aspx"); return; } foreach (var reader in db.Readers.Where(r => r.LibraryID == library.Id).ToList()) { db.Readers.Remove(reader); } foreach (var book in db.Books.Where(b => b.LibraryID == library.Id).ToList()) { db.Books.Remove(book); } foreach (var librarian in db.Librarians.Where(l => l.LibraryID == library.Id).ToList()) { db.Librarians.Remove(librarian); } foreach (var checkOut in db.CheckOuts.Where(l => l.LibraryID == library.Id).ToList()) { db.CheckOuts.Remove(checkOut); } foreach (var checkOut in db.CheckOutsByDays.Where(l => l.LibraryID == library.Id).ToList()) { db.CheckOutsByDays.Remove(checkOut); } db.Libraries.Remove(library); db.SaveChanges(); } Response.Redirect("libraries.aspx"); }
protected void Page_Load(object sender, EventArgs e) { using (var db = new favlEntities()) { var list = db.Books.Where(b => allOrOneLibrary.LibraryID == 0 || b.LibraryID == allOrOneLibrary.LibraryID).OrderBy(b => b.Title).ToList(); var listHeader = new HtmlGenericControl("li"); listHeader.InnerHtml = "<span class='title'>Title</span><span class='author'>Author</span><span class='library'>Library</span><span class='barcode'>Barcode (EAN_13)</span><span class='reader'>Checked Out To</span><span></span><span></span>"; listHeader.Attributes.Add("class", "listAsTableHeader"); insertList.Controls.Add(listHeader); foreach (var book in list) { var li = new HtmlGenericControl("li"); var span = new HtmlGenericControl("span"); span.Attributes.Add("class", "title"); span.InnerText = book.Title; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "author"); span.InnerText = book.AuthorFirst + " " + book.AuthorMiddle + " " + book.AuthorLast; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "library"); span.InnerText = book.Library != null ? book.Library.Name : "—"; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "barcode"); span.InnerText = rxBarcodeSuffix.Replace(book.Barcode ?? "—", string.Empty); li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "reader"); span.InnerText = book.Reader != null ? book.Reader.FirstName + " " + book.Reader.LastName : "—"; li.Controls.Add(span); li.Controls.Add( new LiteralControl( $"<span class='edit'><a href='editBook.aspx?id={book.Id}'>Edit</a></span><span class='delete'><a href='javascript:deleteBook({book.Id}, \"{book.Title}\")'>Delete</a></span>") ); insertList.Controls.Add(li); } } }
public void DeleteReader(int userID) { using (var db = new favlEntities()) { var reader = db.Readers.Find(userID); if (reader == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } db.Readers.Remove(reader); db.SaveChanges(); } }
public IEnumerable <Library> GetLibraries() { using (var db = new favlEntities()) { var libraries = db.Libraries.ToList(); return(libraries.Select(library => new Library { Id = library.Id, Name = library.Name, Village = library.Village, Country = library.Country }) .ToList()); } }
protected void Page_Load(object sender, EventArgs e) { using (var db = new favlEntities()) { var list = db.Readers.Where(b => allOrOneLibrary.LibraryID == 0 || b.LibraryID == allOrOneLibrary.LibraryID).OrderBy(r => r.LastName).ThenBy(r => r.FirstName).ToList(); var listHeader = new HtmlGenericControl("li"); listHeader.InnerHtml = "<span class='reader'>Name</span><span class='barcode'>Barcode (CODE_128)</span><span class='library'>Community</span><span class='checkouts'>Checkouts</span><span></span><span></span>"; listHeader.Attributes.Add("class", "listAsTableHeader"); insertList.Controls.Add(listHeader); foreach (var reader in list) { var li = new HtmlGenericControl("li"); var span = new HtmlGenericControl("span"); span.Attributes.Add("class", "reader"); var readerName = $"{reader.LastName}, {reader.FirstName} {reader.MiddleName}"; span.InnerText = readerName; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "barcode"); span.InnerText = rxBarcodeSuffix.Replace(reader.Barcode ?? "—", string.Empty); li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "library"); span.InnerText = reader.Library?.Name ?? string.Empty; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "checkouts"); span.InnerText = reader.TotalCheckouts.ToString("#,###;;0"); li.Controls.Add(span); li.Controls.Add( new LiteralControl( $"<span class='edit'><a href='editReader.aspx?id={reader.Id}'>Edit</a></span><span class='delete'><a href='javascript:deleteReader({reader.Id}, \"{readerName}\")'>Delete</a></span>") ); insertList.Controls.Add(li); } } }
protected void Page_Load(object sender, EventArgs e) { var sb = new StringBuilder(); int.TryParse(Request.QueryString["libraryID"], out int libraryId); using (var db = new favlEntities()) { var books = db.Books.Where(b => libraryId == 0 || b.LibraryID == libraryId) .OrderBy(b => b.Id) .Take(ROWS * COLUMNS) .ToList(); var corrected = 0; for (var i = 0; i < books.Count; ++i) { corrected += CorrectBarCode(books[i]); var x = i % COLUMNS == 0 ? LEFT_MARGIN : LEFT_MARGIN + CARD_WIDTH + GUTTER; var row = i / COLUMNS; var y = TOP_MARGIN + row * CARD_HEIGHT; var BookTitle = HttpUtility.HtmlEncode(rxBarcodeSuffix.Replace(books[i].Title, string.Empty)); var BookAuthor = HttpUtility.HtmlEncode( $"{books[i].AuthorFirst} {books[i].AuthorMiddle} {books[i].AuthorLast}".Trim()); var LibraryName = HttpUtility.HtmlEncode(books[i].Library.Name); var BookBarcode = HttpUtility.HtmlEncode(rxBarcodeSuffix.Replace(books[i].Barcode, string.Empty)); sb.AppendLine($@"<div class='card' style='top: {y:0.00}in; left: {x:0.00}in;'><table><tr><td> <h1>{BookTitle}</h1> <h2>{BookAuthor}</h2> <h3>{LibraryName}</h3> </td></tr></table><div class='barcode'><svg data-barcode='{ BookBarcode }' xmlns='http://www.w3.org/2000/svg' version='1.1'></svg></div></div>"); } if (corrected > 0) { db.SaveChanges(); } } insertCards.InnerHtml = sb.ToString(); }
public List <Reader> GetReaders() { using (var db = new favlEntities()) { var readers = db.Readers.ToList(); return(readers.Select(reader => new Reader { Id = reader.Id, FirstName = reader.FirstName, MiddleName = reader.MiddleName, LastName = reader.LastName, Barcode = reader.Barcode, TotalCheckouts = reader.TotalCheckouts }) .ToList()); } }
public IEnumerable <Reader> GetReaders(int libraryID) { using (var db = new favlEntities()) { var readers = db.Readers.Where(r => r.LibraryID == libraryID).ToList(); return(readers.Select(reader => new Reader { Id = reader.Id, FirstName = reader.FirstName, MiddleName = reader.MiddleName, LastName = reader.LastName, Barcode = reader.Barcode, TotalCheckouts = reader.TotalCheckouts }) .ToList()); } }
protected void Page_Load(object sender, EventArgs e) { using (var db = new favlEntities()) { var list = db.Librarians.Where(l => l.LibraryID != null).ToList(); var listHeader = new HtmlGenericControl("li"); listHeader.InnerHtml = "<span class='name'>Name</span><span class='village'>Community</span><span class='country'>Country</span><span class='barcode'>Barcode (CODE_128)</span><span></span><span></span>"; listHeader.Attributes.Add("class", "listAsTableHeader"); insertList.Controls.Add(listHeader); foreach (var librarian in list) { var li = new HtmlGenericControl("li"); var span = new HtmlGenericControl("span"); span.Attributes.Add("class", "name"); span.InnerText = librarian.LastName + ", " + librarian.FirstName; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "village"); span.InnerText = librarian.Library.Village; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "country"); span.InnerText = librarian.Library.Country; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "barcode"); span.InnerText = rxBarcodeSuffix.Replace(librarian.Barcode ?? "—", string.Empty); li.Controls.Add(span); li.Controls.Add( new LiteralControl( $"<span class='edit'><a href='editLibrarian.aspx?id={librarian.Id}'>Edit</a></span><span class='delete'><a href='javascript:deleteLibrarian({librarian.Id}, \"{librarian.Library.Name}\")'>Delete</a></span>") ); insertList.Controls.Add(li); } } }
protected void Page_Load(object sender, EventArgs e) { using (var db = new favlEntities()) { var lastDay = db.CheckOutsByDays.Any() ? db.CheckOutsByDays.Max(d => d.Day) : DateTime.UtcNow.Date.AddDays(-30); for (var day = lastDay.AddDays(1); day <= DateTime.UtcNow.Date; day = day.AddDays(1)) { db.UpdateCheckOutsByDay(day); update.Controls.Add(new HtmlGenericControl("p") { InnerText = $"Updated CheckOutsByDay for day ending {day:F}" }); } } }
public IEnumerable <Book> GetLibraryBooks(int libraryID) { using (var db = new favlEntities()) { var books = db.Books.Where(b => b.LibraryID == libraryID).ToList(); return(books.Select(book => new Book { Id = book.Id, Title = book.Title, AuthorFirst = book.AuthorFirst, AuthorMiddle = book.AuthorMiddle, AuthorLast = book.AuthorLast, Barcode = book.Barcode }) .ToList()); } }
protected void Page_Load(object sender, EventArgs e) { using (var db = new favlEntities()) { librarySelectOptions.Controls.Add(new HtmlGenericControl("option") { InnerText = "Choose Library" }); foreach (var library in db.Libraries) { var option = new HtmlGenericControl("option"); option.Attributes.Add("value", library.Id.ToString()); option.InnerText = library.Name; librarySelectOptions.Controls.Add(option); } } }
protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(Request.QueryString["id"])) { Response.Redirect("libraries.aspx"); return; } var libraryId = int.Parse(Request.QueryString["id"]); using (var db = new favlEntities()) { var library = db.Libraries.Find(libraryId); if (library != null) { if (IsPostBack) { library.Name = Request.Form["Name"].Trim(); library.Village = Request.Form["Village"].Trim(); library.Country = Request.Form["Country"].Trim(); db.SaveChanges(); Response.Redirect("libraries.aspx"); return; } var s = new HtmlGenericControl("script") { InnerHtml = "var library = " + JsonConvert.SerializeObject( new Library { Id = library.Id, Name = library.Name, Village = library.Village, Country = library.Country }) }; insertLibrary.Controls.Add(s); } } ; }
public Library SignIn(string barcode) { using (var db = new favlEntities()) { var librarian = db.Librarians.FirstOrDefault(l => l.Barcode == barcode); if (librarian == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(new Library { Id = librarian.Library.Id, Name = librarian.Library.Name, Village = librarian.Library.Village, Country = librarian.Library.Country }); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { return; } if (Request.Form["Password"] != Request.Form["Password2"]) { passwordError.Visible = true; return; } passwordError.Visible = false; using (var db = new favlEntities()) { string hash, salt; PW.Encrypt(Request.Form["Password"], out hash, out salt); var barcode = Request.Form["Barcode"].Trim(); var librarian = new Librarian { FirstName = Request.Form["FirstName"].Trim(), LastName = Request.Form["LastName"].Trim(), Username = Request.Form["Username"].Trim(), IsAdmin = false, PasswordHash = hash, PasswordSalt = salt, Barcode = string.IsNullOrEmpty(barcode) ? null : barcode + " (CODE_128)", LibraryID = int.Parse(Request.Form["LibraryID"]) }; db.Librarians.Add(librarian); db.SaveChanges(); } Response.Redirect("librarians.aspx"); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { return; } using (var db = new favlEntities()) { db.Libraries.Add(new Library { Name = Request.Form["Name"], Village = Request.Form["Village"], Country = Request.Form["Country"] }); db.SaveChanges(); } Response.Redirect("libraries.aspx"); }
public Reader EditReader(int userID, [FromBody] Reader reader) { using (var db = new favlEntities()) { var existingReader = db.Readers.Find(userID); if (existingReader == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } // check if new barcode is different from existing barcode if (existingReader.Barcode != reader.Barcode && !string.IsNullOrEmpty(reader.Barcode)) { // throw error if another reader has same barcode if (db.Readers.FirstOrDefault(r => r.Barcode == reader.Barcode) != null) { throw new HttpResponseException(HttpStatusCode.Conflict); } } existingReader.FirstName = reader.FirstName; existingReader.MiddleName = reader.MiddleName; existingReader.LastName = reader.LastName; existingReader.Barcode = string.IsNullOrEmpty(reader.Barcode) ? null : reader.Barcode; existingReader.LibraryID = reader.LibraryID; db.SaveChanges(); return(new Reader { Id = existingReader.Id, FirstName = existingReader.FirstName, MiddleName = existingReader.MiddleName, LastName = existingReader.LastName, Barcode = existingReader.Barcode, TotalCheckouts = existingReader.TotalCheckouts }); } }
protected void Page_Load(object sender, EventArgs e) { var WeAreGod = (Master as Admin)?.IsGod ?? false; using (var db = new favlEntities()) { var list = db.Libraries.ToList(); var listHeader = new HtmlGenericControl("li"); listHeader.InnerHtml = "<span class='name'>Community</span><span class='country'>Country</span><span></span>" + (WeAreGod ? "<span></span>" : string.Empty); listHeader.Attributes.Add("class", "listAsTableHeader"); insertList.Controls.Add(listHeader); foreach (var library in list) { var li = new HtmlGenericControl("li"); var span = new HtmlGenericControl("span"); span.Attributes.Add("class", "name"); span.InnerText = library.Name; li.Controls.Add(span); span = new HtmlGenericControl("span"); span.Attributes.Add("class", "country"); span.InnerText = library.Country; li.Controls.Add(span); li.Controls.Add( new LiteralControl( $"<span class='edit'><a href='editLibrary.aspx?id={library.Id}'>Edit</a></span>" + (WeAreGod ? $"<span class='delete'><a href='javascript:deleteLibrary({library.Id}, \"{library.Name}\")'>Delete</a></span>" : string.Empty)) ); insertList.Controls.Add(li); } } }
public Book GetBookByBarcode(string barcode) { using (var db = new favlEntities()) { var book = db.Books.FirstOrDefault(b => b.Barcode == barcode); if (book == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(new Book { Id = book.Id, Title = book.Title, AuthorFirst = book.AuthorFirst, AuthorMiddle = book.AuthorMiddle, AuthorLast = book.AuthorLast, Barcode = book.Barcode }); } }
public Reader GetReaderByBarcode(string barcode) { using (var db = new favlEntities()) { var reader = db.Readers.FirstOrDefault(r => r.Barcode == barcode); if (reader == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(new Reader { Id = reader.Id, FirstName = reader.FirstName, MiddleName = reader.MiddleName, LastName = reader.LastName, Barcode = reader.Barcode, TotalCheckouts = reader.TotalCheckouts }); } }
protected void Page_Load(object sender, EventArgs e) { using (var db = new favlEntities()) { var list = db.Books.Where(b => b.TotalCheckouts > 0 && (allOrOneLibrary.LibraryID == 0 || b.LibraryID == allOrOneLibrary.LibraryID)).OrderByDescending(b => b.TotalCheckouts).Take(30) .ToList(); foreach (var book in list) { var tr = new HtmlGenericControl("tr"); var td = new HtmlGenericControl("td") { InnerText = book.Title }; tr.Controls.Add(td); td = new HtmlGenericControl("td") { InnerText = book.AuthorFirst + " " + book.AuthorMiddle + " " + book.AuthorLast }; tr.Controls.Add(td); td = new HtmlGenericControl("td") { InnerText = book.Library != null ? book.Library.Name : "—" }; tr.Controls.Add(td); td = new HtmlGenericControl("td") { InnerText = book.TotalCheckouts.ToString() }; tr.Controls.Add(td); popularBooksBody.Controls.Add(tr); } } }