public ActionResult AddProduct() { int sid = Request.Form["SaleOrderId"].ParseInt(); var id = Request.Form["selProduct"].Split(':'); // ProductId:PriceNet int qty = Request.Form["ProductQty"].ParseInt(); Decimal price = Request.Form["ProductPrice"].ParseDecimal(); Decimal discount = Request.Form["ProductDiscount"].ParseDecimal(); if (id.Count() > 0) { int pid = int.Parse(id[0]); TblSaleOrderDetail ob = uow.Modules.SaleOrderDetail.Get(0); ob.SaleOrderId = sid; ob.ProductId = pid; ob.Quantity = qty; ob.PriceNet = price * qty; ob.PriceVat = uow.Modules.System.GetVatFromNet(price * qty); // ob.PriceVat = (price * qty * vat) - (price * qty); ob.PriceTot = price * qty + ob.PriceVat; ob.DiscountNet = discount; ob.DiscountVat = uow.Modules.System.GetVatFromNet(discount); ob.DiscountTot = discount + ob.DiscountVat; uow.Modules.SaleOrderDetail.Set(ob); uow.SaveChanges(); } return(RedirectToAction("Detail", MVCController, new { id = sid, tab = "Product", msg = "", msgType = AlertMsgType.Success })); }
//[Authorized] public ActionResult DetailDelete() { int sid = Request.Form["SaleOrderId"].ParseInt(); try { int id = Request.Form["Id"].ParseInt(); TblSaleOrderDetail ob = uow.Modules.SaleOrderDetail.Get(id); if (ob == null) { return(RedirectToAction("Detail", MVCController, new { id = sid, tab = "Product", msg = "ไม่พบข้อมูลที่ต้องการ", msgType = AlertMsgType.Warning })); } uow.Modules.SaleOrderDetail.Delete(ob); uow.SaveChanges(); return(RedirectToAction("Detail", MVCController, new { id = sid, tab = "Product", msg = "ลบข้อมูลเรียบร้อยแล้ว", msgType = AlertMsgType.Success })); } catch (Exception ex) { return(RedirectToAction("Detail", MVCController, new { id = sid, tab = "Product", msg = ex.GetMessage(), msgType = 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 })); }