// GET: phieuxuats/Details/5 public ActionResult Details(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } phieuxuat phieuxuat = db.phieuxuats.Find(id); if (phieuxuat == null) { return HttpNotFound(); } phieuxuatVM phieuxuatVM = new phieuxuatVM(); phieuxuatVM.phieuxuat = phieuxuat; var ctphieuxuats = db.ctphieuxuats.Include(p => p.phieuxuat).Where(s => s.maso == id); phieuxuatVM.ctphieuxuat = ctphieuxuats.ToList(); phieuxuatVM.daily = db.dailies.Find(phieuxuatVM.phieuxuat.madl); return View(phieuxuatVM); }
public ActionResult Phieuxuat(phieuxuatVM p) { try { if (string.IsNullOrEmpty(p.phieuxuat.nguoinhan.Trim())) ModelState.AddModelError("phieuxuat.nguoinhan", "Người nhận không được để trống"); if (string.IsNullOrEmpty(p.daily.madl.Trim())) ModelState.AddModelError("daily.madl", "Mã đại lý không được để trống"); if (string.IsNullOrEmpty(p.daily.tendl.Trim())) ModelState.AddModelError("daily.tendl", "Tên đại lý không được để trống"); if (string.IsNullOrEmpty(p.daily.sdt.Trim())) ModelState.AddModelError("daily.sdt", "Số điện thoại không được để trống"); if (string.IsNullOrEmpty(p.daily.dchi.Trim())) ModelState.AddModelError("daily.dchi", "Địa chỉ không được để trống"); if (p.ctphieuxuat == null) ModelState.AddModelError("ctphieuxuat", "Không có dữ liệu để nhập"); foreach (var i in p.ctphieuxuat) { ctphieunhap temp = db.ctphieunhaps.FirstOrDefault<ctphieunhap>(ct => (ct.masach == i.masach) && (ct.maso == i.maphieunhap)); if ((i.gia < temp.gia)||(i.soluong>temp.ton)) { ModelState.AddModelError("ctphieuxuat", "Mã sách "+temp.masach+" phải có số lượng nhỏ hơn "+temp.ton+",giá lớn hơn "+temp.gia); } } if (ModelState.IsValid) { ///daily daily _daily = db.dailies.FirstOrDefault<daily>(daily => daily.madl == p.daily.madl.Trim()); if (_daily == null) { _daily = new daily { madl = p.daily.madl.Trim(), tendl = p.daily.tendl.Trim(), sdt = p.daily.sdt.Trim(), dchi = p.daily.dchi.Trim(), tonkho = p.daily.tonkho }; db.dailies.Add(_daily); } else { _daily.tendl = p.daily.tendl.Trim(); _daily.sdt = p.daily.sdt.Trim(); _daily.dchi = p.daily.dchi.Trim(); _daily.tonkho = p.daily.tonkho + _daily.tonkho; db.Entry(_daily).State = System.Data.Entity.EntityState.Modified; } ///phieuxuat phieuxuat _phieuxuat = new phieuxuat { maso = p.phieuxuat.maso.Trim(), madl = p.phieuxuat.madl.Trim(), nguoinhan = p.phieuxuat.nguoinhan.Trim(), tgian = p.phieuxuat.tgian, tongtien = p.phieuxuat.tongtien }; db.phieuxuats.Add(_phieuxuat); foreach (var j in p.ctphieuxuat) { j.tienno = j.thanhtien; db.ctphieuxuats.Add(j); ctphieunhap _ct = db.ctphieunhaps.FirstOrDefault<ctphieunhap>(ct => (ct.masach == j.masach) && (ct.maso == j.maphieunhap)); _ct.ton = _ct.ton - j.soluong; db.Entry(_ct).State = System.Data.Entity.EntityState.Modified; sach _sach = db.saches.FirstOrDefault<sach>(sach=>sach.masach==j.masach); _sach.sluong = _sach.sluong - j.soluong; db.Entry(_sach).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); return RedirectToAction("Success"); } ViewBag.maso = DateTime.Now.ToString("yyyMMddhhmm"); ViewBag.tgian = DateTime.Now.ToShortDateString(); ViewBag.linhvuc = new SelectList(db.linhvucs, "malv", "tenlv"); ViewBag.masach = from ct in db.ctphieunhaps join s in db.saches on ct.masach equals s.masach select new SelectListItem { Text = s.tensach, Value = ct.masach + "|" + ct.maso + "|" + ct.gia }; return View(p); } catch (Exception e) { return RedirectToAction("Error"); } }