public async Task <Object> PutrenewBook(int id) { OrderReturnMessage rec = new OrderReturnMessage() { type = "failed" }; var temp = db.Orders.Where(o => o.Id == id).Include(b => b.Book).Include(b => b.User); Order order = temp.ToArray()[0]; if (order.State == "done" || order.State == "overdone") { rec.message = "该书已归还"; return(rec); } DateTime endDate = order.EndDate; DateTime returnDate = DateTime.Now; if (DateTime.Compare(returnDate, endDate) > 0) { rec.message = "该订单已逾期"; return(rec); } order.EndDate = endDate.AddDays(30); db.Entry(order).State = EntityState.Modified; await db.SaveChangesAsync(); rec.type = "success"; rec.order = order; rec.message = "续借成功"; return(rec); }
public async Task <Object> borrowBookByManager(OrderInf orderInf) { OrderReturnMessage rec = new OrderReturnMessage() { type = "failed" }; if (!ModelState.IsValid) { rec.message = "数据格式有误"; return(rec); } var book = db.Books.Where(b => b.Isbn == orderInf.Isbn); if (!book.Any()) { rec.message = "该书不存在"; return(rec); } var user = db.Users.Where(u => u.License == orderInf.License); if (!user.Any()) { rec.message = "该用户不存在"; return(rec); } int bookId = book.ToArray()[0].Id; int userId = user.ToArray()[0].Id; int orderId = db.Orders.Select(n => n.Id).ToList().Max() + 1; Order newOrder = new Order() { Id = orderId, BookId = bookId, UserId = userId, StartDate = orderInf.StartDate, EndDate = orderInf.EndDate, ReturnDate = DateTime.Now, State = "renting" }; Book oldBook = await db.Books.FindAsync(bookId); oldBook.BorrowNumber = oldBook.BorrowNumber + 1; //更新书籍信息 db.Entry(oldBook).State = EntityState.Modified; //插入数据 db.Orders.Add(newOrder); await db.SaveChangesAsync(); rec.message = "订单生成成功"; rec.order = newOrder; rec.type = "success"; return(rec); }
public async Task <object> PostBookImageByManager(int id) { OrderReturnMessage rec = new OrderReturnMessage() { type = "failed", message = "未检测到文件" }; var file = HttpContext.Current.Request.Files.Count > 0 ? HttpContext.Current.Request.Files[0] : null; if (file != null && file.ContentLength > 0) { //按照当前时间生成文件名 string fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + DateTime.Now.Millisecond.ToString(); //string fileName = Path.GetFileName(file.FileName); string Extent = Path.GetExtension(file.FileName); fileName += Extent; string path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/uploads"), fileName); file.SaveAs(path); var temp = db.BookImages.Where(b => b.BookId == id); //当书籍封面不存在时 if (!temp.Any()) { int orderId = db.BookImages.Select(n => n.Id).ToList().Max() + 1; BookImage bookImage = new BookImage() { Id = orderId, BookId = id, ImageURL = path }; db.BookImages.Add(bookImage); } else { BookImage bookImage = temp.ToArray()[0]; bookImage.ImageURL = path; db.Entry(bookImage).State = EntityState.Modified; } await db.SaveChangesAsync(); rec.type = "success"; rec.message = "书籍封面上传成功"; } return(rec); }
public async Task <Object> PutreturnBookByManager(int id) { OrderReturnMessage rec = new OrderReturnMessage() { type = "failed" }; var temp = db.Orders.Where(o => o.Id == id).Include(b => b.Book).Include(b => b.User); Order order = temp.ToArray()[0]; //Order order = await db.Orders.FindAsync(id); if (order.State == "done" || order.State == "overdone") { rec.message = "该书已归还"; return(rec); } DateTime endDate = order.EndDate; DateTime returnDate = DateTime.Now; string state = "done"; if (DateTime.Compare(returnDate, endDate) > 0) { state = "overdone"; } Book book = await db.Books.FindAsync(order.BookId); book.BorrowNumber = book.BorrowNumber - 1; //更新书籍信息 db.Entry(book).State = EntityState.Modified; //更新订单信息 order.State = state; order.ReturnDate = returnDate; db.Entry(order).State = EntityState.Modified; await db.SaveChangesAsync(); rec.type = "success"; rec.order = order; rec.message = "订单更新成功"; return(rec); }
public async Task <Object> borrowBookByUser(OrderInfByUser orderInf) { OrderReturnMessage rec = new OrderReturnMessage() { type = "failed" }; if (!ModelState.IsValid) { rec.message = "数据格式有误"; return(rec); } Book book = await db.Books.FindAsync(orderInf.BookId); if (book.BorrowNumber >= book.Number) { rec.message = "该书没有库存"; return(rec); } int orderId = db.Orders.Select(n => n.Id).ToList().Max() + 1; Order newOrder = new Order() { Id = orderId, BookId = orderInf.BookId, UserId = orderInf.UserId, StartDate = orderInf.StartDate, EndDate = orderInf.EndDate, ReturnDate = DateTime.Now, State = "renting" }; book.BorrowNumber = book.BorrowNumber + 1; //更新书籍信息 db.Entry(book).State = EntityState.Modified; //插入数据 db.Orders.Add(newOrder); await db.SaveChangesAsync(); rec.message = "订单生成成功"; rec.order = newOrder; rec.type = "success"; return(rec); }