public ActionResult AddToCart(ZZOrderInfo orderInfo) { var orderId = BS.AddToCart(orderInfo); return(new JsonResult() { Data = orderId }); }
public Guid AddToCart(ZZOrderInfo orderInfo) { var unitPrice = 0m; using (var db = GetDbContext()) { var xx = (from d in db.ZZ_Desgin join t in db.ZZ_Template on d.TemplateId equals t.TemplateId join c in db.ZZ_Category on t.Category equals c.CategoryId where d.DesginId == orderInfo.DesignId select c).FirstOrDefault(); if (xx == null) { throw new Exception("Invalid Order"); } unitPrice = xx.UnitPrice; } var o = new ZZ_Order(); o.OrderId = Guid.NewGuid(); o.OrderStatus = (int)ZZOrderStatus.Draft; o.DesignId = orderInfo.DesignId; o.CustomerId = orderInfo.CustomerId; o.Color = orderInfo.Color; o.Quiantity = orderInfo.Quiantity; o.TotalAmount = orderInfo.Quiantity * unitPrice; using (var uow = GetUnitOfWork()) { var s = GetCurrentSeq("TrackingNo"); s.Seq += 1; o.TrackingNumber = BuildTrackingNo(s); uow.Repository <T_S_Sequence>().Update(s); uow.Repository <ZZ_Order>().Insert(o); InsertOrderStatusHistory(uow, o.OrderId, (int)ZZOrderStatus.Draft); uow.Save(); } return(o.OrderId); }