private void edittratien(int iddmsdb) { decimal tongtien = 0; danhmucsachdaban dm = db.danhmucsachdabans.Find(iddmsdb); var ctdmsdb = dm.ctdmsdbs.Where(o => o.iddmsdb == dm.iddmsdb); dm.sotiendathanhtoan = db.ctdmsdbs.Where(ct => ct.iddmsdb == iddmsdb).Select(ct => ct.soluong * ct.sach.giaxuat).DefaultIfEmpty(0).Sum(); dm.sotienconno = 0; dm.tinhtrang = "Completed"; foreach (ctdmsdb ct in ctdmsdb) { tongtien += (decimal)(ct.soluong * ct.sach.giaxuat); } congnotheothoigian cn = new congnotheothoigian(); cn.thoidiem = (DateTime)dm.thoigian; congnotheothoigian cnht = db.congnotheothoigians.OrderByDescending(o => o.id).FirstOrDefault(o => o.iddl == dm.iddl); if (cnht.congno != null) { cn.iddl = dm.iddl; cn.congno = cnht.congno - tongtien; db.congnotheothoigians.Add(cn); } else { cn.iddl = dm.iddl; cn.congno = tongtien; db.congnotheothoigians.Add(cn); } db.SaveChanges(); }
public ActionResult Create([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban, [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb) { danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel(); if (ModelState.IsValid) { danhmucsachdaban.tinhtrang = "Waiting"; danhmucsachdaban.sotiendathanhtoan = 0; int iddmsdb = 1; if (db.danhmucsachdaban.Any()) { iddmsdb = db.danhmucsachdaban.Max(o => o.iddmsdb) + 1; } int idct = 1; decimal tongtien = 0; foreach (ctdmsdb ct in ctdmsdb) { ct.iddmsdb = iddmsdb; ct.idctdmsdb = idct; idct++; hangtoncuadaily htdl = db.hangtoncuadaily.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach); //kiem tra xem so luong sach đã bán có lớn hơn số lượng sách xuất cho dai ly do if (htdl != null && htdl.soluongchuaban >= ct.soluong) { htdl.soluongchuaban = htdl.soluongchuaban - ct.soluong; db.Entry(htdl).State = EntityState.Modified; } else { ModelState.AddModelError("", "số sách đã bán lớn hơn số sách xuất cho đại lý"); ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach"); ViewBag.iddl = new SelectList(db.daily, "iddl", "tendl", danhmucsachdaban.iddl); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } tongtien += (decimal)(ct.soluong * htdl.sach.giaxuat); //tim nxb cua cuon sach da duoc ban nay sach s = db.sach.Find(ct.idsach); nxb n = db.nxb.Find(s.idnxb); n.sotienphaitra += ct.soluong * s.gianhap; } danhmucsachdaban.sotienconno = tongtien; danhmucsachdaban.ctdmsdb = ctdmsdb; db.danhmucsachdaban.Add(danhmucsachdaban); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach"); ViewBag.iddl = new SelectList(db.daily, "iddl", "tendl", danhmucsachdaban.iddl); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); }
private void edittratien(int iddmsdb) { danhmucsachdaban dm = db.danhmucsachdaban.Find(iddmsdb); dm.sotiendathanhtoan = db.ctdmsdb.Where(ct => ct.iddmsdb == iddmsdb).Select(ct => ct.soluong * ct.sach.giaxuat).DefaultIfEmpty(0).Sum(); dm.sotienconno = 0; dm.tinhtrang = "Completed"; daily dl = db.daily.Find(dm.iddl); dl.congno -= dm.sotiendathanhtoan; db.SaveChanges(); }
// GET: danhmucsachdabans/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } danhmucsachdaban danhmucsachdaban = db.danhmucsachdaban.Find(id); if (danhmucsachdaban == null) { return(HttpNotFound()); } return(View(danhmucsachdaban)); }
// GET: danhmucsachdabans/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } danhmucsachdaban danhmucsachdaban = db.danhmucsachdabans.Find(id); if (danhmucsachdaban == null) { return(HttpNotFound()); } ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel(); ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); }
public ActionResult Edit([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban, [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb) { ViewBag.iddl = new SelectList(db.daily, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach"); danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel(); if (ModelState.IsValid) { int iddmsdb = danhmucsachdaban.iddmsdb; int idct = 1; //xoa chi tiet cu trong database table hangtoncuadaily var ctcudmsdb = db.ctdmsdb.Where(o => o.iddmsdb == danhmucsachdaban.iddmsdb); foreach (ctdmsdb ct in ctcudmsdb) { hangtoncuadaily ht = db.hangtoncuadaily.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach); int hangtondaily = (int)(ht.soluongchuaban + ct.soluong); } decimal tongtien = 0; //thêm chi tiết sửa vào database table hangtoncuadaily foreach (ctdmsdb ct in ctdmsdb) { ct.iddmsdb = iddmsdb; ct.idctdmsdb = idct; idct++; hangtoncuadaily ht = db.hangtoncuadaily.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach); ht.soluongchuaban = (int)(ht.soluongchuaban - ct.soluong); if (ht.soluongchuaban < 0) { danhmucsachdaban.ctdmsdb = ctdmsdb; dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } sach s = db.sach.Find(ct.idsach); nxb n = db.nxb.Find(s.idnxb); n.sotienphaitra += ct.soluong * s.gianhap; tongtien += (decimal)(ct.soluong * s.giaxuat); } foreach (ctdmsdb ct in ctcudmsdb) { nxb n = db.nxb.Find(ct.sach.idnxb); n.sotienphaitra -= ct.soluong * ct.sach.gianhap; if (n.sotienphaitra < 0) { danhmucsachdaban.ctdmsdb = ctdmsdb; dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } db.ctdmsdb.Remove(ct); } foreach (ctdmsdb ct in ctdmsdb) { db.ctdmsdb.Add(ct); } danhmucsachdaban.sotienconno = tongtien; danhmucsachdaban.sotiendathanhtoan = 0; danhmucsachdaban.tinhtrang = "Waiting"; db.Entry(danhmucsachdaban).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } danhmucsachdaban.ctdmsdb = ctdmsdb; dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); }
public ActionResult Create([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban, [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb) { danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel(); if (ModelState.IsValid) { danhmucsachdaban.tinhtrang = "Waiting"; danhmucsachdaban.sotiendathanhtoan = 0; decimal tongtien = 0; decimal tongtienbanduoc = 0; int iddm = 1; if (db.danhmucsachdabans.Any()) { iddm = db.danhmucsachdabans.Max(a => a.iddmsdb) + 1; } int idct = 1; foreach (ctdmsdb ct in ctdmsdb) { ct.iddmsdb = iddm; ct.idctdmsdb = idct; idct++; hangtoncuadaily htdl = db.hangtoncuadailies.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach); if (htdl == null) { ModelState.AddModelError("", "Không tìm thấy hàng tồn . Chọn sai đại lý hoặc là chọn sai tên sách ở chi tiết"); ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } if (htdl != null && htdl.soluongchuaban >= ct.soluong) { htdl.soluongchuaban = htdl.soluongchuaban - ct.soluong; db.Entry(htdl).State = EntityState.Modified; } else { ModelState.AddModelError("", "Số lượng sách đã bán lớn hơn số sách xuất cho đại lý"); ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } tongtien += (decimal)(ct.soluong * db.saches.Find(ct.idsach).giaxuat); //cập nhật số tiền phải tra cho nhà xuất bản sach s = db.saches.Find(ct.idsach); System.Diagnostics.Debug.WriteLine("Id sách " + ct.idsach); nxb n = db.nxbs.Find(s.idnxb); System.Diagnostics.Debug.WriteLine("Id nhà xuất bản : " + n.idnxb); System.Diagnostics.Debug.WriteLine("Nhà xuất bản : " + n.tennxb); sotienphaitrachonxb st = new sotienphaitrachonxb(); st.thoidiem = (DateTime)danhmucsachdaban.thoigian; sotienphaitrachonxb stht = db.sotienphaitrachonxbs.OrderByDescending(o => o.id).FirstOrDefault(o => o.idnxb == n.idnxb); System.Diagnostics.Debug.WriteLine("Id nhà xuất bản sau khi lấy : " + stht.idnxb); System.Diagnostics.Debug.WriteLine("Số tiền phải trả cho nhà xuất bản : " + stht.sotienphaitra); tongtienbanduoc = (decimal)(ct.soluong * s.gianhap); System.Diagnostics.Debug.WriteLine(tongtienbanduoc); if (stht != null) { st.idnxb = n.idnxb; st.sotienphaitra = (ct.soluong * s.gianhap); System.Diagnostics.Debug.WriteLine("Đây là số tiền phải trả : " + st.sotienphaitra); db.sotienphaitrachonxbs.Add(st); } else { ModelState.AddModelError("", "Không lấy được số tiền phải trả cho nhà xuất bản"); ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } } /*congnotheothoigian cn = new congnotheothoigian(); * cn.thoidiem = (DateTime)danhmucsachdaban.thoigian; * congnotheothoigian cnht = db.congnotheothoigians.OrderByDescending(o => o.id).FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl); * if(cnht.congno!=null) * { * cn.iddl = danhmucsachdaban.iddl; * cn.congno = cnht.congno - tongtien; * db.congnotheothoigians.Add(cn); * } * else * { * cn.iddl = danhmucsachdaban.iddl; * cn.congno = tongtien; * db.congnotheothoigians.Add(cn); * } */ danhmucsachdaban.sotienconno = tongtien; danhmucsachdaban.ctdmsdbs = ctdmsdb; db.danhmucsachdabans.Add(danhmucsachdaban); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); }
public ActionResult Edit([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban, [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb) { ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel(); if (ModelState.IsValid) { decimal tongtien = 0; decimal tongtienmoi = 0; int iddmsdb = danhmucsachdaban.iddmsdb; int idct = 1; //xoa chi tiet cu trong database table hangtoncuadaily var ctcudmsdb = db.ctdmsdbs.Where(o => o.iddmsdb == danhmucsachdaban.iddmsdb); foreach (ctdmsdb ct in ctcudmsdb) { hangtoncuadaily ht = db.hangtoncuadailies.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach); int hangtondaily = (int)(ht.soluongchuaban + ct.soluong); ht.soluongchuaban = hangtondaily; db.Entry(ht).State = EntityState.Modified; System.Diagnostics.Debug.WriteLine("Hàng tồn đại lý return : " + hangtondaily); } //thêm chi tiết sửa vào database table hangtoncuadaily foreach (ctdmsdb ct in ctdmsdb) { ct.iddmsdb = iddmsdb; ct.idctdmsdb = idct; idct++; hangtoncuadaily ht = db.hangtoncuadailies.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach); ht.soluongchuaban = (int)(ht.soluongchuaban - ct.soluong); if (ht.soluongchuaban < 0) { ModelState.AddModelError("", "Hàng tồn của đại lý sau khi sửa bé hơn 0"); danhmucsachdaban.ctdmsdbs = ctdmsdb; dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } sach s = db.saches.Find(ct.idsach); nxb n = db.nxbs.Find(s.idnxb); sotienphaitrachonxb st = new sotienphaitrachonxb(); st.thoidiem = (DateTime)danhmucsachdaban.thoigian; sotienphaitrachonxb stht = db.sotienphaitrachonxbs.OrderByDescending(o => o.id).FirstOrDefault(o => o.idnxb == n.idnxb); if (stht != null) { st.idnxb = n.idnxb; st.sotienphaitra = (ct.soluong * s.gianhap); db.sotienphaitrachonxbs.Add(st); } else { ModelState.AddModelError("", "Không lấy được số tiền phải trả cho nhà xuất bản"); ViewBag.iddl = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl); ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach"); dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } tongtien += (decimal)(ct.soluong * s.giaxuat); } foreach (ctdmsdb ct in ctcudmsdb) { nxb n = db.nxbs.Find(ct.sach.idnxb); sotienphaitrachonxb stht = db.sotienphaitrachonxbs.OrderByDescending(o => o.id).FirstOrDefault(o => o.idnxb == n.idnxb); tongtienmoi = (decimal)(stht.sotienphaitra - (ct.soluong * ct.sach.gianhap)); System.Diagnostics.Debug.WriteLine("Số tiền phải trả cũ là : " + stht.sotienphaitra); System.Diagnostics.Debug.WriteLine("số tiền phải trả mới là : " + tongtienmoi); if (tongtienmoi < 0) { ModelState.AddModelError("", "Tổng tiền sau khi sửa nhỏ hơn 0 "); danhmucsachdaban.ctdmsdbs = ctdmsdb; dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); } db.ctdmsdbs.Remove(ct); } foreach (ctdmsdb ct in ctdmsdb) { db.ctdmsdbs.Add(ct); } danhmucsachdaban.sotienconno = tongtien; danhmucsachdaban.sotiendathanhtoan = 0; danhmucsachdaban.tinhtrang = "Waiting"; db.Entry(danhmucsachdaban).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } danhmucsachdaban.ctdmsdbs = ctdmsdb; dmvm.danhmucsachdaban = danhmucsachdaban; return(View(dmvm)); }