public ActionResult Create([Bind(Include = "idnxb,tennxb,diachi,sodt,sotk")] nxb nxb) { if (ModelState.IsValid) { foreach (nxb n in db.nxbs) { if (n.tennxb == nxb.tennxb) { ModelState.AddModelError("", "Nhà xuất bản đã tồn tại"); return(View()); } } sotienphaitrachonxb a = new sotienphaitrachonxb(); a.idnxb = nxb.idnxb; a.sotienphaitra = 0; a.thoidiem = DateTime.Now; db.sotienphaitrachonxbs.Add(a); db.nxbs.Add(nxb); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(nxb)); }
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)); }