public JsonResult saveBaoSach(DaiLyDebt O) { DateTime date = DateTime.Now; var dt = date.Date; bool status = false; if (ModelState.IsValid) { int i = int.Parse(Session["DaiLyId"].ToString()); NXBDebt u = db.NXBDebts.Where(x => x.fk_sachID == O.fk_sachID).SingleOrDefault(); if (u != null) { u.nxbdebt_banduoc += O.dailydebt_soluong; } DaiLyDebt d = db.DaiLyDebts.Where(x => x.fk_dailyID == i && x.fk_sachID == O.fk_sachID).SingleOrDefault(); d.dailydebt_soluong -= O.dailydebt_soluong; if (d.dailydebt_soluong == 0) { db.DaiLyDebts.Remove(d); } List <DaiLyDebtTien> li = db.DaiLyDebtTiens.Where(x => x.fk_dailyID == i).ToList(); var maxdate = li.Select(x => x.dailydebttien_ngaycapnhat).Max(); DaiLyDebtTien n = db.DaiLyDebtTiens.Where(x => x.fk_dailyID == i && x.dailydebttien_ngaycapnhat == maxdate).FirstOrDefault(); Sach s = db.Saches.Where(x => x.sachID == O.fk_sachID).SingleOrDefault(); var maxDdoanhthu = db.DoanhThus.Select(x => x.doanhthu_ngaycapnhat).Max(); DoanhThu r = db.DoanhThus.Where(x => x.doanhthu_ngaycapnhat == maxDdoanhthu).SingleOrDefault(); if (r != null) { if (dt == r.doanhthu_ngaycapnhat) { r.doanhthu_tien += O.dailydebt_soluong * s.sach_giaxuat; } else if (dt > r.doanhthu_ngaycapnhat) { r.doanhthu_tien += O.dailydebt_soluong * s.sach_giaxuat; r.doanhthu_ngaycapnhat = dt; db.DoanhThus.Add(r); } else if (dt < r.doanhthu_ngaycapnhat) { List <DoanhThu> dd = db.DoanhThus.Where(x => x.doanhthu_ngaycapnhat >= dt).ToList(); foreach (var c in dd) { r.doanhthu_tien += O.dailydebt_soluong * s.sach_giaxuat; } DoanhThu m = db.DoanhThus.Where(x => x.doanhthu_ngaycapnhat == dt).SingleOrDefault(); if (m == null) { DoanhThu v = new DoanhThu { doanhthu_tien = O.dailydebt_soluong * s.sach_giaxuat, doanhthu_ngaycapnhat = dt }; db.DoanhThus.Add(v); } } } else { DoanhThu v = new DoanhThu { doanhthu_tien = O.dailydebt_soluong * s.sach_giaxuat, doanhthu_ngaycapnhat = dt }; db.DoanhThus.Add(v); } if (n != null) { if (dt == n.dailydebttien_ngaycapnhat) { n.dailydebttien_tien -= O.dailydebt_soluong * s.sach_giaxuat; n.dailydebttien_sach -= O.dailydebt_soluong; } else if (dt > n.dailydebttien_ngaycapnhat) { n.dailydebttien_tien -= O.dailydebt_soluong * s.sach_giaxuat; n.dailydebttien_sach -= O.dailydebt_soluong; n.fk_dailyID = i; n.dailydebttien_ngaycapnhat = dt; db.DaiLyDebtTiens.Add(n); } else if (dt < n.dailydebttien_ngaycapnhat) { List <DaiLyDebtTien> dd = db.DaiLyDebtTiens.Where(x => x.fk_dailyID == i && x.dailydebttien_ngaycapnhat >= dt).ToList(); foreach (var c in dd) { c.dailydebttien_tien -= O.dailydebt_soluong * s.sach_giaxuat; c.dailydebttien_sach -= O.dailydebt_soluong; } } db.SaveChanges(); status = true; } else { status = false; } } return(new JsonResult { Data = new { status = status } }); }
public JsonResult save(NhapSachVM O) { bool status = false; if (ModelState.IsValid) { NhapSachMaster order = new NhapSachMaster { fk_nxbID = O.fk_nxbID, nhapsach_ngaygiao = O.nhapsach_ngaygiao, nhapsach_nguoigiao = O.nhapsach_nguoigiao }; foreach (var i in O.NhapSachDetails) { order.NhapSachDetails.Add(i); } db.NhapSachMasters.Add(order); foreach (var i in O.NhapSachDetails) { NXBDebt l = db.NXBDebts.SingleOrDefault(x => x.fk_sachID == i.fk_sachID && x.fk_nxbID == O.fk_nxbID); if (l != null) { l.nxbdebt_soluong += i.soluong; } else { NXBDebt k = new NXBDebt { fk_nxbID = O.fk_nxbID, fk_sachID = i.fk_sachID, nxbdebt_soluong = i.soluong, nxbdebt_banduoc = 0 }; db.NXBDebts.Add(k); } } foreach (var i in O.NhapSachDetails) { Sach w = db.Saches.SingleOrDefault(x => x.sachID == i.fk_sachID); w.sach_soluong += i.soluong; } foreach (var i in O.NhapSachDetails) { List <TonKho> la = db.TonKhoes.Where(x => x.fk_sachID == i.fk_sachID).ToList(); var maxdate1 = la.Select(x => x.tonkho_ngaycapnhat).Max(); TonKho u = db.TonKhoes.Where(s => s.fk_sachID == i.fk_sachID && s.tonkho_ngaycapnhat == maxdate1).FirstOrDefault(); if (u != null) { if (O.nhapsach_ngaygiao == u.tonkho_ngaycapnhat) { u.tonkho_soluong += i.soluong; } else if (O.nhapsach_ngaygiao > u.tonkho_ngaycapnhat) { u.tonkho_soluong += i.soluong; u.fk_sachID = i.fk_sachID; u.tonkho_ngaycapnhat = O.nhapsach_ngaygiao; db.TonKhoes.Add(u); } else if (O.nhapsach_ngaygiao < u.tonkho_ngaycapnhat) { List <TonKho> bb = db.TonKhoes.Where(x => x.fk_sachID == i.fk_sachID && x.tonkho_ngaycapnhat >= O.nhapsach_ngaygiao).ToList(); foreach (var c in bb) { c.tonkho_soluong += i.soluong; } TonKho h = db.TonKhoes.Where(x => x.fk_sachID == i.fk_sachID && x.tonkho_ngaycapnhat == O.nhapsach_ngaygiao).SingleOrDefault(); if (h == null) { TonKho a = new TonKho { fk_sachID = i.fk_sachID, tonkho_soluong = i.soluong, tonkho_ngaycapnhat = O.nhapsach_ngaygiao }; db.TonKhoes.Add(a); } } } else { TonKho p = new TonKho { fk_sachID = i.fk_sachID, tonkho_soluong = i.soluong, tonkho_ngaycapnhat = O.nhapsach_ngaygiao }; db.TonKhoes.Add(p); } } } foreach (var i in O.NhapSachDetails) { List <NXBDebtTien> li = db.NXBDebtTiens.Where(x => x.fk_nxbID == O.fk_nxbID).ToList(); var maxdate = li.Select(x => x.nxbdebttien_ngaycapnhat).Max(); NXBDebtTien n = db.NXBDebtTiens.Where(s => s.fk_nxbID == O.fk_nxbID && s.nxbdebttien_ngaycapnhat == maxdate).FirstOrDefault(); var gn = db.Saches.Where(x => x.sachID == i.fk_sachID).Select(x => x.sach_gianhap).SingleOrDefault(); if (n != null) { if (O.nhapsach_ngaygiao == n.nxbdebttien_ngaycapnhat) { n.nxbdebttien_tien += gn * i.soluong; } else if (O.nhapsach_ngaygiao > n.nxbdebttien_ngaycapnhat) { n.nxbdebttien_tien += gn * i.soluong; n.fk_nxbID = O.fk_nxbID; n.nxbdebttien_ngaycapnhat = O.nhapsach_ngaygiao; db.NXBDebtTiens.Add(n); } else if (O.nhapsach_ngaygiao < n.nxbdebttien_ngaycapnhat) { List <NXBDebtTien> dd = db.NXBDebtTiens.Where(x => x.fk_nxbID == O.fk_nxbID && x.nxbdebttien_ngaycapnhat >= O.nhapsach_ngaygiao).ToList(); foreach (var c in dd) { c.nxbdebttien_tien += gn * i.soluong; } NXBDebtTien m = db.NXBDebtTiens.Where(x => x.fk_nxbID == O.fk_nxbID && x.nxbdebttien_ngaycapnhat == O.nhapsach_ngaygiao).SingleOrDefault(); if (m == null) { NXBDebtTien v = new NXBDebtTien { fk_nxbID = O.fk_nxbID, nxbdebttien_tien = gn, nxbdebttien_ngaycapnhat = O.nhapsach_ngaygiao }; db.NXBDebtTiens.Add(v); } } } else { NXBDebtTien q = new NXBDebtTien { fk_nxbID = O.fk_nxbID, nxbdebttien_tien = gn * i.soluong, nxbdebttien_ngaycapnhat = O.nhapsach_ngaygiao }; db.NXBDebtTiens.Add(q); } } db.SaveChanges(); status = true; return(new JsonResult { Data = new { status = status } }); }