/// <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);
        }
Example #2
0
        /// <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);
            }
        }
Example #7
0
        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);
 }