Exemple #1
0
        public void Refresh(string strMembershipID)
        {
            //myDataTable = myCreditPkg.GetValidMemberCreditPackage(strMembershipID);
            myDataTable = myCreditPkg.GetValidAndExpiredMemberCreditPackage(strMembershipID);

            if (myDataTable != null)
            {
                if (!myDataTable.Columns.Contains("Balance"))
                {
                    DataColumn colBalance = new DataColumn("Balance", System.Type.GetType("System.Decimal"));
                    myDataTable.Columns.Add(colBalance);
                }
                if (!myDataTable.Columns.Contains("strBalNew"))
                {
                    DataColumn colFNew = new DataColumn("strBalNew", System.Type.GetType("System.String"));
                    myDataTable.Columns.Add(colFNew);
                }
                MemberPackage memberPackage = new MemberPackage();
                //Select Sum (mCreditPackageUsagePrice) From tblMemberPackage
                //Where nCreditPackageID = A.nCreditPackageID and nStatusID <> 2 Group by nCreditPackageID
                int nCreditPackageID = 0;
                foreach (DataRow r in myDataTable.Rows)
                {
                    nCreditPackageID = ACMS.Convert.ToInt32(r["nCreditPackageID"]);
                    r["Balance"] = ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mFreeCredit"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) -
                            memberPackage.GetCreditPackageUsagePrice(nCreditPackageID);
                    r["strBalNew"] = 0;
                }
            }
        }
Exemple #2
0
        public void RefreshForConvert(string strMembershipID, int nCategoryID, DataTable receiptItemTable)
        {
            if (nCategoryID == 1)
                myDataTable = myCreditPkg.GetValidMemberCreditPackageForConvertToFit(strMembershipID);
            else if (nCategoryID == 4 || nCategoryID == 5 || nCategoryID == 6 || nCategoryID == 7 || nCategoryID == 9)
                myDataTable = myCreditPkg.GetValidMemberCreditPackageForConvert(strMembershipID);
            else if (nCategoryID == 36)
                myDataTable = myCreditPkg.GetValidMemberCreditPackageForConvertHolisticToHolisticFit(strMembershipID);
            else if (nCategoryID == 37)
                myDataTable = myCreditPkg.GetValidMemberCreditPackageForConvertHolistic(strMembershipID);

            if (myDataTable != null)
            {
                if (!myDataTable.Columns.Contains("Balance"))
                {
                    DataColumn colBalance = new DataColumn("Balance", System.Type.GetType("System.Decimal"));
                    myDataTable.Columns.Add(colBalance);
                }
                if (!myDataTable.Columns.Contains("mPackagePaidAmount"))
                {
                    DataColumn colBalance = new DataColumn("mPackagePaidAmount", System.Type.GetType("System.Decimal"));
                    myDataTable.Columns.Add(colBalance);
                }
                if (!myDataTable.Columns.Contains("strBalNew"))
                {
                    DataColumn colFNew = new DataColumn("strBalNew", System.Type.GetType("System.String"));
                    myDataTable.Columns.Add(colFNew);
                }
                if (!myDataTable.Columns.Contains("nFreeUtil"))
                {
                    DataColumn colNFreeUtil = new DataColumn("nFreeUtil", System.Type.GetType("System.Int32"));
                    myDataTable.Columns.Add(colNFreeUtil);
                }
                if (!myDataTable.Columns.Contains("mFreeUtil"))
                {
                    DataColumn colMFreeUtil = new DataColumn("mFreeUtil", System.Type.GetType("System.Decimal"));
                    myDataTable.Columns.Add(colMFreeUtil);
                }
                if (!myDataTable.Columns.Contains("strCalculation"))
                {
                    DataColumn colBalance = new DataColumn("strCalculation", System.Type.GetType("System.String"));
                    myDataTable.Columns.Add(colBalance);
                }
                MemberPackage memberPackage = new MemberPackage();
                double paidAmt=0;
                int nCreditPackageID = 0;
                foreach (DataRow r in myDataTable.Rows)
                {
                    string strCalculation = "Calculation:\n";
                    nCreditPackageID = ACMS.Convert.ToInt32(r["nCreditPackageID"]);
                    r["strBalNew"] = 0;
                    if (nCategoryID == 7 && nCategoryID == ACMS.Convert.ToInt32(r["nCategoryID"])) //Same spa credit category upgrade
                    {
                        r["Balance"] = ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) - memberPackage.GetCreditPackageUsagePrice(nCreditPackageID);
                        if (memberPackage.GetCreditPackageUsagePrice(nCreditPackageID) == 0)
                        {
                            r["strBalNew"] = "New";
                        }
                        strCalculation += "Is same category upgrade? Yes\n";
                        strCalculation += "Used Amt = " + memberPackage.GetCreditPackageUsagePrice(nCreditPackageID).ToString() + "\n";
                    }
                    else if ((nCategoryID == 36 || nCategoryID == 37) && (ACMS.Convert.ToInt32(r["nCategoryID"]) == 36 || ACMS.Convert.ToInt32(r["nCategoryID"]) == 37)) //Same Holistic category upgrade
                    {
                        strCalculation += "Is same category upgrade? Yes\n";
                        strCalculation += "Used Amt = " + memberPackage.GetCreditPackageUsagePrice(nCreditPackageID).ToString() + "\n";
                        if ((ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) - memberPackage.GetCreditPackageUsagePrice(nCreditPackageID)) <= (ACMS.Convert.ToDecimal(r["mCreditAmount"]) / 2) || memberPackage.GetCreditPackageUsagePrice(nCreditPackageID) == 0)
                        {
                            r["Balance"] = ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) - memberPackage.GetCreditPackageUsagePrice(nCreditPackageID);
                            if (memberPackage.GetCreditPackageUsagePrice(nCreditPackageID) == 0)
                            {
                                r["strBalNew"] = "New";
                            }
                        }
                        else
                        {
                            TblCreditPackage creditPackage = new TblCreditPackage();
                            creditPackage.StrCreditPackageCode = receiptItemTable.Rows[0]["strCode"].ToString();
                            creditPackage.SelectOne();

                            if (ACMS.Convert.ToDecimal(creditPackage.MCreditAmount) == ACMS.Convert.ToDecimal(r["mCreditAmount"]) && receiptItemTable.Rows.Count == 1)
                            {
                                r["Balance"] = (ACMS.Convert.ToDecimal(r["mCreditAmount"]) / 2);
                                strCalculation += "Top up of same category Utilization < 50%\nBalance to convert only 50% of credit amount";
                            }
                            else
                                r["Balance"] = ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) - memberPackage.GetCreditPackageUsagePrice(nCreditPackageID);
                        }
                    }
                    else if (ACMS.Convert.ToInt32(r["nCategoryID"]) == 36 || ACMS.Convert.ToInt32(r["nCategoryID"]) == 37) //Holistic different category upgrade
                    {
                        strCalculation += "Is same category upgrade? No\n";
                        strCalculation += "Used Amt = " + memberPackage.GetCreditPackageUsagePriceForDifferentCategoryConvert(nCreditPackageID).ToString() + "\n";

                        paidAmt = ACMS.Convert.ToDouble(r["mPackagePaidAmount"]);
                        r["Balance"] = ACMS.Convert.ToDecimal(paidAmt) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) - memberPackage.GetCreditPackageUsagePriceForDifferentCategoryConvert(nCreditPackageID);

                        if (memberPackage.GetCreditPackageUsagePriceForDifferentCategoryConvert(nCreditPackageID) == 0)
                        {
                            r["strBalNew"] = "New";
                        }
                    }
                    else //Spa credit different category upgrade
                    {
                        paidAmt = ACMS.Convert.ToDouble(r["mPackagePaidAmount"]);

                        r["Balance"] = ACMS.Convert.ToDecimal(paidAmt) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) - memberPackage.GetCreditPackageUsagePriceForDifferentCategoryConvert(nCreditPackageID);
                        if (memberPackage.GetCreditPackageUsagePrice(nCreditPackageID) == 0)
                        {
                            r["strBalNew"] = "New";
                        }
                        strCalculation += "Is same category upgrade? No\n";
                        strCalculation += "Used Amt = " + memberPackage.GetCreditPackageUsagePriceForDifferentCategoryConvert(nCreditPackageID).ToString() + "\n";
                    }

                    strCalculation += "Usage Bal Amt = " + r["Balance"].ToString();
                    r["strCalculation"] = strCalculation;
                }
            }
        }
Exemple #3
0
        public DataView GetValidCreditPackage(string strMembershipID)
        {
            DataTable table = myCreditPkg.GetValid_NonExpiry_MemberCreditPackage(strMembershipID);

            if (table != null)
            {
                if (!table.Columns.Contains("Balance"))
                {
                    DataColumn colBalance = new DataColumn("Balance", System.Type.GetType("System.Decimal"));
                    table.Columns.Add(colBalance);
                }
                MemberPackage memberPackage = new MemberPackage();
                //Select Sum (mCreditPackageUsagePrice) From tblMemberPackage
                //Where nCreditPackageID = A.nCreditPackageID and nStatusID <> 2 Group by nCreditPackageID
                int nCreditPackageID = 0;
                foreach (DataRow r in table.Rows)
                {
                    nCreditPackageID = ACMS.Convert.ToInt32(r["nCreditPackageID"]);
                //	r["Balance"] = ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) -
                //		memberPackage.GetCreditPackageUsagePrice(nCreditPackageID);

                    r["Balance"] = ACMS.Convert.ToDecimal(r["mCreditAmount"]) + ACMS.Convert.ToDecimal(r["mFreeCredit"]) + ACMS.Convert.ToDecimal(r["mTopupAmount"]) -
                            memberPackage.GetCreditPackageUsagePrice(nCreditPackageID);
                }

                table.DefaultView.RowFilter = "Balance > 0";

                return table.DefaultView;

            }
            else
                return null;
        }