public JsonResult SaveDiskReturn(string lst) { JavaScriptSerializer json_serializer = new JavaScriptSerializer(); List <int> Lst = json_serializer.Deserialize <List <int> >(lst); OrderDetail d = new OrderDetail(); foreach (int i in Lst) { OrderDetail o = db.OrderDetails.Where(a => a.Id_Item == i && a.Status == "Chưa Trả").FirstOrDefault(); Item item = db.Items.Where(t => t.Id_Item == i).FirstOrDefault(); if (o != null) { o.Status = "Đã Trả"; o.DateReturn = DateTime.Now; item.Status = "On-Shelf"; DateTime ngaytra = Convert.ToDateTime(o.DateReturn); DateTime hantra = Convert.ToDateTime(o.DateDue); TimeSpan Time = ngaytra - hantra; int TongSoNgay = Time.Days; if (TongSoNgay > 0) { LateFee lt = new LateFee(); lt.Id_OrderDetail = o.Id_OrderDetail; lt.Late_Fee = o.Items.Titles.TypeDisk.LateFee; lt.NumOfLateDate = TongSoNgay; lt.Total = o.Items.Titles.TypeDisk.LateFee * TongSoNgay; lt.Status = "Chưa Trả"; db.LateFees.Add(lt); o.Orders.Customers.Fine += lt.Total; Customer cus = new Customer(); cus.Fine = o.Items.Titles.TypeDisk.LateFee * TongSoNgay; } } else { break; } //Kiểm tra Reservation nếu có thì thêm ReservDetail cho Reservation có id nhỏ nhất, đặt status của item = "On Hold" new ReservationsController().PlaceOnHold(item); } db.SaveChanges(); string value = string.Empty; value = JsonConvert.SerializeObject(d, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); return(Json(value, JsonRequestBehavior.AllowGet)); }
public JsonResult SaveLateFee(int Id_LateFee) { LateFee lt = db.LateFees.Where(x => x.Id_LateFee == Id_LateFee && x.Status == "Chưa Trả").FirstOrDefault(); if (lt != null) { lt.Status = "Đã Trả"; lt.OrderDetails.Orders.Customers.Fine -= lt.Total; } db.SaveChanges(); return(Json(true, JsonRequestBehavior.AllowGet)); }