Ejemplo n.º 1
0
        public void Delete(int nEntryID)
        {
            DataRow[] receiptItemToDelete = myReceiptItemsTable.Select("nEntryID = " + nEntryID.ToString(), "", DataViewRowState.CurrentRows);

            string strCode = "";
            decimal oldPackagePriceToRestore = 0;
            decimal oldPackageUsageToRestore = 0;

            if (receiptItemToDelete.Length == 1)
            {
                strCode = receiptItemToDelete[0]["strCode"].ToString();
                oldPackagePriceToRestore = ACMS.Convert.ToDecimal(receiptItemToDelete[0]["OldPackagePrice"]);
                oldPackageUsageToRestore = ACMS.Convert.ToDecimal(receiptItemToDelete[0]["OldPackageUsage"]);
                receiptItemToDelete[0].Delete();
            }
            else
                throw new Exception("Unable to find the row to delete.");

            DataRow[] rowsToDelete = myReceiptItemsFreebieTable.Select("nEntryID = " + nEntryID.ToString(), "", DataViewRowState.CurrentRows);
            foreach (DataRow r in rowsToDelete)
                r.Delete();

            DataRow[] rowsToDelete2 = myReceiptItemsPackageTable.Select("", "", DataViewRowState.CurrentRows);
            foreach (DataRow r in rowsToDelete2)
                r.Delete();

            if (NCategoryID == 15)
            {
                receiptItemToDelete = myReceiptItemsTable.Select("strCode = '" + strCode + "'", "", DataViewRowState.CurrentRows);

                if (receiptItemToDelete.Length == 1)
                    receiptItemToDelete[0].Delete();
            }
            else if (NCategoryID == 2)
            {
                DataRow[] rowToDelete3 = myGiroTable.Select("nEntryID = " + nEntryID.ToString(), "", DataViewRowState.CurrentRows);

                foreach (DataRow r in rowToDelete3)
                    r.Delete();

                myGiroTable.AcceptChanges();
            }
            else if (NCategoryID == 10)
            {
                WantToUpgradeMemberPackageRow["OldMemberPackageListPrice"] =
                    ACMS.Convert.ToDecimal(WantToUpgradeMemberPackageRow["OldMemberPackageListPrice"]) + oldPackagePriceToRestore;

                WantToUpgradeMemberPackageRow["OldMemberPackageUsage"] =
                    ACMS.Convert.ToDecimal(WantToUpgradeMemberPackageRow["OldMemberPackageUsage"]) + oldPackageUsageToRestore;

                foreach (DataRow r in myReceiptItemsTable.Rows)
                {
                    if (r.RowState != DataRowState.Deleted)
                        CalculateSubTotal(r);
                }

                if (myReceiptItemsTable.Rows.Count == 0)
                    myWantToUpgradeMemberPackageTable.Rows.Clear();
            }

            if (myReceiptItemsTable.Rows.Count == 0)
            {
                myLockerAction = ACMSLogic.POS.LockerAction.None;
                myForgetCardAction = ACMSLogic.POS.ForgetCardAction.None;
            }

            if (myReceiptItemsTable.Rows.Count == 0 && NCategoryID == 0)
            {
                myReceiptMasterTable.Rows[0]["mTotalAmount"] = 0;
            }

            RecalculateAll();
            myReceiptItemsFreebieTable.AcceptChanges();
            myReceiptItemsPackageTable.AcceptChanges();
        }
Ejemplo n.º 2
0
        internal POS(int nCategoryID, int nEmployeeID, string strMembershipID,
            string strBranchCode, int nterminalID, int nShiftID, string strLocation, int nPackageID, int nGIRO)
        {
            //
            // TODO: Add constructor logic here
            //
            myCategoryID = nCategoryID;
            myEmployeeID = nEmployeeID;
            myMembershipID = strMembershipID;
            myLocation = strLocation;
            myBranchCode = strBranchCode;
            myTerminalID = nterminalID;
            myPackageID = nPackageID;
            myShiftID= nShiftID;
            TblCategory sqlCategory = new TblCategory();
            if (nGIRO == 1)//2704
            {
                myGIROID = nGIRO;
            }
            else
            {
                myGIROID = 0;
            }
            sqlCategory.NCategoryID = myCategoryID;
            sqlCategory.SelectOne();
            myPOSCategoryID = sqlCategory.NPOSCategoryID.IsNull ? -1 : sqlCategory.NPOSCategoryID.Value;

            Init();
            myLockerAction = LockerAction.None;
            myForgetCardAction = ForgetCardAction.None;
            //2106
            TblMember sqlMember = new TblMember();
            if (!sqlMember.MembershipThisMonthBirtday(strMembershipID))
            {
                myThisMonthBirthdayID = 0;
            }
            else
            {
                myThisMonthBirthdayID = 1;
            }

            string hder = strMembershipID.Substring(0, 2);

            if (hder == "HQ")
            {
                string ID = strMembershipID.Substring(2, StrMembershipID.Length - 2);

                try
                {
                    int numberID = int.Parse(ID);

                    if (numberID > 999)
                    {
                        myIsStaffPurchase = true;
                        myStaffPurchaseCategoryID = myCategoryID;
                    }
                }
                catch
                {
                    myIsStaffPurchase = false;
                }
            }
        }