public ActionResult Grid(int ID = 0) { ViewBag.ID = ID; using (Models.VTEntities db = new Models.VTEntities()) { updateSoTien(ID); var data = db.SalesOrders.Where(z => z.SalesOrderId == ID).FirstOrDefault(); if (data == null) { return(RedirectToAction("index", "SalesOrder")); } ViewBag.SalesTypeId = db.SalesTypes.Where(z => z.SalesTypeId == data.SalesTypeId).Select(z => z.SalesTypeName).FirstOrDefault(); ViewBag.CustomerId = db.Customers.Where(z => z.CustomerId == data.CustomerId).Select(z => z.CustomerName).FirstOrDefault(); ViewBag.SalesOrderLines = db.SalesOrderLines.Where(z => z.SalesOrderId == data.SalesOrderId).ToList(); var LDaThanhToan = db.PaymentReceives.Where(z => z.SalesOrderId == ID).ToList(); Double DaThanhToan = 0; if (LDaThanhToan.Count != 0) { DaThanhToan = LDaThanhToan.Sum(z => z.PaymentAmount); } ViewBag.ConLai = (data.Total - DaThanhToan).ToString("#,###"); ViewBag.DaThanhToan = DaThanhToan.ToString("#,###"); ViewBag.CongNo = db.Database.SqlQuery <Double>("select isnull(Total-PaymentAmount,0) AS CongNo from SalesOrder as t1 left join (select SalesOrderId,SUM(PaymentAmount) AS PaymentAmount from PaymentReceive WHERE PaymentAmount>0 group by SalesOrderId ) as t2 on t1.SalesOrderId = t2.SalesOrderId where CustomerId = " + data.CustomerId + " and T1.SalesOrderId != " + data.SalesOrderId + " ").FirstOrDefault().ToString("#,###"); ViewBag.ConLai = (ViewBag.ConLai == "" ? "0" : ViewBag.ConLai); ViewBag.DaThanhToan = (ViewBag.DaThanhToan == "" ? "0" : ViewBag.DaThanhToan); ViewBag.CongNo = (ViewBag.CongNo == "" ? "0" : ViewBag.CongNo); return(PartialView(data)); } }
public ActionResult NhanThanhToan(PaymentReceive item) { using (Models.VTEntities db = new Models.VTEntities()) { item.PaymentDate = DateTime.Now; db.PaymentReceives.Add(item); db.SaveChanges(); } return(Json("", JsonRequestBehavior.AllowGet)); }
public ActionResult Delete(int ID) { using (Models.VTEntities db = new Models.VTEntities()) { var item = db.SalesOrderLines.Where(z => z.SalesOrderLineId == ID).FirstOrDefault(); ID = item.SalesOrderId; db.SalesOrderLines.Remove(item); db.SaveChanges(); updateSoTien(ID); } return(Json("", JsonRequestBehavior.AllowGet)); }
public void updateSoTien(int ID = 0) { using (Models.VTEntities db = new Models.VTEntities()) { var data = db.SalesOrderLines.AsNoTracking().Where(z => z.SalesOrderId == ID).ToList(); var item = db.SalesOrders.Where(z => z.SalesOrderId == ID).FirstOrDefault(); item.Amount = data.Sum(Z => Z.Price); item.Discount = data.Where(Z => Z.DiscountAmount.HasValue).Sum(Z => Z.Amount / 100 * Z.DiscountAmount.Value); item.SubTotal = data.Where(Z => Z.SubTotal.HasValue).Sum(Z => Z.SubTotal.Value); item.Tax = data.Where(Z => Z.TaxAmount.HasValue).Sum(Z => Z.Amount / 100 * Z.TaxAmount.Value); item.Total = item.Amount - item.Discount + item.SubTotal + item.Tax; db.SaveChanges(); } }
public ActionResult Create(int ID = 0, int SalesOrderId = 0) { ViewBag.ID = ID; using (Models.VTEntities db = new Models.VTEntities()) { db.Configuration.ProxyCreationEnabled = false; var data = db.SalesOrderLines.AsNoTracking().Where(z => z.SalesOrderLineId == ID).FirstOrDefault(); if (data == null) { data = new Models.SalesOrderLine(); data.SalesOrderId = SalesOrderId; } var jsonSettings = new JsonSerializerSettings(); jsonSettings.DateFormatString = "yyyy-MM-dd"; ViewBag.item = JsonConvert.SerializeObject(data, jsonSettings); } return(PartialView()); }
public ActionResult Create(SalesOrderLine item) { using (Models.VTEntities db = new Models.VTEntities()) { if (item.SalesOrderLineId == 0) { item.DateUpdate = DateTime.Now; db.SalesOrderLines.Add(item); } else { var data = db.SalesOrderLines.Where(z => z.SalesOrderLineId == item.SalesOrderLineId).FirstOrDefault(); data.Quantity = item.Quantity; data.Price = item.Price; data.TaxAmount = item.TaxAmount; data.DiscountAmount = item.DiscountAmount; data.Total = item.Total; data.SubTotal = item.SubTotal; } db.SaveChanges(); } return(Json("", JsonRequestBehavior.AllowGet)); }