private ActionResult ViewDetail(TblSaleOrder ob, string msg, AlertMsgType?msgType) { try { if (ob == null) { throw new Exception("ไม่พบข้อมูลที่ต้องการ, กรุณาลองใหม่อีกครั้ง"); } if (!string.IsNullOrWhiteSpace(msg)) { WidgetAlertModel alert = new WidgetAlertModel() { Message = msg }; if (msgType.HasValue) { alert.Type = msgType.Value; } ViewBag.Alert = alert; } return(View(ob)); } catch (Exception ex) { return(RedirectToAction("Index", MVCController, new { area = MVCArea, msg = ex.GetMessage(), msgType = AlertMsgType.Danger })); } }
public JsonResult GetDetail(int?id, string msg, AlertMsgType?msgType) { TblSaleOrder ob = uow.Modules.SaleOrder.GetFull(id ?? 0); var js = new JavaScriptSerializer(); return(Json(ob, JsonRequestBehavior.AllowGet)); }
public ActionResult saveDiscount() { int qid = Request.Form["SaleOrderId"].ParseInt(); TblSaleOrder ob = uow.Modules.SaleOrder.Get(qid); ob.DiscountCash = Request.Form["DiscountCash"].ParseDecimal(); uow.Modules.SaleOrder.Set(ob); uow.SaveChanges(); return(RedirectToAction("Detail", MVCController, new { id = qid, tab = "Product", msg = "", msgType = AlertMsgType.Success })); }
public IHttpActionResult GetDetail(int?id) { uow = new UnitOfWork(SystemHelper.GetConfigurationKey(ConfigKey.CONNECTION_DB)); TblSaleOrder ob = uow.Modules.SaleOrder.GetFull(id ?? 0); // ob.TblSaleOrderDetail = uow.Modules.SaleOrderDetail.Gets(id ?? 0); // TblCustomer objCustomer = uow.Modules.Customer.Get(Convert.ToInt32(ob.CustomerId)); var js = new JavaScriptSerializer(); return(Json(ob)); }
public JsonResult GetSaleOrderById(int id) { TblSaleOrder saleOrder = uow.Modules.SaleOrder.GetFull(id); //saleOrder.Customer = uow.Modules.Customer.GetByCondition(saleOrder.CustomerId.Value); // saleOrder.Sale = uow.Modules.Employee.GetByCondition(saleOrder.SaleId.Value); // TblCustomer objCustomer = uow.Modules.Customer.Get(Convert.ToInt32(ob.CustomerId)); return(Json(saleOrder, JsonRequestBehavior.AllowGet)); }
private ActionResult ViewDetail(TblJobOrder ob, string msg, AlertMsgType?msgType) { try { TblSaleOrder saleOrder = null; TblCustomer customer = null; if (ob == null) { throw new Exception("ไม่พบข้อมูลที่ต้องการ, กรุณาลองใหม่อีกครั้ง"); } if (!string.IsNullOrWhiteSpace(msg)) { WidgetAlertModel alert = new WidgetAlertModel() { Message = msg }; if (msgType.HasValue) { alert.Type = msgType.Value; } ViewBag.Alert = alert; } AccountPermission permission = new AccountPermission(); permission = GetPermissionSale(CurrentUID, ob.CreatedBy.HasValue ? ob.CreatedBy.Value : 0); ViewData["JobOrderDetail"] = uow.Modules.JobOrder.Gets(); ViewData["SysCategoryDetail"] = uow.Modules.SysCategory.Gets(); ViewData["SaleorderDetail"] = uow.Modules.SaleOrder.Gets(); ViewData["Saleorder"] = saleOrder = uow.Modules.SaleOrder.Get(ob.SaleOrderId.HasValue ? ob.SaleOrderId.Value : -1); ViewData["TeamOperation"] = uow.Modules.TeamOperation.Gets(); ViewData["optCustomer"] = customer = uow.Modules.Customer.Get(saleOrder.CustomerId.HasValue ? saleOrder.CustomerId.Value : -1); ViewData["optProduct"] = uow.Modules.Product.Gets().Where(o => o.CategoryId == 1).ToList(); ViewData["optAttachment"] = uow.Modules.SaleOrderAttachment.Gets(ob.SaleOrderId.HasValue ? ob.SaleOrderId.Value : -1); // ViewData["optCustomerAddress"] = uow.Modules.CustomerAddress.Get(customer.addHasValue ? saleOrder.CustomerId.Value : -1); ViewData["optPermission"] = permission; return(View(ob)); } catch (Exception ex) { return(RedirectToAction("Index", MVCController, new { area = MVCArea, msg = ex.GetMessage(), msgType = AlertMsgType.Danger })); } }
private ActionResult ViewDetail(TblSaleOrder ob, string msg, AlertMsgType?msgType) { try { if (ob == null) { throw new Exception("ไม่พบข้อมูลที่ต้องการ, กรุณาลองใหม่อีกครั้ง"); } if (!string.IsNullOrWhiteSpace(msg)) { WidgetAlertModel alert = new WidgetAlertModel() { Message = msg }; if (msgType.HasValue) { alert.Type = msgType.Value; } ViewBag.Alert = alert; } ViewData["optSoDetail"] = uow.Modules.SaleOrderDetail.Gets(ob.SaleOrderId); ViewData["optQuotation"] = uow.Modules.Quotation.Gets() .Where(q => q.StatusId == 3) .ToList(); ViewData["optCustomer"] = uow.Modules.Customer.GetAllAddress(); ViewData["optCustomerAddress"] = uow.Modules.CustomerAddress.Gets(); ViewData["optProduct"] = uow.Modules.Product.Gets(); ViewData["optContact"] = uow.Modules.CustomerContact.Gets(); ViewData["optEmployee"] = uow.Modules.Employee.Gets(); ViewData["optPayment"] = uow.Modules.PaymentCondition.Gets(); ViewData["optAttachment"] = uow.Modules.SaleOrderAttachment.Gets(ob.SaleOrderId); return(View(ob)); } catch (Exception ex) { return(RedirectToAction("Index", MVCController, new { area = MVCArea, msg = ex.GetMessage(), msgType = AlertMsgType.Danger })); } }
//[Authorized] public ActionResult Delete() { try { int id = Request.Form["SaleOrderId"].ParseInt(); TblSaleOrder ob = uow.Modules.SaleOrder.Get(id); if (ob == null) { return(RedirectToAction("Index", MVCController, new { msg = "ไม่พบข้อมูลที่ต้องการ", msgType = AlertMsgType.Warning })); } uow.Modules.SaleOrder.Delete(ob); uow.SaveChanges(); return(RedirectToAction("Index", MVCController, new { msg = "ลบข้อมูลเรียบร้อยแล้ว", msgType = AlertMsgType.Success })); } catch (Exception ex) { return(RedirectToAction("Index", MVCController, new { msg = ex.GetMessage(), msgType = AlertMsgType.Danger })); } }
public void ReplaceVersion(TblQuotationTemplate ob) { string sql = "sp_TblQuotation_Version_ReplaceTemplate"; List <SqlParameter> paramList = new List <SqlParameter>(); List <TblSaleOrder> list = new List <TblSaleOrder>(); TblSaleOrder dto = null; SqlDataReader reader = null; SqlCommand sqlCommand = null; int result = 0; try { webdb.OpenConnection(); paramList.Add(new SqlParameter("@QuotationId", ob.QuotationId)); paramList.Add(new SqlParameter("@TempQuotationId", ob.TempQuotationId)); //connect.Open(); sqlCommand = new SqlCommand(); sqlCommand.CommandText = sql; sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.Connection = webdb.Connection; sqlCommand.Parameters.AddRange(paramList.ToArray()); result = sqlCommand.ExecuteNonQuery(); } catch (Exception ex) { throw new Exception(ex.ToString()); } finally { if (webdb.Connection.State == ConnectionState.Open) { webdb.CloseConnection(); } } }
public ActionResult Detail(int?id, string msg, AlertMsgType?msgType) { TblSaleOrder ob = uow.Modules.SaleOrder.Get(id ?? 0); return(ViewDetail(ob, msg, msgType)); }
public ActionResult SetDetail() { int id = Request.Form["SaleOrderId"].ParseInt(); TblSaleOrder ob = uow.Modules.SaleOrder.Get(id); if (ob.SaleOrderId <= 0) { string pre = Request.Form["SaleOrderPreNo"]; ob.SaleOrderNo = genSaleOrderId(pre); ob.CreatedBy = CurrentUID; ob.UpdatedBy = CurrentUID; ob.CreatedDate = CurrentDate; ob.UpdateDate = CurrentDate; ob.SaleOrderDate = CurrentDate; } else { ob.UpdatedBy = CurrentUID; ob.UpdateDate = CurrentDate; } ob.QuotationNo = Request.Form["selQuotationNo"]; ob.SaleId = Request.Form["SaleId"] != null ? Request.Form["SaleId"].ParseInt() : 0; ob.SaleName = Request.Form["SaleName"]; if (Request.Form["DeliveryDate"].ToString().Count() > 0) { var dd = Request.Form["DeliveryDate"].Split(' ')[0] + " 00:00:00"; ob.DeliveryDate = dd.ParseDate(DateFormat.ddMMyyyyHHmmss); } ob.CustomerId = Request.Form["CustomerId"].ParseInt(); ob.CustomerName = Request.Form["CustomerName"]; ob.ContractName = Request.Form["ContractName"]; ob.BillingAddress = Request.Form["BillingAddress"]; ob.ShippingAddress = Request.Form["ShippingAddress"]; ob.SaleOrderRemark = Request.Form["SaleOrderRemark"]; if (Request.Form["DiscountCash"] != null) { ob.DiscountCash = decimal.Parse(Request.Form["DiscountCash"]); } ob.SaleOrderCreditDay = Request.Form["SaleOrderCreditDay"].ParseInt(); ob.StatusId = Request.Form["StatusId"].ParseInt(); ob.ConditionId = Request.Form["ConditionId"].ParseInt(); try { uow.Modules.SaleOrder.Set(ob); uow.SaveChanges(); return(RedirectToAction("Detail", MVCController, new { id = ob.SaleOrderId, msg = "บันทึกข้อมูลเรียบร้อยแล้ว", msgType = AlertMsgType.Success })); } catch (Exception ex) { string msg = ex.GetMessage(true); return(ViewDetail(ob, msg, AlertMsgType.Danger)); } }
public ActionResult QT2SO() { int sid = 0; if (string.IsNullOrEmpty(Request.Form["lbSaleOrderId"])) { sid = Request.Form["lbSaleOrderId"].ParseInt(); } else { TblSaleOrder ob = uow.Modules.SaleOrder.Get(sid); string pre = Request.Form["lbPreSONo"]; ob.SaleOrderNo = genSaleOrderId(pre); ob.CreatedBy = CurrentUID; ob.UpdatedBy = CurrentUID; ob.CreatedDate = CurrentDate; ob.UpdateDate = CurrentDate; ob.SaleOrderDate = CurrentDate; ob.CustomerId = 1; ob.SaleId = 1; ob.StatusId = 1; ob.ConditionId = 1; uow.Modules.SaleOrder.Set(ob); uow.SaveChanges(); sid = ob.SaleOrderId; } if (sid > 0) { string qno = Request.Form["lbQuotationId"]; TblSaleOrder so = uow.Modules.SaleOrder.Get(sid); var qid = uow.Modules.Quotation.GetId(qno); TblQuotation qt = uow.Modules.Quotation.Get(qid); List <TblQuotationDetail> qtd = uow.Modules.QuotationDetail.Gets(qid) .OrderBy(c => c.Id).ToList(); // clear saleorderdetail uow.Modules.SaleOrderDetail.DeleteId(sid); // uow.SaveChanges(); // set QT to SO so.QuotationNo = qno; so.CustomerId = qt.CustomerId; so.CustomerName = qt.CustomerName; so.ContractName = qt.ContractName; so.SaleId = qt.SaleId; so.SaleName = qt.SaleName; so.BillingAddress = qt.BillingAddress; so.ShippingAddress = qt.ShippingAddress; so.SaleOrderRemark = qt.QuotationRemark; so.SubTotalNet = qt.SubTotalNet; so.SubTotalTot = qt.SubTotalTot; so.SubTotalVat = qt.SubTotalVat; so.DiscountCash = qt.DiscountCash; so.DiscountNet = qt.DiscountNet; so.DiscountTot = qt.DiscountTot; so.DiscountVat = qt.DiscountVat; so.SummaryNet = qt.SummaryNet; so.SummaryTot = qt.SummaryTot; so.SummaryVat = qt.SummaryVat; uow.Modules.SaleOrder.Set(so); // uow.SaveChanges(); //Add QT detail to SO detail if (qtd.Count() > 0) { qtd.ForEach(dt => { TblSaleOrderDetail sod = uow.Modules.SaleOrderDetail.Get(0); sod.SaleOrderId = sid; sod.ProductId = dt.ProductId; sod.Quantity = dt.Quantity; sod.PriceNet = dt.PriceNet; sod.PriceVat = dt.PriceVat; sod.PriceTot = dt.PriceTot; sod.DiscountNet = dt.DiscountNet; sod.DiscountTot = dt.DiscountTot; sod.DiscountVat = dt.DiscountVat; sod.TotalNet = dt.TotalNet; sod.TotalTot = dt.TotalTot; sod.TotalVat = dt.TotalVat; uow.Modules.SaleOrderDetail.Set(sod); }); } uow.SaveChanges(); } return(RedirectToAction("Detail", MVCController, new { id = sid, msg = "", msgType = AlertMsgType.Success })); }
public ActionResult SetDetail() { bool addQuotationDetail = false; int id = Request.Form["SaleOrderId"].ParseInt(); int approveStatus = Request.Form["hdApprove"] != null ? Request.Form["hdApprove"].ParseInt() : 0; TblSaleOrder ob = uow.Modules.SaleOrder.Get(id); if (ob.SaleOrderId <= 0) { string pre = Request.Form["SaleOrderPreNo"]; ob.SaleOrderNo = genSaleOrderId(pre); ob.CreatedBy = CurrentUID; ob.UpdatedBy = CurrentUID; ob.CreatedDate = CurrentDate; ob.UpdatedDate = CurrentDate; ob.SaleOrderDate = CurrentDate; addQuotationDetail = true; } else { ob.UpdatedBy = CurrentUID; ob.UpdatedDate = CurrentDate; } if (approveStatus == 3) { ob.ApprovedBy = Convert.ToInt32(CurrentUID); } ob.QuotationNo = Request.Form["QuotationNo"]; ob.SaleId = Request.Form["SaleId"] != null ? Request.Form["SaleId"].ParseInt() : 0; ob.SaleName = Request.Form["SaleName"]; if (Request.Form["DeliveryDate"].ToString().Count() > 0) { var dd = Request.Form["DeliveryDate"].Split(' ')[0] + " 00:00:00"; ob.DeliveryDate = dd.ParseDate(DateFormat.ddMMyyyyHHmmss); } ob.CustomerId = Request.Form["CustomerId"].ParseInt(); ob.CustomerName = Request.Form["CustomerName"]; ob.ContractName = Request.Form["ContractName"]; ob.BillingAddress = Request.Form["BillingAddress"]; ob.ShippingAddress = Request.Form["ShippingAddress"]; ob.SaleOrderRemark = Request.Form["SaleOrderRemark"]; ob.TeamId = Request.Form["TeamId"].ParseInt(); if (Request.Form["DiscountCash"] != null) { ob.DiscountCash = decimal.Parse(Request.Form["DiscountCash"]); } ob.SaleOrderCreditDay = Request.Form["SaleOrderCreditDay"].ParseInt(); ob.StatusId = Request.Form["StatusId"].ParseInt(); ob.ConditionId = Request.Form["ConditionId"].ParseInt(); try { uow.Modules.SaleOrder.Set(ob); uow.SaveChanges(); id = ob.SaleOrderId; if (id > 0 && addQuotationDetail) { string qno = Request.Form["QuotationNo"]; TblSaleOrder so = uow.Modules.SaleOrder.Get(id); var qid = uow.Modules.Quotation.GetId(qno); TblQuotation qt = uow.Modules.Quotation.Get(qid); List <TblQuotationDetail> qtd = uow.Modules.QuotationDetail.Gets(qid) .OrderBy(c => c.Id).ToList(); // clear saleorderdetail uow.Modules.SaleOrderDetail.DeleteId(id); // uow.SaveChanges(); // set QT to SO so.QuotationNo = qno; so.CustomerId = qt.CustomerId; so.CustomerName = qt.CustomerName; so.ContractName = qt.ContractName; so.SaleId = qt.SaleId; so.SaleName = qt.SaleName; so.BillingAddress = qt.BillingAddress; so.ShippingAddress = qt.ShippingAddress; so.SaleOrderRemark = qt.QuotationRemark; so.SubTotalNet = qt.SubTotalNet; so.SubTotalTot = qt.SubTotalTot; so.SubTotalVat = qt.SubTotalVat; so.DiscountCash = qt.DiscountCash; so.DiscountNet = qt.DiscountNet; so.DiscountTot = qt.DiscountTot; so.DiscountVat = qt.DiscountVat; so.SummaryNet = qt.SummaryNet; so.SummaryTot = qt.SummaryTot; so.SummaryVat = qt.SummaryVat; so.SaleOrderCreditDay = qt.QuotationCreditDay; uow.Modules.SaleOrder.Set(so); // uow.SaveChanges(); //Add QT detail to SO detail if (qtd.Count() > 0) { qtd.ForEach(dt => { TblSaleOrderDetail sod = uow.Modules.SaleOrderDetail.Get(0); sod.SaleOrderId = id; sod.ProductId = dt.ProductId; sod.Quantity = dt.Quantity; sod.PriceUnit = dt.PriceUnit; sod.PriceNet = dt.PriceNet; sod.PriceVat = dt.PriceVat; sod.PriceTot = dt.PriceTot; sod.DiscountNet = dt.DiscountNet; sod.DiscountTot = dt.DiscountTot; sod.DiscountVat = dt.DiscountVat; sod.TotalNet = dt.TotalNet; sod.TotalTot = dt.TotalTot; sod.TotalVat = dt.TotalVat; uow.Modules.SaleOrderDetail.Set(sod); }); } uow.SaveChanges(); } if (ob.StatusId == 2) { uow.Modules.SaleOrder.SaleOrderStockApprove(ob.SaleOrderId); } return(RedirectToAction("Detail", MVCController, new { id = ob.SaleOrderId, msg = "บันทึกข้อมูลเรียบร้อยแล้ว", msgType = AlertMsgType.Success })); } catch (Exception ex) { string msg = ex.GetMessage(true); return(ViewDetail(ob, msg, AlertMsgType.Danger)); } }
public ActionResult QT2SO() { int sid = 0; if (!string.IsNullOrEmpty(Request.Form["lbSaleOrderId"])) { sid = Request.Form["lbSaleOrderId"].ParseInt(); TblSaleOrder ob = uow.Modules.SaleOrder.Get(sid); if (ob.SaleOrderId <= 0) { string pre = Request.Form["SaleOrderPreNo"]; ob.SaleOrderNo = genSaleOrderId(pre); ob.CreatedBy = CurrentUID; ob.UpdatedBy = CurrentUID; ob.CreatedDate = CurrentDate; ob.UpdatedDate = CurrentDate; ob.SaleOrderDate = CurrentDate; } else { ob.UpdatedBy = CurrentUID; ob.UpdatedDate = CurrentDate; } ob.QuotationNo = Request.Form["QuotationNo"]; ob.SaleId = Request.Form["SaleId"] != null ? Request.Form["SaleId"].ParseInt() : 0; ob.SaleName = Request.Form["SaleName"]; if (Request.Form["DeliveryDate"].ToString().Count() > 0) { var dd = Request.Form["DeliveryDate"].Split(' ')[0] + " 00:00:00"; ob.DeliveryDate = dd.ParseDate(DateFormat.ddMMyyyyHHmmss); } TblQuotation quotation = uow.Modules.Quotation.Get(ob.QuotationNo); ob.CustomerId = quotation.CustomerId; ob.CustomerName = quotation.CustomerName; ob.SaleOrderCreditDay = quotation.QuotationCreditDay; ob.ContractName = quotation.ContractName; ob.BillingAddress = quotation.BillingAddress; ob.ShippingAddress = quotation.ShippingAddress; ob.SaleOrderRemark = Request.Form["SaleOrderRemark"]; ob.TeamId = Request.Form["TeamId"].ParseInt(); if (Request.Form["DiscountCash"] != null) { ob.DiscountCash = decimal.Parse(Request.Form["DiscountCash"]); } ob.SaleOrderCreditDay = Request.Form["SaleOrderCreditDay"].ParseInt(); ob.StatusId = Request.Form["StatusId"].ParseInt(); ob.ConditionId = Request.Form["ConditionId"].ParseInt(); uow.Modules.SaleOrder.Set(ob); uow.SaveChanges(); sid = ob.SaleOrderId; } else if (Request.Form["lbSaleOrderId"] == "") { } else { TblSaleOrder ob = uow.Modules.SaleOrder.Get(sid); string pre = Request.Form["lbPreSONo"]; ob.SaleOrderNo = genSaleOrderId(pre); ob.CreatedBy = CurrentUID; ob.UpdatedBy = CurrentUID; ob.CreatedDate = CurrentDate; ob.UpdatedDate = CurrentDate; ob.SaleOrderDate = CurrentDate; ob.CustomerId = 1; ob.SaleId = 1; ob.StatusId = 1; ob.ConditionId = 1; uow.Modules.SaleOrder.Set(ob); uow.SaveChanges(); sid = ob.SaleOrderId; } if (sid > 0) { string qno = Request.Form["QuotationNo"]; TblSaleOrder so = uow.Modules.SaleOrder.Get(sid); var qid = uow.Modules.Quotation.GetId(qno); TblQuotation qt = uow.Modules.Quotation.Get(qid); List <TblQuotationDetail> qtd = uow.Modules.QuotationDetail.Gets(qid) .OrderBy(c => c.Id).ToList(); // clear saleorderdetail uow.Modules.SaleOrderDetail.DeleteId(sid); // uow.SaveChanges(); // set QT to SO so.QuotationNo = qno; so.CustomerId = qt.CustomerId; so.CustomerName = qt.CustomerName; so.ContractName = qt.ContractName; so.SaleId = qt.SaleId; so.SaleName = qt.SaleName; so.BillingAddress = qt.BillingAddress; so.ShippingAddress = qt.ShippingAddress; so.SaleOrderRemark = qt.QuotationRemark; so.SubTotalNet = qt.SubTotalNet; so.SubTotalTot = qt.SubTotalTot; so.SubTotalVat = qt.SubTotalVat; so.DiscountCash = qt.DiscountCash; so.DiscountNet = qt.DiscountNet; so.DiscountTot = qt.DiscountTot; so.DiscountVat = qt.DiscountVat; so.SummaryNet = qt.SummaryNet; so.SummaryTot = qt.SummaryTot; so.SummaryVat = qt.SummaryVat; so.SaleOrderRemark = qt.QuotationRemark; uow.Modules.SaleOrder.Set(so); // uow.SaveChanges(); //Add QT detail to SO detail if (qtd.Count() > 0) { qtd.ForEach(dt => { TblSaleOrderDetail sod = uow.Modules.SaleOrderDetail.Get(0); sod.SaleOrderId = sid; sod.ProductId = dt.ProductId; sod.WHId = dt.WHId; sod.Quantity = dt.Quantity; sod.PriceUnit = dt.PriceUnit; sod.PriceNet = dt.PriceNet; sod.PriceVat = dt.PriceVat; sod.PriceTot = dt.PriceTot; sod.DiscountNet = dt.DiscountNet; sod.DiscountTot = dt.DiscountTot; sod.DiscountVat = dt.DiscountVat; sod.TotalNet = dt.TotalNet; sod.TotalTot = dt.TotalTot; sod.TotalVat = dt.TotalVat; sod.Remark = dt.Remark; uow.Modules.SaleOrderDetail.Set(sod); }); } uow.SaveChanges(); } return(RedirectToAction("Detail", MVCController, new { id = sid, msg = "", msgType = AlertMsgType.Success })); }
public ActionResult AddProduct() { int sid = Request.Form["SaleOrderId"].ParseInt(); var productId = Request.Form["selProduct"].Split(':'); // ProductId:PriceNet int qty = Request.Form["ProductQty"].ParseInt(); var SelSaleOrdernProductId = Request.Form["SelQSaleOrderProductId"].ParseInt(); // ProductId:PriceNet int WHId = Request.Form["selWareHose"].ParseInt(); Decimal price = Request.Form["ProductPrice"].ParseDecimal(); Decimal discount = Request.Form["ProductDiscount"].ParseDecimal(); decimal realDiscount = 0; var remark = Request.Form["Remark"]; if (productId.Count() > 0) { int pid = Converting.ToInt(productId[0]); // SelQuotationProductId > 0 ? uow.Modules.QuotationDetail.Get(SelQuotationProductId) : uow.Modules.QuotationDetail.Get(qid, Converting.ToInt(productId[0]), WHId); TblSaleOrderDetail ob = SelSaleOrdernProductId > 0 ? uow.Modules.SaleOrderDetail.Get(SelSaleOrdernProductId) : uow.Modules.SaleOrderDetail.Get(sid, pid, WHId); realDiscount = discount; ob.SaleOrderId = sid; ob.WHId = WHId; ob.ProductId = pid; ob.Quantity = qty; ob.PriceNet = price * qty; ob.CalType = Request.Form["selCalType"].ParseInt(); ob.PriceVat = uow.Modules.System.GetVatFromNet(price * qty); // ob.PriceVat = (price * qty * vat) - (price * qty); ob.PriceTot = price * qty + ob.PriceVat; if (ob.CalType == 1) { realDiscount = ((ob.PriceNet * discount) / 100); } ob.Discount = discount; ob.DiscountNet = realDiscount; ob.DiscountVat = uow.Modules.System.GetVatFromNet(realDiscount); ob.DiscountTot = realDiscount + ob.DiscountVat; ob.TotalNet = ob.PriceNet - realDiscount; ob.TotalVat = ob.PriceVat - ob.DiscountVat; ob.TotalTot = ob.PriceTot - ob.DiscountTot; ob.Remark = remark; uow.Modules.SaleOrderDetail.Set(ob); uow.SaveChanges(); TblSaleOrder objQuoation = uow.Modules.SaleOrder.GetDetail(sid); objQuoation.SubTotalNet = objQuoation.TblSaleOrderDetail.Sum(o => o.PriceNet); objQuoation.SubTotalVat = objQuoation.TblSaleOrderDetail.Sum(o => o.PriceVat); objQuoation.SubTotalTot = objQuoation.TblSaleOrderDetail.Sum(o => o.PriceTot); objQuoation.DiscountNet = objQuoation.TblSaleOrderDetail.Sum(o => o.DiscountNet); objQuoation.DiscountVat = objQuoation.TblSaleOrderDetail.Sum(o => o.DiscountVat); objQuoation.DiscountTot = objQuoation.TblSaleOrderDetail.Sum(o => o.DiscountTot); objQuoation.SummaryNet = objQuoation.TblSaleOrderDetail.Sum(o => o.TotalNet); objQuoation.SummaryVat = objQuoation.TblSaleOrderDetail.Sum(o => o.TotalVat); objQuoation.SummaryTot = objQuoation.TblSaleOrderDetail.Sum(o => o.TotalTot); uow.Modules.SaleOrder.Set(objQuoation); uow.SaveChanges(); } return(RedirectToAction("Detail", MVCController, new { id = sid, tab = "Product", msg = "", msgType = AlertMsgType.Success })); }
private ActionResult ViewDetail(TblSaleOrder ob, string msg, AlertMsgType?msgType) { List <TblQuotation> quotationList = null; try { if (ob == null) { throw new Exception("ไม่พบข้อมูลที่ต้องการ, กรุณาลองใหม่อีกครั้ง"); } if (!string.IsNullOrWhiteSpace(msg)) { WidgetAlertModel alert = new WidgetAlertModel() { Message = msg }; if (msgType.HasValue) { alert.Type = msgType.Value; } ViewBag.Alert = alert; } quotationList = uow.Modules.Quotation.GetQuatationNotSale() .Where(q => q.StatusId == 3) .ToList(); if (quotationList == null) { quotationList = new List <TblQuotation>(); } AccountPermission permission = new AccountPermission(); permission = GetPermissionSale(CurrentUser.AccountId, ob.CreatedBy.HasValue ? ob.CreatedBy.Value : 0); quotationList.Add(uow.Modules.Quotation.Get(ob.QuotationNo)); ViewData["optSoDetail"] = uow.Modules.SaleOrderDetail.Gets(ob.SaleOrderId); ViewData["optQuotation"] = quotationList; ViewData["optCustomer"] = uow.Modules.Customer.GetAllAddress(); ViewData["optCustomerAddress"] = uow.Modules.CustomerAddress.Gets(); ViewData["optProduct"] = uow.Modules.Product.Gets("0"); ViewData["optContact"] = uow.Modules.CustomerContact.Gets(); ViewData["optEmployee"] = uow.Modules.Employee.Gets(); ViewData["optPayment"] = uow.Modules.PaymentCondition.Gets(); ViewData["optAttachment"] = uow.Modules.SaleOrderAttachment.Gets(ob.SaleOrderId); ViewData["optTeam"] = uow.Modules.TeamOperation.Gets(); ViewData["userAccount"] = CurrentUser; ViewData["optPermission"] = permission; ViewData["optWareHouse"] = uow.Modules.WareHouse.Gets(); return(View(ob)); } catch (Exception ex) { return(RedirectToAction("Index", MVCController, new { area = MVCArea, msg = ex.GetMessage(), msgType = AlertMsgType.Danger })); } }