public ActionResult Index() { var db = new ThuVienDb(); ViewBag.BookCount = db.Books.Count(); ViewBag.RentBookCount = db.Tickets.Where(t => t.DateReturned == null).SelectMany(x => x.Books).Distinct().Count(); ViewBag.OpenTicketCount = db.Tickets.Count(t => t.DateReturned == null); var tmpDate = DateTime.Now.Subtract(new TimeSpan(14, 0, 0, 0)); var rentBookData = new Dictionary <DateTime, int>(); foreach (var ticket in db.Tickets.Where(t => t.DateCreated >= tmpDate)) { if (!rentBookData.ContainsKey(ticket.DateCreated)) { rentBookData[ticket.DateCreated] = 0; } rentBookData[ticket.DateCreated] += ticket.Books.Count; } var returnBookData = new Dictionary <DateTime, int>(); foreach (var ticket in db.Tickets.Where(t => t.DateReturned >= tmpDate)) { if (!returnBookData.ContainsKey(ticket.DateReturned.Value)) { returnBookData[ticket.DateReturned.Value] = 0; } returnBookData[ticket.DateReturned.Value] += ticket.Books.Count; } ViewBag.RentData = rentBookData.Select(x => new KeyValuePair <string, int>(x.Key.ToString("d"), x.Value)).Reverse(); ViewBag.ReturnData = returnBookData.Select(x => new KeyValuePair <string, int>(x.Key.ToString("d"), x.Value)).Reverse(); return(View()); }
public ActionResult Book(int id) { var db = new ThuVienDb(); ViewBag.Book = db.Books.Single(x => x.Id == id); return(View()); }
public ActionResult Cart() { var db = new ThuVienDb(); var userList = (List <int>)Session["userList"] ?? (List <int>)(Session["userList"] = new List <int>()); ViewBag.Books = db.Books.Where(x => userList.Contains(x.Id)).ToList(); return(View()); }
protected override void Initialize(RequestContext requestContext) { base.Initialize(requestContext); if (Session["readerId"] != null) { var db = new ThuVienDb(); var id = (int)Session["readerId"]; ViewBag.Username = db.Readers.Single(x => x.Id == id).Username; } }
public ActionResult Index(int page = 1, string book = null) { var db = new ThuVienDb(); IQueryable <Book> src = db.Books; if (book != null) { src = src.Where(b => b.Name.Contains(book)); } ViewBag.PageCount = (src.Count() + 19) / 20; ViewBag.CurrentPage = page; ViewBag.Books = src.SortBy("Id").Skip((page - 1) * 20).Take(20); return(View()); }
public ActionResult Login(string Username, string Password) { var db = new ThuVienDb(); var reader = db.Readers.SingleOrDefault(x => x.Username == Username && x.Password == Password); if (reader == null) { ModelState.AddModelError("", "Lỗi đăng nhập!"); return(View()); } else { Session["readerId"] = reader.Id; return(RedirectToAction("Index")); } }
public ActionResult Login(User user) { var db = new ThuVienDb(); try { user = db.Users.First(x => x.Username == user.Username && x.Password == user.Password); Session["uid"] = user.Id; return(RedirectToAction("Index", "Dashboard")); } catch (Exception) { ModelState.AddModelError("", "Tài khoản hoặc mật khẩu không chính xác"); return(View()); } }
public override void OnActionExecuting(ActionExecutingContext filterContext) { // Auto login first user //if (filterContext.HttpContext.IsDebuggingEnabled) // using (var db = new ThuVienDb()) // { // filterContext.HttpContext.Session["uid"] = db.Users.First().Id; // } if (filterContext.HttpContext.Session["uid"] == null) { filterContext.Result = new RedirectResult("~/Account/Login"); return; } using (var db = new ThuVienDb()) { var uid = (int)filterContext.HttpContext.Session["uid"]; filterContext.Controller.ViewBag.User = db.Users.First(x => x.Id == uid); } }
public ActionResult CreateTicket() { if (Session["readerId"] == null) { return(RedirectToAction("Login")); } var db = new ThuVienDb(); var userList = (List <int>)Session["userList"] ?? (List <int>)(Session["userList"] = new List <int>()); var ticket = new Ticket { DateCreated = DateTime.Now, ReaderId = (int)Session["readerId"] }; foreach (var bookId in userList) { ticket.Books.Add(db.Books.Single(x => x.Id == bookId)); } db.Tickets.Add(ticket); db.SaveChanges(); Session.Remove("userList"); ViewBag.Ticket = ticket; return(View()); }