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; } } }
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; } } }
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; }