/// <summary> /// Method to remove a sale vendor coupon line /// </summary> /// <param name="svc">Sale vendor coupon</param> /// <param name="tillNumber">Till number</param> /// <param name="itemNum">Item number</param> public void Remove_a_Line(ref SaleVendorCoupon svc, int tillNumber, short itemNum) { svc.SVC_Lines.Remove(itemNum); ReduceLineNum(ref svc, itemNum); RecomputeTotal(ref svc, tillNumber, false); }
/// <summary> /// Method to save sale vendor coupon service /// </summary> /// <param name="sv">Sale vendor coupon</param> /// <param name="tillNumber">Till number</param> /// <param name="dataSource">Data source</param> public void SaveSaleVendorCoupon(SaleVendorCoupon sv, int tillNumber, DataSource dataSource) { _connection = new SqlConnection(GetConnectionString(dataSource)); if (_connection.State == ConnectionState.Closed) { _connection.Open(); } foreach (SaleVendorCouponLine tempLoopVarSvc in sv.SVC_Lines) { var svc = tempLoopVarSvc; bool addNew = false; _dataTable = new DataTable(); _adapter = new SqlDataAdapter("select * from SaleVendorCoupon where TILL_NUM=" + tillNumber + " AND SALE_NO=" + Convert.ToString(sv.Sale_Num) + " AND LINE_NUM=" + Convert.ToString(svc.Line_Num) + " AND SeqNumber=" + Convert.ToString(svc.SeqNum), _connection); _adapter.Fill(_dataTable); DataRow fields; if (_dataTable.Rows.Count != 0) { addNew = true; fields = _dataTable.NewRow(); fields["Till_Num"] = tillNumber; fields["Sale_No"] = sv.Sale_Num; fields["Line_Num"] = svc.Line_Num; fields["SeqNumber"] = svc.SeqNum; } else { fields = _dataTable.Rows[0]; } fields["CouponCode"] = svc.CouponCode; fields["CouponName"] = svc.CouponName; fields["UnitValue"] = svc.UnitValue; fields["Quantity"] = svc.Quantity; fields["TotalValue"] = svc.TotalValue; fields["SerialNumber"] = svc.SerialNumber; fields["TendDesc"] = svc.TendDesc; if (addNew) { _dataTable.Rows.Add(fields); SqlCommandBuilder builder = new SqlCommandBuilder(_adapter); _adapter.InsertCommand = builder.GetInsertCommand(); } else { SqlCommandBuilder builder = new SqlCommandBuilder(_adapter); _adapter.UpdateCommand = builder.GetUpdateCommand(); } _adapter.Update(_dataTable); _connection.Close(); _adapter?.Dispose(); } }
/// <summary> /// Method to reduce line number /// </summary> /// <param name="svc">Sale vendor coupon</param> /// <param name="itemFrom">Item number</param> private void ReduceLineNum(ref SaleVendorCoupon svc, short itemFrom) { foreach (SaleVendorCouponLine tempLoopVarSvcLine in svc.SVC_Lines) { var svcLine = tempLoopVarSvcLine; if (svcLine.ItemNum >= itemFrom) { svcLine.ItemNum--; } } }
/// <summary> /// Method to add a line to sale vendor coupon /// </summary> /// <param name="svc">Sale vendor coupon</param> /// <param name="tillNumber">Till number</param> /// <param name="oLine">Sale line</param> /// <param name="saveToTmp">Save to Db</param> public void Add_a_Line(ref SaleVendorCoupon svc, int tillNumber, SaleVendorCouponLine oLine, bool saveToTmp) { svc.SVC_Lines.AddLine((short)(svc.SVC_Lines.Count + 1), oLine, ""); svc.Amount = svc.Amount + oLine.TotalValue; if (saveToTmp) { _svcService.AddSaleVendorCouponLine(oLine, svc.Sale_Num, tillNumber); } }
/// <summary> /// Method to recompute total /// </summary> /// <param name="svc">Sale vendor coupon</param> /// <param name="tillNumber">Till number</param> /// <param name="saveToTmp">Save to Db</param> public void RecomputeTotal(ref SaleVendorCoupon svc, int tillNumber, bool saveToTmp) { decimal tmpAmount = 0; foreach (SaleVendorCouponLine tempLoopVarOLine in svc.SVC_Lines) { var oLine = tempLoopVarOLine; tmpAmount = tmpAmount + oLine.TotalValue; } svc.Amount = tmpAmount; if (saveToTmp) { _svcService.SaveSaleVendorCoupon(svc, tillNumber, DataSource.CSCCurSale); } }
/// <summary> /// Method to update serial number /// </summary> /// <param name="svc">Sale vendor coupon</param> /// <param name="tillNumber">Till number</param> /// <param name="lineNum">Line number</param> /// <param name="seqNum">Sequence number</param> /// <param name="serialNumber">Serial number</param> /// <param name="saveToTmp">Save to Db</param> public void UpdateSerialNumber(ref SaleVendorCoupon svc, int tillNumber, short lineNum, short seqNum, string serialNumber, bool saveToTmp) { foreach (SaleVendorCouponLine tempLoopVarSvcLine in svc.SVC_Lines) { var svcLine = tempLoopVarSvcLine; if (!(svcLine.Line_Num == lineNum & svcLine.SeqNum == seqNum)) { continue; } svcLine.SerialNumber = serialNumber; break; } if (saveToTmp) { _svcService.UpdateSaleVendorCoupon(svc.Sale_Num, tillNumber, lineNum, seqNum, serialNumber); } }
public static void AddSaleVendorCoupon(int saleNumber, string tenderCode, SaleVendorCoupon vendorCoupon) { MemCacher.Delete($"VENDORCOUPON_{saleNumber}_{tenderCode}"); MemCacher.Add($"VENDORCOUPON_{saleNumber}_{tenderCode}", vendorCoupon, DateTimeOffset.UtcNow.AddHours(1)); }
/// <summary> /// Method to save sale vendor coupon /// </summary> /// <param name="svc">Sale vendor coupon</param> /// <param name="tillNumber">Till number</param> public void Save_Sale(SaleVendorCoupon svc, int tillNumber) { _svcService.SaveSaleVendorCoupon(svc, tillNumber, DataSource.CSCTills); }