示例#1
0
        public MemberRecord(string aBranchCode)
        {
            myCurrentBranch = aBranchCode;
            myMember = new TblMember();
            InitLookupEdit();

            dtblPreset = myMember.SelectLast15(myCurrentBranch);
        }
示例#2
0
        public string ConvertMember(DataRow rowMember, User aUser)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblBranch sqlBranch = new TblBranch();
            TblAudit sqlAudit = new TblAudit();
            TblCardRequest sqlCardRequest = new TblCardRequest();

            try
            {
                sqlBranch.MainConnectionProvider = connProvider;
                sqlMember.MainConnectionProvider = connProvider;
                sqlAudit.MainConnectionProvider = connProvider;
                sqlCardRequest.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("ConvertMember");

                sqlBranch.StrBranchCode = aUser.StrBranchCode();
                sqlBranch.IncOne();
                string newMembershipID = aUser.StrBranchCode().TrimEnd() +sqlBranch.NMembershipNo;
                sqlMember.StrBranchCode = aUser.StrBranchCode();
                sqlMember.ConvertMember(rowMember["strMembershipID"].ToString(), newMembershipID);
                sqlMember.ConvertMemberPurchase(rowMember["strMembershipID"].ToString(), newMembershipID);
                sqlAudit.UpdateAllWstrReferenceLogic(newMembershipID, rowMember["strMembershipID"].ToString());
                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberRecord;
                sqlAudit.NEmployeeID = aUser.NEmployeeID();
                sqlAudit.StrAuditEntry = "Convert member from " +rowMember["strMembershipID"].ToString() +" to " +newMembershipID;
                sqlAudit.StrReference = newMembershipID;
                sqlAudit.DtDate = DateTime.Now;
                sqlAudit.Insert();

                //Request print for convert non member to member
                //sqlCardRequest.NEmployeeID = aUser.NEmployeeID();
                //sqlCardRequest.NStatusID = (int)CardStatusType.RequestPrint;
                //sqlCardRequest.StrBranchCode = aUser.StrBranchCode();
                //sqlCardRequest.StrMembershipID = newMembershipID;
                //sqlCardRequest.DtLastEditDate = DateTime.Now;
                //sqlCardRequest.Insert();

                ////Audit trail for request print
                //sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberCard;
                //sqlAudit.NEmployeeID = aUser.NEmployeeID();
                //sqlAudit.StrAuditEntry = "New member card request when create convert member.";
                //sqlAudit.StrReference = newMembershipID;
                //sqlAudit.DtDate = DateTime.Now;
                //sqlAudit.Insert();

                connProvider.CommitTransaction();
                return newMembershipID;
            }
            catch (Exception)
            {
                connProvider.RollbackTransaction("ConvertMember");
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlBranch.Dispose();
                sqlMember.Dispose();
                sqlAudit.Dispose();
                sqlCardRequest.Dispose();
            }
        }
示例#3
0
文件: POS.cs 项目: kimykunjun/test
        public void AddRegFees()
        {
            TblMember member = new TblMember();
            member.StrMembershipID = myMembershipID;
            DataTable table = member.SelectOne();
            DataRow memberRow = table.Rows[0];
            bool isRegistered = ACMS.Convert.ToBoolean(memberRow["fRegistrationFee"]);

            if (!isRegistered)
            {
                DialogResult result = MessageBox.Show("You are no yet paid the registration fees. Do you want to pay it now?", "Warning",
                    MessageBoxButtons.YesNo);

                if (result == DialogResult.Yes)
                {
                    TblPackage pckg = new TblPackage();
                    pckg.StrPackageCode = "JOINFEE";
                    pckg.SelectOne();

                    NewReceiptEntry("JOINFEE", myStaffPurchaseCategoryID, pckg.StrDescription.IsNull ? "" : pckg.StrDescription.Value,
                        1, ACMS.Convert.ToDecimal(pckg.MListPrice), "");

                    pckg.StrPackageCode = "FA";
                    pckg.SelectOne();

                    NewReceiptEntry("FA", myStaffPurchaseCategoryID, pckg.StrDescription.IsNull ? "" : pckg.StrDescription.Value,
                        1, ACMS.Convert.ToDecimal(pckg.MListPrice), "");
                }

                        }
        }
示例#4
0
文件: POS.cs 项目: kimykunjun/test
        private void ReplaceMembershipCardTransaction(ACMSDAL.ConnectionProvider connProvider, ACMSLogic.POS pos)
        {
            if (pos.NCategoryID == 20)
            {
                TblMember sqlMember = new TblMember();
                sqlMember.MainConnectionProvider = connProvider;

                sqlMember.StrMembershipID = pos.StrMembershipID;
                sqlMember.SelectOne();
                sqlMember.NCardStatusID = 0;
                sqlMember.StrCardBranchCode = "WL";
                sqlMember.Update();

                TblMember sqlIntroduceMember = new TblMember();
                sqlIntroduceMember.MainConnectionProvider = connProvider;
                sqlIntroduceMember.StrIntroducerMembershipID = pos.StrMembershipID;
                DataTable introduceMemberTable = sqlIntroduceMember.SelectAllWstrIntroducerMembershipIDLogic();

                if (introduceMemberTable != null && introduceMemberTable.Rows.Count > 0)
                {
                    foreach (DataRow r in introduceMemberTable.Rows)
                        r["StrIntroducerMembershipID"] = DBNull.Value;

                    sqlIntroduceMember.SaveData(introduceMemberTable);
                }

                string membershipID = pos.StrMembershipID;
                string newStrMembershipID = "";
                bool isMember = !membershipID.StartsWith("NMC");

                if (!isMember)
                {
                    TblCardRequest sqlCardRequest = new TblCardRequest();
                    TblCompany sqlCompany = new TblCompany();
                    sqlCompany.MainConnectionProvider = connProvider;
                    sqlCardRequest.MainConnectionProvider = connProvider;

                    sqlCompany.IncOne();

                    sqlMember.StrMembershipID = pos.StrMembershipID;
                    DataTable memberTable = sqlMember.SelectOne();

                    newStrMembershipID = "NMC" + sqlCompany.NNonMembershipNo.Value.ToString();
                    string origStrMembershipID = sqlMember.StrMembershipID.Value;
                    pos.StrNewMembershipID = newStrMembershipID;

                    memberTable.Rows[0]["nMembershipNo"] = sqlCompany.NNonMembershipNo.Value;
                    memberTable.Rows[0]["strMembershipID"] = newStrMembershipID;
                    memberTable.Rows[0]["nCardStatusID"] = (int)CardStatusType.RequestPrint;

                    string cmdText = "Update tblMember SET strMembershipID = @NewStrMembershipID, " +
                        " nMembershipNo = @nMembershipNo Where strMembershipID = @OriginalStrMembershipID";

                    sqlMember.UpdateKey(memberTable,  cmdText, "@NewStrMembershipID",  newStrMembershipID,
                        "@OriginalStrMembershipID", origStrMembershipID, new string[] {"@nMembershipNo"},
                        new object[] {sqlCompany.NNonMembershipNo.Value});

                    #region ====== Added By Albert ======
                    //To update member packages after changing MembershipID.
                    TblMemberPackage mMemberPackage;
                    mMemberPackage = new TblMemberPackage();
                    mMemberPackage.StrMembershipIDOld = origStrMembershipID;
                    mMemberPackage.StrMembershipID = newStrMembershipID;
                    mMemberPackage.UpdateAllWstrMembershipIDLogic();

                    TblMemberCreditPackage mMemberCreditPackage;
                    mMemberCreditPackage = new TblMemberCreditPackage();
                    mMemberCreditPackage.StrMembershipIDOld = origStrMembershipID;
                    mMemberCreditPackage.StrMembershipID = newStrMembershipID;
                    mMemberCreditPackage.UpdateAllWstrMembershipIDLogic();
                    #endregion

                    //Request print for new non member
                    sqlCardRequest.NEmployeeID = pos.NCashierID;
                    sqlCardRequest.NStatusID = (int)CardStatusType.RequestPrint;
                    sqlCardRequest.StrBranchCode = pos.StrBranchCode;
                    sqlCardRequest.StrMembershipID = "NMC" +sqlCompany.NNonMembershipNo;
                    sqlCardRequest.DtLastEditDate = DateTime.Now;
                    sqlCardRequest.Insert();
                }
                else
                {
                    TblCardRequest sqlCardRequest = new TblCardRequest();
                    TblBranch sqlBranch = new TblBranch();

                    sqlBranch.MainConnectionProvider = connProvider;
                    sqlCardRequest.MainConnectionProvider = connProvider;

                    sqlBranch.StrBranchCode = pos.StrBranchCode;
                    sqlBranch.IncOne();

                    sqlMember.StrMembershipID = pos.StrMembershipID;
                    DataTable memberTable = sqlMember.SelectOne();

                    newStrMembershipID = pos.StrBranchCode.TrimEnd() + ACMS.Convert.ToInt32(sqlBranch.NMembershipNo);
                    string origStrMembershipID = sqlMember.StrMembershipID.Value;
                    pos.StrNewMembershipID = newStrMembershipID;

                    memberTable.Rows[0]["nMembershipNo"] = ACMS.Convert.ToInt32(sqlBranch.NMembershipNo);
                    memberTable.Rows[0]["strMembershipID"] = newStrMembershipID;
                    memberTable.Rows[0]["nCardStatusID"] = (int)CardStatusType.RequestPrint;

                    string cmdText = "Update tblMember SET strMembershipID = @NewStrMembershipID, " +
                        " nMembershipNo = @nMembershipNo Where strMembershipID = @OriginalStrMembershipID";

                    sqlMember.UpdateKey(memberTable,  cmdText, "@NewStrMembershipID",  newStrMembershipID,
                        "@OriginalStrMembershipID", origStrMembershipID, new string[] {"@nMembershipNo"},
                        new object[] {ACMS.Convert.ToInt32(sqlBranch.NMembershipNo)});

                    #region ====== Added By Albert ======
                    //To update member packages after changing MembershipID.
                    TblMemberPackage mMemberPackage;
                    mMemberPackage = new TblMemberPackage();
                    mMemberPackage.StrMembershipIDOld = origStrMembershipID;
                    mMemberPackage.StrMembershipID = newStrMembershipID;
                    mMemberPackage.UpdateAllWstrMembershipIDLogic();

                    TblMemberCreditPackage mMemberCreditPackage;
                    mMemberCreditPackage = new TblMemberCreditPackage();
                    mMemberCreditPackage.StrMembershipIDOld = origStrMembershipID;
                    mMemberCreditPackage.StrMembershipID = newStrMembershipID;
                    mMemberCreditPackage.UpdateAllWstrMembershipIDLogic();
                    #endregion

                    //Request print for new non member
                    sqlCardRequest.NEmployeeID = pos.NCashierID;
                    sqlCardRequest.NStatusID = (int)CardStatusType.RequestPrint;
                    sqlCardRequest.StrBranchCode = pos.StrBranchCode;
                    sqlCardRequest.StrMembershipID = newStrMembershipID;
                    sqlCardRequest.DtLastEditDate = DateTime.Now;
                    sqlCardRequest.Insert();
                }

                if (introduceMemberTable != null && introduceMemberTable.Rows.Count > 0)
                {
                    foreach (DataRow r in introduceMemberTable.Rows)
                        r["StrIntroducerMembershipID"] = newStrMembershipID;

                    sqlIntroduceMember.SaveData(introduceMemberTable);
                }

                TblAudit sqlAudit = new TblAudit();
                sqlAudit.MainConnectionProvider = connProvider;
                //Audit trail for request print
                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberCard;
                sqlAudit.NEmployeeID = pos.NCashierID;
                sqlAudit.StrAuditEntry = "Replace member card with new ID";
                sqlAudit.StrReference = newStrMembershipID;
                sqlAudit.DtDate = DateTime.Now;
                sqlAudit.Insert();
            }
        }
示例#5
0
文件: POS.cs 项目: kimykunjun/test
        private void MakeDeposit(ACMSDAL.ConnectionProvider connProvider, ACMSLogic.POS pos)
        {
            if (pos.NCategoryID == 16)
            {
                TblMember member = new TblMember();
                member.MainConnectionProvider = connProvider;

                member.StrMembershipID = pos.StrMembershipID;
                member.SelectOne();
                member.FLockerDeposit = true;

                member.Update();
            }
        }
示例#6
0
文件: POS.cs 项目: kimykunjun/test
        private void InitTblReceipt()
        {
            DataColumn colDiscountAmt = new DataColumn("DiscountAmt", typeof(decimal));
            DataColumn colCodeStatus= new DataColumn("CodeStatus", typeof(int));
            DataColumn colMemberName = new DataColumn("strMemberName", typeof(string));
            DataColumn colTherapistName = new DataColumn("strTherapistName", typeof(string));
            DataColumn colSalesPersonName = new DataColumn("strSalesPersonName", typeof(string));

            myReceiptMasterTable.Columns.Add(colMemberName);
            myReceiptMasterTable.Columns.Add(colDiscountAmt);
            myReceiptMasterTable.Columns.Add(colCodeStatus);// this is use to determine what kind of code store in strCode
            myReceiptMasterTable.Columns.Add(colTherapistName);
            myReceiptMasterTable.Columns.Add(colSalesPersonName);

            TblMember member = new TblMember();
            member.StrMembershipID = myMembershipID;
            member.SelectOne();

            DataRow r = myReceiptMasterTable.NewRow();

            r["strReceiptNo"] = GenerateAutoID();
            r["strMembershipID"] = myMembershipID;
            r["strBranchCode"] = myBranchCode;
            r["nCategoryID"] = myCategoryID;

            /*
            if (myGIROID == 1)
            {
                TblReceipt receipt = new TblReceipt();
                Decimal mTotalOutstanding = 0;
                object obj = receipt.GetConvertFitnessGirotoGiroFitness(myMembershipID);

                if (obj != null)
                {
                    mTotalOutstanding = (int)obj;
                }

                if (mTotalOutstanding > 0)
                {
                    r["nCategoryID"] = 35;//GIRO Fitness Jackie 11/10/2012
                }
                else
                {
                    r["nCategoryID"] = 2;//GIRO Fitness Jackie 11/10/2012
                }
            }
            else
            {
                r["nCategoryID"] = myCategoryID;
            }*/
            r["dtDate"] = DateTime.Now.Date;
            r["nCashierID"] = myEmployeeID;
            r["nShiftID"] = myShiftID;
            r["nTerminalID"] = myTerminalID;
            r["nTaxID"] = myTaxID;
            r["strMemberName"] = member.StrMemberName.IsNull ? "" : member.StrMemberName.Value;
            r["fVoid"] = 0;
            r["strLocation"] = myLocation;
              //  r["nPackageID"] = myPackageID;
            r["dtDateTime"] = DateTime.Now;

            myReceiptMasterTable.Rows.Add(r);
        }
示例#7
0
        public void PrintClassAttendanceReminder(int nPackageID, string strMembershipID, int nClassInstanceID)
        {
            TblCompany comp = new TblCompany();
            DataTable compTable = comp.SelectAll();

            int nClassLeft = 0;
            int nDaysToExpire = 0;

            if (compTable != null && compTable.Rows.Count > 0)
            {
                nClassLeft = ACMS.Convert.ToInt32(compTable.Rows[0]["nClassLeft"]);
                nDaysToExpire = ACMS.Convert.ToInt32(compTable.Rows[0]["nDaysToExpire"]);
            }

            TblMemberPackage sqlMemberPackage = new TblMemberPackage();
            DataTable memberPackageTable = sqlMemberPackage.GetMemberPackage(nPackageID);

            ACMSLogic.MemberPackage.CalculateMemberPackageBalance(memberPackageTable.Rows[0]["strPackageCode"].ToString(),strMembershipID, memberPackageTable);

            DateTime expiryDate = ACMS.Convert.ToDateTime(memberPackageTable.Rows[0]["dtExpiryDate"]);

            TblMember member = new TblMember();
            DataTable memberTable = member.LoadData("Select dtDOB, strMemberName from tblMember Where strMembershipID = @strMembershipID",
                new string[] {"@strMembershipID"}, new object[] {strMembershipID});

            ACMSLogic.Printing myReceiptPrinting = new Printing();
            myReceiptPrinting.WriteLine(string.Format("Branch : {0} {1}", User.BranchCode,
                DateTime.Now.ToString("dd/MM/yyyy  hh:mm tt")));
            myReceiptPrinting.WriteLine(string.Format("Membership ID : {0}", strMembershipID));
            myReceiptPrinting.WriteLine(string.Format("Member Name : {0}", memberTable.Rows[0]["strMemberName"].ToString()));
            myReceiptPrinting.WriteLine("");

            if (memberPackageTable.Rows[0]["strPackageCode"].ToString() == "Unlinked")
            {

                myReceiptPrinting.WriteLine("No Valid Fitness Package.");
                //DataTable packageTable = sqlMemberPackage.LoadData("select mListPrice from tblPackage Where strDescription = 'Trial Gym'");
                //myReceiptPrinting.WriteLine("No Valid Fitness Package.");
                myReceiptPrinting.Print();
                return;
            }

            bool bClassPrint ;

            bClassPrint=false;

            if (memberPackageTable.Rows[0]["dtStartDate"] != DBNull.Value)
                myReceiptPrinting.WriteLine(string.Format("Package Start On : {0}",
                    ACMS.Convert.ToDateTime(memberPackageTable.Rows[0]["dtStartDate"]).ToString("dd/MM/yyyy")));

            if (memberPackageTable.Rows[0]["dtExpiryDate"] != DBNull.Value)
                myReceiptPrinting.WriteLine(string.Format("Package Expiry Date : {0}",
                    ACMS.Convert.ToDateTime(memberPackageTable.Rows[0]["dtExpiryDate"]).ToString("dd/MM/yyyy")));

            if (DateTime.Compare(ACMS.Convert.ToDBDateTime(memberPackageTable.Rows[0]["dtStartDate"]),DateTime.Today.Date)==0)
                //if (memberPackageTable.Rows[0]["dtExpiryDate"] == DBNull.Value)
            {
                TblClassAttendance classAttendance = new TblClassAttendance();
                classAttendance.NPackageID = nPackageID;
                int totalClassAttend = classAttendance.SelectAllWnPackageIDLogic().Rows.Count;
                if (totalClassAttend == 1)
                {
                    myReceiptPrinting.WriteLine("Package Has Been Activated.");
                    bClassPrint = true;
                }
            }

            //Print Day To Expiry
            System.TimeSpan timeSpan = expiryDate.Date.Subtract(DateTime.Today.Date);
            if (timeSpan.Days <= nDaysToExpire)
            {
                myReceiptPrinting.WriteLine(string.Format("Days To Expiry : {0}", timeSpan.Days));
                bClassPrint = true;
            }

            //Print Member Package Balance
            int balance = ACMS.Convert.ToInt32(memberPackageTable.Rows[0]["Balance"]);
            if (balance <= nClassLeft)
            {
                myReceiptPrinting.WriteLine(string.Format("Balance Visit : {0} ", balance));
                bClassPrint = true;
            }

            // Check Member Outstanding Receipt
            TblReceipt receipt = new TblReceipt();
            Decimal mTotalOutstanding = 0;
            object obj= receipt.GetOutStandingBalance(strMembershipID);

            if (obj != null)
            {
                mTotalOutstanding = (decimal)obj;
                mTotalOutstanding = decimal.Round(mTotalOutstanding, 2);
            }

            if (mTotalOutstanding > 0)
            {
                myReceiptPrinting.WriteLine("Outstanding Cash Bill Check.");
                bClassPrint = true;
            }

            if (memberPackageTable.Rows[0]["strRemarks"].ToString().Length > 0)
            {
                myReceiptPrinting.WriteLine("Refer To Member Package's Remark.");
                bClassPrint = true;
            }

            if (ACMS.Convert.ToDateTime(memberTable.Rows[0]["DtDOB"]).Date == DateTime.Today.Date)
            {
                myReceiptPrinting.WriteLine("");
                myReceiptPrinting.WriteLine(string.Format("Happy Birthday To {0}.",
                    memberTable.Rows[0]["strMemberName"].ToString()));
                bClassPrint = true;
            }

            //	myReceiptPrinting.Close;
            if (bClassPrint == true)
            {
                myReceiptPrinting.Print();
            }
            else myReceiptPrinting.DelFile();
        }
示例#8
0
        private void simpleButtonOK_Click(object sender, System.EventArgs e)
        {
            DataRow r = gridView1.GetDataRow(gridView1.FocusedRowHandle);

            if (r != null)
            {
                ACMSDAL.TblMemberPackage sqlCalcAnyOS1 = new ACMSDAL.TblMemberPackage();
                decimal dOutAmount = sqlCalcAnyOS1.OutstandingAmount(myPOS.StrMembershipID);

                if (myPOS.ReceiptMasterTable.Rows[0]["nCategoryID"].ToString() == "9")
                {
                    if (myPOS.ReceiptItemsTable.Select("strCode='" + r["strPackageGroupCode"].ToString() + "'").Length > 0)
                    {
                        MessageBox.Show(this, r["strPackageGroupCode"].ToString() + " already selected!", "Warning");
                        return;
                    }
                }

                if (dOutAmount > 0)
                {
                    DialogResult result1 = MessageBox.Show(this, myPOS.ReceiptMasterTable.Rows[0]["strMemberName"] + " has Outstanding amount of " + (string.Format("{0:C}", dOutAmount)) + "\nDo you want to continue?", "Warning",
                        MessageBoxButtons.YesNo);

                    if (result1 == DialogResult.No)
                        return;
                }

                if (myCategoryID == 4)
                {
                    //2106
                    TblMember sqlMember = new TblMember();
                    if (sqlMember.MembershipThisMonthBirtdayForUtilised(myPOS.StrMembershipID))
                    {

                        DialogResult result1 = MessageBox.Show("Member is having birthday this months and having 50% discount. Do you want to utilies?", "Warning",
                            MessageBoxButtons.YesNo);

                        if (result1 == DialogResult.Yes)
                        {

                            myPOS.NewBillDiscount("120046SSD");
                            myPOS.NewReceiptEntry(r["strPackageCode"].ToString(),
                           -1, r["strDescription"].ToString(),
                        1, (ACMS.Convert.ToDecimal(r["mListPrice"])), "");

                        }
                        else
                        {
                            myPOS.NewReceiptEntry(r["strPackageCode"].ToString(),
                            -1, r["strDescription"].ToString(),
                            1, ACMS.Convert.ToDecimal(r["mListPrice"]), "");

                        }
                    }
                    else
                    {
                        myPOS.NewReceiptEntry(r["strPackageCode"].ToString(),
                        -1, r["strDescription"].ToString(),
                        1, ACMS.Convert.ToDecimal(r["mListPrice"]), "");

                    }

                }
                // END TEST

                if (myCategoryID == 1 || myCategoryID == 3 ||// myCategoryID == 4 ||
                    myCategoryID == 6 || myCategoryID == 14 ||
                    myCategoryID == 23)
                {
                    myPOS.NewReceiptEntry(r["strPackageCode"].ToString(),
                        -1, r["strDescription"].ToString(),
                        1, ACMS.Convert.ToDecimal(r["mListPrice"]), "");
                }
                else if (myCategoryID == 5)
                {
                    myPOS.NewReceiptEntry(r["strPackageCode"].ToString(), -1, r["strDescription"].ToString(), 1, ACMS.Convert.ToDecimal(r["mListPrice"]), "");
                    DataTable myTblspapacakge = myPOSHelper.SearchOnePackageCode(r["strPackageCode"].ToString());

                    if (myTblspapacakge.Rows[0]["strFreePkgCode"].ToString() != string.Empty)
                    {
                       // ACMSLogic.POSEntries myEntry = new ACMSLogic.POSEntries(r);
                        myPOS.EditItemFreebieAndDiscount(myTblspapacakge.Rows[0]["strFreePkgCode"].ToString());
                    }

                }
                else if (myCategoryID == 2)
                {

                    decimal mBasePrice = 0M;
                    decimal mProRateTotal = 0M;
                    string strTypeCard = string.Empty;
                    string strCode = string.Empty;
                    string strDesc = string.Empty;
                    string strCardHolder = txtCardHolder.Text.Trim();
                    string strCreditCardNo = txtCreditCardNo.Text.Trim();
                    string strRefNo = string.Empty;
                    DateTime dtFrom = dtProrateFrom.Value;

                    mBasePrice = ACMS.Convert.ToDecimal(r["mListPrice"]);
                    mProRateTotal = (2 * mBasePrice);
                    strCode = r["strPackageCode"].ToString();
                    strDesc = r["strDescription"].ToString();
                    lblAmount.Text = "$" + mProRateTotal.ToString();
                    myPOS.dtPackageStart = dtFrom;
                 if (dtProrateFrom.Value.Day != 1 && dtProrateFrom.Value.Day != 16)
                  {
                  MessageBox.Show(" Please select the date either 1st or 16th of the month ");
                  this.DialogResult = DialogResult.None;
                  return;
                  }

                 {
                   myPOS.NewReceiptEntry(strCode, -1, strDesc, 1, mProRateTotal, strRefNo, strCardHolder, strTypeCard, strCreditCardNo);
                 }

                }
                else if (myCategoryID == 7 || myCategoryID == 36 || myCategoryID == 37)
                {
                    myPOS.NewReceiptEntry(r["strCreditPackageCode"].ToString(),
                        -1, r["strDescription"].ToString(),
                        1, ACMS.Convert.ToDecimal(r["mListPrice"]), "");
                }
                else if (myCategoryID == 38)
                {
                    myPOS.NewReceiptEntry(r["strSN"].ToString(),
                        -1, r["strDescription"].ToString(),
                        1, ACMS.Convert.ToDecimal(r["mValue"]), "");
                }
                else if (myCategoryID == 8 || myCategoryID == 9)
                {
                    myPOS.NewReceiptEntry(r["strPackageGroupCode"].ToString(),
                        -1, r["strDescription"].ToString(),
                        1, ACMS.Convert.ToDecimal(r["mListPrice"]), "");
                }
                else if (myCategoryID == 11 || myCategoryID == 12)
                {
                    myPOS.NewReceiptEntry(r["strProductCode"].ToString(),
                        -1, r["strDescription"].ToString(),
                        1, ACMS.Convert.ToDecimal(r["mBaseUnitPrice"]), "");
                }
            }
        }
示例#9
0
        //Amended by TBBC on 22 September 2015 for Intro friend package.
        public bool SaveIntroduceFriendforPackage(string strMembershipID, string strIntroducerID, string strPromotionCode, int employeeID)
        {
            bool bolReturn = false;
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            try
            {
                sqlMember.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("SaveIntroduceFriendforPackage");

                //sqlMember.UpdateIntroducerMembershipID(strMembershipID, strIntroducerID);
                DataTable IntroFriendFreebieTable = sqlMember.AddIntroFriendPackage(strIntroducerID, "INTRO " + strMembershipID, strPromotionCode, employeeID);

                //if (IntroFriendFreebieTable.Rows.Count > 0)
                //{
                //    bolReturn = true;
                //}
                connProvider.CommitTransaction();
                return true;
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                //sqlRewardsTransaction.Dispose();
                sqlMember.Dispose();
            }
        }
示例#10
0
        public DataTable SaveIntroduceFriend(string strMembershipID, string strIntroducerID, string Freebie, string strBranchCode,int employeeID)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            try
            {
            sqlMember.MainConnectionProvider = connProvider;
            connProvider.OpenConnection();
            connProvider.BeginTransaction("SaveIntroduceFriend");

            sqlMember.UpdateIntroducerMembershipID(strMembershipID, strIntroducerID);
            DataTable IntroFriendFreebieTable =sqlMember.AddIntroFriendFreebie(strMembershipID,strIntroducerID,Freebie,strBranchCode,employeeID);

            connProvider.CommitTransaction();
            return IntroFriendFreebieTable;
            }
            catch (Exception ex)
            {
                    throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                //sqlRewardsTransaction.Dispose();
                sqlMember.Dispose();
            }
        }
示例#11
0
        public bool SaveIntroduceFriend(string strMembershipID, string strIntroducerID, double point, int employeeID)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblRewardsTransaction sqlRewardsTransaction = new TblRewardsTransaction();

            try
            {
                sqlRewardsTransaction.MainConnectionProvider = connProvider;
                sqlMember.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("SaveIntroduceFriend");

                sqlMember.UpdateIntroducerMembershipID(strMembershipID, strIntroducerID);

                sqlRewardsTransaction.DRewardsPoints = point;
                sqlRewardsTransaction.DtDate = DateTime.Now;
                sqlRewardsTransaction.NEmployeeID = employeeID;
                sqlRewardsTransaction.NTypeID = 0;
                sqlRewardsTransaction.StrMembershipID = strIntroducerID;
                sqlRewardsTransaction.StrReferenceNo = strMembershipID;
                sqlRewardsTransaction.Insert();

                for (int i=0;i<5;i++)
                {
                    sqlMember.InsertFWFChance(strIntroducerID);
                }

                connProvider.CommitTransaction();
                return true;
            }
            catch (Exception ex)
            {
                connProvider.RollbackTransaction("SaveIntroduceFriend");
                if (ex.InnerException.Message.IndexOf("FK_tblMember_tblMember") >= 0 ||
                    ex.Message.IndexOf("FK_tblMember_tblMember") >= 0 ||
                    ex.InnerException.Message.IndexOf("FK_tblRewardsTransaction_tblMember") >= 0 ||
                    ex.Message.IndexOf("FK_tblRewardsTransaction_tblMember") >= 0)
                {
                    ACMS.Utils.UI.ShowErrorMessage(null, "Please enter a valid Membership ID.", "Error");
                    return false;
                }
                else
                    throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlRewardsTransaction.Dispose();
                sqlMember.Dispose();
            }
        }
示例#12
0
        public bool Reprint(string strMembershipID, int nEmployee, int CardStatus, string strCardBranchCode)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblCardRequest sqlCardRequest = new TblCardRequest();
            TblAudit sqlAudit = new TblAudit();

            bool isSuccess = false;
            try
            {
                sqlMember.MainConnectionProvider = connProvider;
                sqlCardRequest.MainConnectionProvider = connProvider;
                sqlAudit.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("ReprintCard");

                sqlMember.UpdateCardStatus(strMembershipID, CardStatus, strCardBranchCode);
                sqlCardRequest.NEmployeeID = nEmployee;
                sqlCardRequest.NStatusID = CardStatus;
                sqlCardRequest.StrBranchCode = strCardBranchCode;
                sqlCardRequest.StrMembershipID = strMembershipID;
                sqlCardRequest.DtLastEditDate = DateTime.Now;
                sqlCardRequest.Insert();

                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberCard;
                sqlAudit.NEmployeeID = nEmployee;
                sqlAudit.StrAuditEntry = "Reprint member card.";
                sqlAudit.StrReference = strMembershipID;
                sqlAudit.DtDate = DateTime.Now;
                sqlAudit.Insert();

                connProvider.CommitTransaction();
                isSuccess = true;
            }
            catch (Exception)
            {
                connProvider.RollbackTransaction("ReprintCard");
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlMember.Dispose();
                sqlCardRequest.Dispose();
                sqlAudit.Dispose();
            }
            return isSuccess;
        }
示例#13
0
        /// <summary>
        /// Method use to validate at beginning of Introduce friend.
        /// </summary>
        /// <returns></returns>
        public string IntroduceFriendValidation(string strMembershipID, bool hasIntroRight)
        {
            TblMember sqlMember = new TblMember();
            sqlMember.StrMembershipID = strMembershipID;
            DataTable myTable = sqlMember.SelectOne();
            sqlMember.Dispose();

            if (ACMS.Convert.ToDateTime(myTable.Rows[0]["dtSignupDate"]).Date !=
                DateTime.Now.Date)
            {
                if (!hasIntroRight)
                    return "This member is not signup today. Therefore, can't introduce by anyone.";
            }

            if (myTable.Rows[0]["strIntroducerMembershipID"] != DBNull.Value)
            {
                return "This member already been introduced.";
            }

            return "";
        }
示例#14
0
 public DataTable GetMemberBooking(string strMembershipID)
 {
     if (myMember == null)
         myMember = new TblMember();
     return myMember.GetMemberBooking(strMembershipID);
 }
示例#15
0
        public bool Delete(string strMembershipID, User aUser, string strRemark)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblAudit sqlAudit = new TblAudit();

            bool isSuccess = false;
            try
            {
                sqlMember.MainConnectionProvider = connProvider;
                sqlAudit.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("DeleteMember");

                sqlMember.DeleteMember(strMembershipID, strRemark);
                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberRecord;
                sqlAudit.NEmployeeID = aUser.NEmployeeID();
                sqlAudit.StrAuditEntry = "Delete member " +strMembershipID;
                sqlAudit.StrReference = strMembershipID;
                sqlAudit.DtDate = DateTime.Now;
                sqlAudit.Insert();

                connProvider.CommitTransaction();
                isSuccess = true;
            }
            catch (Exception)
            {
                connProvider.RollbackTransaction("DeleteMember");
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlMember.Dispose();
                sqlAudit.Dispose();
            }
            return isSuccess;
        }
示例#16
0
        private void OnConfirmLockerDeposit()
        {
            ACMSDAL.TblBranch branch = new ACMSDAL.TblBranch();
            branch.StrBranchCode = myPOS.StrBranchCode;
            branch.SelectOne();

            decimal lockerDeposit = ACMS.Convert.ToDecimal(branch.MLockerDepositRate);

            ACMSDAL.TblMember member = new ACMSDAL.TblMember();
            member.StrMembershipID = myPOS.StrMembershipID;
            member.SelectOne();

            if (myPOS.ReceiptItemsTable.Rows.Count == 0)
            {
                ACMSDAL.TblLocker sqlLocker = new ACMSDAL.TblLocker();

                DataTable table = sqlLocker.GetOccupiedLocker(myPOS.StrBranchCode, myPOS.StrMembershipID);

                if (table.Rows.Count > 0)
                {
                    MessageBox.Show(this, "Please return your locker before a new Deposit can make.");
                    return;
                }

                if (!member.FLockerDeposit.IsNull)
                {
                    if (member.FLockerDeposit.IsTrue)
                        MessageBox.Show(this, "Deposit has been saved in system.");
                    else
                    {
                        DialogResult result = MessageBox.Show(this, string.Format("Locker Deposit is $ {0}, Continue?", lockerDeposit), "Add Deposit", MessageBoxButtons.OKCancel);
                        if (result == DialogResult.OK)
                            myPOS.NewReceiptEntry(myPOS.StrMembershipID, -1, "Locker Deposit", 1, lockerDeposit, myPOS.StrMembershipID);
                    }
                }
                else
                {
                    DialogResult result = MessageBox.Show(this, string.Format("Locker Deposit is $ {0}, Continue?", lockerDeposit), "Add Deposit", MessageBoxButtons.OKCancel);
                    if (result == DialogResult.OK)
                        myPOS.NewReceiptEntry(myPOS.StrMembershipID, -1, "Locker Deposit", 1, lockerDeposit, myPOS.StrMembershipID);
                }
            }
            else
            {
                MessageBox.Show(this, "Only one deposit is allow in one receipt.");
            }
        }
示例#17
0
        protected void SendConfirmation(string strMembershipID, string strMembershipName, string strEmail)
        {
            int nEdmId = 71;
            string tmp_strEncryptionKey = "";
            string tmp_strSubject = "";
            string tmp_strContent = "";
            string tmp_strSender = "";
            Random rnd = new Random();

            DateTime dtToday = DateTime.Today;
            string dtExpiryDate = String.Format("{0:MMM d, yyyy}", dtToday.AddMonths(1));

            //Blast the email consent to the leads if email is not null
            if (strEmail.Trim() != "" && IsEmailValid(strEmail.ToLower()))
            {
                DataTable dtEdmContent = new DataTable();
                TblMember myMember = new TblMember();
                dtEdmContent = myMember.GetMemberConfirmationEmail();

                if (dtEdmContent.Rows.Count > 0)
                {
                    foreach (DataRow rs in dtEdmContent.Rows)
                    {
                        tmp_strSender = rs["strSender"].ToString().Trim();
                        tmp_strSubject = rs["strSubject"].ToString().Trim();
                        tmp_strContent = rs["strContent"].ToString().Trim();
                    }
                }

                dtEdmContent.Dispose();
                //nEdmId = myContacts.CreateNewEdm(tmp_strSender, tmp_strSubject, tmp_strContent, 1, 9, "L"); //Insert Into DB

                string tmp_strMembershipID = strMembershipID.ToString();
                string tmp_strMemberName = strMembershipName;
                //Generate random order number 1-5
                int tmp_nOrder = GetRandomOrderNo(rnd);
                string tmp_strDate = GetToday();

                //Generate Encryption Key, status = 0
                tmp_strEncryptionKey = GetEncryptionKey(nEdmId, tmp_strMembershipID, strEmail.Trim(), tmp_strDate);

                //Need to check if email has been sent - from logs
                if (!IsDuplicatedSubmission(tmp_strMembershipID,
                                                    strEmail.Trim(),
                                                    nEdmId,
                                                    tmp_strEncryptionKey))
                {
                    //Send Email
                    SendEDM(StrMembershipID, tmp_strMemberName.ToUpper(), dtExpiryDate, strEmail,
                                tmp_strSender, tmp_strSubject, tmp_strContent, nEdmId.ToString(),
                                tmp_strEncryptionKey);

                    InsertEmailSendingLog(strEmail.Trim(), nEdmId,
                                                    tmp_strMembershipID, tmp_strMemberName,
                                                    tmp_strDate, tmp_strEncryptionKey,
                                                    "M");
                    MessageBox.Show("Email sent");
                }
            }
        }
示例#18
0
        //2006
        // public DataTable SaveIntroduceFriendNew(string strMembershipID, string strIntroducerID, string strPackage, string strRemark, int employeeID)
        public bool SaveIntroduceFriendNew(string strMembershipID, string strIntroducerID, string strPackage, string strRemark, int employeeID,int nPackageID)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblMemberPackage sqlMemberPackage = new TblMemberPackage();
            TblPackage sqlPackage = new TblPackage();
            try
            {

                sqlMember.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("SaveIntroduceFriend");

              //  sqlMember.UpdateIntroducerMembershipID(strMembershipID, strIntroducerID);
                sqlMember.UpdateIntroducerMembershipID(strIntroducerID, strMembershipID);
                MemberPackage.CreateFreeMemberSpaPackage_IntroFriend(strMembershipID, strPackage, strRemark, ref nPackageID);
               // MemberPackage.CreateFreeMemberSpaPackage_IntroFriend(strIntroducerID, strPackage, strRemark, ref nPackageID);

                connProvider.CommitTransaction();
                return true;
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlPackage.Dispose();
                sqlMember.Dispose();
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            strFreebiz = "";
            bool is4 = false;
            bool is8 = false;
            if (lkpEdtSalesPersonID.Text == "")
            {
                UI.ShowErrorMessage(this, "Please select Sales Person");
                lkpEdtSalesPersonID.Focus();
                DialogResult = DialogResult.None;
                return;
            }
            else
                employeeID = ACMS.Convert.ToInt32(lkpEdtSalesPersonID.EditValue);

            if (txtName1.Text.ToString().Length == 0 && txtContact1.Text.ToString().Length == 0 && txtName2.Text.ToString().Length == 0 && txtContact2.Text.ToString().Length == 0 && txtName3.Text.ToString().Length == 0 && txtContact3.Text.ToString().Length == 0 && txtName4.Text.ToString().Length == 0 && txtContact4.Text.ToString().Length == 0)
            {
                UI.ShowErrorMessage(this, "Please enter 1st friend name & contact");
                txtName1.Focus();
                DialogResult = DialogResult.None;
                return;
            }
            if (txtName1.Text.ToString().Length != 0 || txtContact1.Text.ToString().Length != 0 || txtName2.Text.ToString().Length != 0 || txtContact2.Text.ToString().Length != 0 || txtName3.Text.ToString().Length != 0 || txtContact3.Text.ToString().Length != 0 || txtName4.Text.ToString().Length != 0 || txtContact4.Text.ToString().Length != 0)
            {
                if (txtName1.Text.ToString().Length == 0 && txtContact1.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 1st friend name & contact");
                    txtName1.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                else if (txtName2.Text.ToString().Length == 0 && txtContact2.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 2nd friend name & contact");
                    txtName2.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                else if (txtName3.Text.ToString().Length == 0 && txtContact3.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 3rd friend name & contact");
                    txtName3.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                else if (txtName4.Text.ToString().Length == 0 && txtContact4.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 4th friend name & contact");
                    txtName4.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                is4 = true;
            }

            if (txtName5.Text.ToString().Length != 0 || txtContact5.Text.ToString().Length != 0 || txtName6.Text.ToString().Length != 0 || txtContact6.Text.ToString().Length != 0 || txtName7.Text.ToString().Length != 0 || txtContact7.Text.ToString().Length != 0 || txtName8.Text.ToString().Length != 0 || txtContact8.Text.ToString().Length != 0)
            {
                if (txtName5.Text.ToString().Length == 0 && txtContact5.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 5th friend name & contact");
                    txtName5.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                else if (txtName6.Text.ToString().Length == 0 && txtContact6.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 6th friend name & contact");
                    txtName6.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                else if (txtName7.Text.ToString().Length == 0 && txtContact7.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 7th friend name & contact");
                    txtName7.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                else if (txtName8.Text.ToString().Length == 0 && txtContact8.Text.ToString().Length == 0)
                {
                    UI.ShowErrorMessage(this, "Please enter 8th friend name & contact");
                    txtName8.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }
                is4 = false;
                is8 = true;
            }

            if (ddl4Friends.Text.Length == 0 && is4)
            {
                UI.ShowErrorMessage(this, "Please select Reward for 4 friends!");
                ddl4Friends.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            if (ddl8Friends.Text.Length == 0 && is8)
            {
                UI.ShowErrorMessage(this, "Please select Reward for 8 friends!");
                ddl8Friends.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            if ((ddl4Friends.Text.Length != 0) && (ddl8Friends.Text.Length != 0))
            {
                UI.ShowErrorMessage(this, "Please select only one Reward accordingly!");
                DialogResult = DialogResult.None;
                return;
            }

            try
            {
                if (is4)
                {
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName1.Text, "", strTerminalBranchCode, "", cbGender1.Text, DateTime.Now, 13, "", txtContact1.Text, "",1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName2.Text, "", strTerminalBranchCode, "", cbGender2.Text, DateTime.Now, 13, "", txtContact2.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName3.Text, "", strTerminalBranchCode, "", cbGender3.Text, DateTime.Now, 13, "", txtContact3.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName4.Text, "", strTerminalBranchCode, "", cbGender4.Text, DateTime.Now, 13, "", txtContact4.Text, "", 1);

                    TblRewards tr = new TblRewards();

                    ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
                    TblMember sqlMember = new TblMember();
                    TblRewardsTransaction sqlRewardsTransaction = new TblRewardsTransaction();
                    sqlRewardsTransaction.DRewardsPoints = Convert.ToInt16(ddl4Friends.EditValue.ToString());
                    sqlRewardsTransaction.DtDate = DateTime.Now;
                    sqlRewardsTransaction.NEmployeeID = employeeID;
                    sqlRewardsTransaction.NTypeID = 0;
                    sqlRewardsTransaction.StrMembershipID = strMembershipID;
                    sqlRewardsTransaction.StrReferenceNo = "4 Referral";
                    sqlRewardsTransaction.Insert();
                }
                else if (is8)
                {
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName1.Text, "", strTerminalBranchCode, "", cbGender1.Text, DateTime.Now, 13, "", txtContact1.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName2.Text, "", strTerminalBranchCode, "", cbGender2.Text, DateTime.Now, 13, "", txtContact2.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName3.Text, "", strTerminalBranchCode, "", cbGender3.Text, DateTime.Now, 13, "", txtContact3.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName4.Text, "", strTerminalBranchCode, "", cbGender4.Text, DateTime.Now, 13, "", txtContact4.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName5.Text, "", strTerminalBranchCode, "", cbGender5.Text, DateTime.Now, 13, "", txtContact5.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName6.Text, "", strTerminalBranchCode, "", cbGender6.Text, DateTime.Now, 13, "", txtContact6.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName7.Text, "", strTerminalBranchCode, "", cbGender7.Text, DateTime.Now, 13, "", txtContact7.Text, "", 1);
                    myContacts = new Contacts();
                    myContacts.NewContact(employeeID, txtName8.Text, "", strTerminalBranchCode, "", cbGender8.Text, DateTime.Now, 13, "", txtContact8.Text, "", 1);

                    ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
                    TblMember sqlMember = new TblMember();
                    TblRewardsTransaction sqlRewardsTransaction = new TblRewardsTransaction();
                    sqlRewardsTransaction.DRewardsPoints = Convert.ToInt16(ddl8Friends.EditValue.ToString());
                    sqlRewardsTransaction.DtDate = DateTime.Now;
                    sqlRewardsTransaction.NEmployeeID = employeeID;
                    sqlRewardsTransaction.NTypeID = 0;
                    sqlRewardsTransaction.StrMembershipID = strMembershipID;
                    sqlRewardsTransaction.StrReferenceNo = "8 Referral";
                    sqlRewardsTransaction.Insert();
                }

                MessageBox.Show("Intro Friends save successfully.");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            this.Close();
        }
示例#20
0
        public bool UpdateCardStatus(string strMembershipID, User aUser, CardStatusType myType, int nRequestID, 
			string strBranchCode)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblCardRequest sqlCardRequest = new TblCardRequest();
            TblAudit sqlAudit = new TblAudit();

            bool isSuccess = false;
            try
            {
                sqlMember.MainConnectionProvider = connProvider;
                sqlCardRequest.MainConnectionProvider = connProvider;
                sqlAudit.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("ChangeCardStatus");

                if (CardStatusType.RequestPrint == myType)
                    sqlMember.UpdateCardStatus(strMembershipID, (int)myType, "HQ");
                else
                    sqlMember.UpdateCardStatus(strMembershipID, (int)myType, strBranchCode);
                sqlCardRequest.NEmployeeID = aUser.NEmployeeID();
                sqlCardRequest.NRequestID = nRequestID;
                sqlCardRequest.NStatusID = (int)myType;
                sqlCardRequest.StrBranchCode = strBranchCode;
                sqlCardRequest.StrMembershipID = strMembershipID;
                sqlCardRequest.DtLastEditDate = DateTime.Now;
                sqlCardRequest.Update();

                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberCard;
                sqlAudit.NEmployeeID = aUser.NEmployeeID();
                sqlAudit.StrAuditEntry = "Update member card to " +myType.ToString() +".";
                sqlAudit.StrReference = strMembershipID;
                sqlAudit.DtDate = DateTime.Now;
                sqlAudit.Insert();

                connProvider.CommitTransaction();
                isSuccess = true;
            }
            catch (Exception)
            {
                connProvider.RollbackTransaction("ChangeCardStatus");
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlMember.Dispose();
                sqlCardRequest.Dispose();
                sqlAudit.Dispose();
            }
            return isSuccess;
        }
示例#21
0
        private void sbtnIntroduce_Click(object sender, System.EventArgs e)
        {
            //0506
            if ((lkpEdtLoyalPoint.EditValue != null || lkFreebie.EditValue != null || lkTreatment.EditValue != null) && ucMemberID1.EditValue.ToString().Length != 0)
            {
                if (string.Compare(strMembershipID.Trim(), ucMemberID1.EditValue.ToString().Trim(), true) == 0)
                {
                    UI.ShowErrorMessage(this, "Member introduce him/herself is not allow.");
                    ucMemberID1.Focus();
                    DialogResult = DialogResult.None;
                    return;
                }

                TblMember sqlMember = new TblMember();
                sqlMember.StrMembershipID = ucMemberID1.EditValue.ToString();
                DataTable memberTable = sqlMember.SelectOne();

                if (memberTable.Rows.Count > 0)
                {
                    if (string.Compare(memberTable.Rows[0]["strIntroducerMembershipID"].ToString().Trim(), strMembershipID.Trim(), true)==0)
                    {
                        UI.ShowErrorMessage(this, "Introducer selected was introduced by this member.");
                        ucMemberID1.Focus();
                        DialogResult = DialogResult.None;
                        return;
                    }
                }

                string PointType =lkpEdtLoyalPoint.Text;

                double point = 0.0;
                string promoteFreebie = "";
                if (lkpEdtLoyalPoint.EditValue != null)
                {
                    point = System.Convert.ToDouble(lkpEdtLoyalPoint.EditValue);
                }

                else if (lkFreebie.EditValue != null)
                {
                    promoteFreebie = lkFreebie.EditValue.ToString();
                }
                else if (lkTreatment.EditValue != null)
                {
                    promoteFreebie = lkTreatment.EditValue.ToString();
                }

                string introducerID = ucMemberID1.EditValue.ToString();

                if (point>0)
                {
                    if (myMemberRecord.SaveIntroduceFriend(strMembershipID, introducerID, point, employeeID))
                    {
                        this.DialogResult = DialogResult.OK;
                        PrintIntroReceipt(strMembershipID,introducerID,point,PointType);
                    }
                }//0506
                else if (lkTreatment.EditValue != null)
                {

                    bool success = false;
                    //success = myMemberRecord.SaveIntroduceFriendNew(strMembershipID, introducerID, "BM004(58)", "INTRO " + introducerID, employeeID, 0);
                    //Amended by TBBC on 22 September 2015 for Intro friend package.
                    //success = myMemberRecord.SaveIntroduceFriendNew( introducerID,strMembershipID, "BM004(58)", "INTRO " + strMembershipID, employeeID, 0);
                    success = myMemberRecord.SaveIntroduceFriend(strMembershipID, introducerID, 0, employeeID);
                    success = myMemberRecord.SaveIntroduceFriendforPackage(strMembershipID, introducerID, lkTreatment.EditValue.ToString(), employeeID);

            if (success)
            {
                this.DialogResult = DialogResult.OK;
                //PrintIntroReceipt(strMembershipID, introducerID, PrintIntroReceiptServices);
                PrintIntroReceiptServices(strMembershipID, introducerID, lkTreatment.Text);
            }
                }
                else if (promoteFreebie != "")
                {
                    DataTable IntroFriendFreebie = myMemberRecord.SaveIntroduceFriend(strMembershipID, introducerID, promoteFreebie, User.BranchCode,employeeID);
                    if (IntroFriendFreebie.Rows.Count > 0)
                    {
                        this.DialogResult = DialogResult.OK;
                        PrintIntroReceipt(strMembershipID,introducerID,IntroFriendFreebie);
                    }
                }
            }
            else
            {
                ACMS.Utils.UI.ShowErrorMessage(this, "Please fill in all field.", "Error");
                lkpEdtLoyalPoint.Focus();
                DialogResult = DialogResult.None;
            }
        }
示例#22
0
        public bool UpdateMember(string strMembershipID, 
                                    object dateDob, 
                                    bool fAirCrew, 
                                    bool fBoundCheck, 
                                    bool fEmail, 
			                        bool fGiroFailed, 
                                    bool fPostalMail, 
                                    bool fSingaporean, 
                                    bool fSMS, 
                                    int nLoyaltyStatusID, 
                                    string strAdd1, 
                                    string strAdd2, 
			                        string strAltEmail, 
                                    string strCardName, 
                                    string strCompany, 
                                    string strCreditCardNo, 
                                    string strEmail, 
			                        string strEmergencyContactNo, 
                                    string strEmergencyContactPerson, 
                                    string strHomeNo, 
                                    string strMemberName, 
			                        string strMobileNo, 
                                    string strNIRCFIN, 
                                    string strOccupation, 
                                    string strOfficeNo, 
                                    string strPagerNo, 
			                        string strPostalCode, 
                                    string strRemark, 
                                    int nMediaSourceID, 
                                    string strMediaSource, 
                                    string strBeforePhoto,
			                        string strAfterPhoto, 
                                    byte[] imgPhoto, 
                                    User aUser, 
                                    bool fFemale,
                                    bool fPhoneCall,
                                    string strSecurityQuestion,
                                    string strSecurityAnswer,
                                    string strMobileAppPwd)
        {
            ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            TblMember sqlMember = new TblMember();
            TblAudit sqlAudit = new TblAudit();

            bool isSuccess = false;

            try
            {
                sqlMember.MainConnectionProvider = connProvider;
                sqlAudit.MainConnectionProvider = connProvider;
                connProvider.OpenConnection();
                connProvider.BeginTransaction("UpdateMemberRecord");

                sqlMember.StrMembershipID = strMembershipID;
                sqlMember.FFemale = fFemale;
                sqlMember.FAirCrew = fAirCrew;
                sqlMember.FBounceCheck = fBoundCheck;
                sqlMember.FEmail = fEmail;
                sqlMember.FGIROFailed = fGiroFailed;
                sqlMember.FPostalMail = fPostalMail;
                sqlMember.FSingaporean = fSingaporean;
                sqlMember.FSMS = fSMS;
                sqlMember.FPhoneCall = fPhoneCall;

                if (nLoyaltyStatusID != 0)
                {
                    sqlMember.NLoyaltyStatusID = nLoyaltyStatusID;
                }

                sqlMember.StrAddress1 = strAdd1;
                sqlMember.StrAddress2 = strAdd2;
                sqlMember.StrAltEmail = strAltEmail;
                sqlMember.StrCardName = strCardName;
                sqlMember.StrCompany = strCompany;
                sqlMember.StrCreditCardNo = strCreditCardNo;
                sqlMember.StrEmail = strEmail;
                sqlMember.StrEmergencyContactNumber = strEmergencyContactNo;
                sqlMember.StrEmergencyContactPerson = strEmergencyContactPerson;
                sqlMember.StrHomeNo = strHomeNo;
                sqlMember.StrMemberName = strMemberName;
                sqlMember.StrMobileNo = strMobileNo;
                sqlMember.StrNRICFIN = strNIRCFIN;
                sqlMember.StrOccupation = strOccupation;
                sqlMember.StrOfficeNo = strOfficeNo;
                sqlMember.StrPagerNo = strPagerNo;
                sqlMember.StrPostalCode = strPostalCode;
                sqlMember.StrRemarks = strRemark;
                sqlMember.NMediaSourceID = nMediaSourceID;
                sqlMember.StrMediaSource = strMediaSource;
                sqlMember.NEmployeeID = aUser.NEmployeeID();
                sqlMember.StrSecurityQuestion = strSecurityQuestion;
                sqlMember.StrSecurityAnswer = strSecurityAnswer;
                sqlMember.StrPassword = strMobileAppPwd;

                sqlMember.Update2(dateDob, strBeforePhoto, strAfterPhoto, imgPhoto);

                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberRecord;
                sqlAudit.NEmployeeID = aUser.NEmployeeID();
                sqlAudit.StrAuditEntry = "Update member " +strMembershipID;
                sqlAudit.StrReference = strMembershipID;
                sqlAudit.DtDate = DateTime.Now;
                sqlAudit.Insert();

                connProvider.CommitTransaction();
                isSuccess = true;

            }
            catch (Exception)
            {
                connProvider.RollbackTransaction("UpdateMemberRecord");
                throw;
            }
            finally
            {
                if (connProvider.CurrentTransaction != null)
                    connProvider.CurrentTransaction.Dispose();
                if (connProvider.DBConnection != null)
                {
                    if (connProvider.DBConnection.State == ConnectionState.Open)
                        connProvider.DBConnection.Close();
                    connProvider.DBConnection.Dispose();
                }
                sqlMember.Dispose();
                sqlAudit.Dispose();
            }
            return isSuccess;
        }
示例#23
0
文件: POS.cs 项目: kimykunjun/test
        //DEREK Instalment Plan Need to Update Receipt Here
        public void PrintReceipt(string receiptNo)
        {
            DataColumn colItemDiscountAmt = new DataColumn("DiscountAmt", typeof(decimal));
            DataColumn colBillDiscountAmt = new DataColumn("DiscountAmt", typeof(decimal));
            DataColumn colMemberName = new DataColumn("strMemberName", typeof(string));
            DataColumn colRewardPoint = new DataColumn("RewardPoint", typeof(decimal));
            DataColumn colGSTPaid = new DataColumn("GSTPaid", typeof(decimal));
            //DataColumn colOSAmt = new DataColumn("mOutstandingAmount", typeof(decimal));

            TblReceipt receipt = new TblReceipt();
            receipt.StrReceiptNo = receiptNo;
            DataTable tableReceipt = receipt.SelectOne();
            tableReceipt.TableName = "TblReceipt";
            tableReceipt.Columns.Add(colBillDiscountAmt);
            tableReceipt.Columns.Add(colMemberName);
            tableReceipt.Columns.Add(colRewardPoint);
            tableReceipt.Columns.Add(colGSTPaid);
               // tableReceipt.Columns.Add(colOSAmt);

            TblMember sqlMember = new TblMember();
            sqlMember.StrMembershipID = receipt.StrMembershipID;
            sqlMember.SelectOne();

            tableReceipt.Rows[0]["strMemberName"] = sqlMember.StrMemberName.IsNull ? "" : sqlMember.StrMemberName.Value.ToUpper();

            TblBranch sqlBranch = new TblBranch();
            sqlBranch.StrBranchCode = receipt.StrBranchCode == SqlString.Null ? "" : receipt.StrBranchCode.Value;
            DataTable branchTable = sqlBranch.SelectOne();

            TblRewardsTransaction sqlRewTrans = new TblRewardsTransaction();
            decimal rewardpoint = sqlRewTrans.GetMemberLoyaltyPoint(receipt.StrMembershipID.Value);
            tableReceipt.Rows[0]["RewardPoint"] = System.Math.Round(rewardpoint);

            TblReceiptEntries receiptEntries = new TblReceiptEntries();
            receiptEntries.StrReceiptNo = receiptNo;
            DataTable tableReceiptEntries = receiptEntries.SelectAllWstrReceiptNoLogic();
            tableReceiptEntries.TableName = "TblReceiptEntries";
            tableReceiptEntries.Columns.Add(colItemDiscountAmt);

            TblReceiptFreebie freebie = new TblReceiptFreebie();
            freebie.StrReceiptNo = receiptNo;
            DataTable tableReceiptFreebie = freebie.SelectReceiptFreebie();
            tableReceiptFreebie.TableName = "TblReceiptFreebie";

            TblMemberPackage FreePackage = new TblMemberPackage();
            FreePackage.StrReceiptNo = receiptNo;
            DataTable tableFreePackage = FreePackage.GetFreePackage(receiptNo);
            tableFreePackage.TableName = "TblFreePackage";

            TblMemberPackage ConvertedPackage = new TblMemberPackage();
            ConvertedPackage.StrReceiptNo = receiptNo;
            DataTable tableConvertedPackage = ConvertedPackage.GetConvertedPackage(receiptNo);
            tableConvertedPackage.TableName = "TblConvertedPackage";

            TblPaymentPlan myPaymentPlan = new TblPaymentPlan();
            DataTable tablePaymentPlan = myPaymentPlan.GetInhouseIPPOSByReceiptNo(receiptNo);
            tablePaymentPlan.TableName = "TblPaymentPlan";

            DataTable tableDeposit = myPaymentPlan.GetInhouseIPPReceiptDeposit(receiptNo);
            tableDeposit.TableName = "TblReceiptDeposit";

            //			TblProduct Product = new TblProduct();
            //		//	Product.StrProductCode = tableReceiptFreebie.Rows[0]["strItemCode"].ToString();
            //			DataTable tableProduct = Product.SelectAll();
            //			tableProduct.TableName = "TblProductName";

            decimal nettAmountB4Discount = 0;
            decimal discoutnAmt =0;
            decimal depositAmt = 0;

            if (tableDeposit.Rows.Count > 0)
            {
                depositAmt = Convert.ToDecimal(tableDeposit.Rows[0]["TotalDeposit"]);
            }

            foreach (DataRow r in tableReceiptEntries.Rows)
            {
                int qty = ACMS.Convert.ToInt32(r["nQuantity"]);
                decimal unitPrice = ACMS.Convert.ToDecimal(r["mUnitPrice"]);
                decimal currSubtotal = ACMS.Convert.ToDecimal(r["mSubTotal"]);
                discoutnAmt = (unitPrice * qty) - currSubtotal;
                r["DiscountAmt"] = decimal.Round(discoutnAmt, 2);

                nettAmountB4Discount += currSubtotal;
            }

            //Sub Total
            DataColumn colSubTotal = new DataColumn("mSubTotal", typeof(decimal));
            tableReceipt.Columns.Add(colSubTotal);
            tableReceipt.Rows[0]["mSubTotal"] = nettAmountB4Discount;

             decimal nettAmountAfterDiscount = ACMS.Convert.ToDecimal(tableReceipt.Rows[0]["mNettAmount"]);

            if (tableReceipt.Rows[0]["strDiscountCode"].ToString().Length > 0 &&
                tableReceipt.Rows[0]["strDiscountCode"] != DBNull.Value)
            {
                tableReceipt.Rows[0]["DiscountAmt"] = nettAmountB4Discount - (nettAmountAfterDiscount + depositAmt);
            }

            TblReceiptPayment receiptPayment = new TblReceiptPayment();
            receiptPayment.StrReceiptNo = receiptNo;
            DataTable tableReceiptPayment = receiptPayment.SelectAllWstrReceiptNoLogic();
            tableReceiptPayment.TableName = "TblReceiptPayment";

            TblCompany comp = new TblCompany();

            DataTable compTable = comp.SelectAll();

            int myTaxID = ACMS.Convert.ToInt32(compTable.Rows[0]["NTaxID"]);
            TblTax tax = new TblTax();
            tax.NTaxID = myTaxID;
            tax.SelectOne();
            decimal myGSTRate = tax.DTaxRate.IsNull ? 0 : (decimal)tax.DTaxRate.Value;

            decimal GSTAmtPaid=0;
            decimal GSTRate1=myGSTRate;//0.05M;
            decimal GSTRate2=myGSTRate+1;// 1.05M;

            foreach (DataRow p in tableReceiptPayment.Rows)
            {
                GSTAmtPaid=GSTAmtPaid+ACMS.Convert.ToDecimal(p[3])* GSTRate1 /GSTRate2;
            }
            if (receipt.NCategoryID.ToString() != "38")
            {
                tableReceipt.Rows[0]["GSTPaid"] = decimal.Round(GSTAmtPaid, 2);
            }
            else
            {
                tableReceipt.Rows[0]["GSTPaid"] = decimal.Round(0, 2);
            }

            DataSet newDS = new DataSet("Receipt");
            newDS.Tables.Add(tableReceipt);

            newDS.Tables.Add(tableReceiptEntries);
            newDS.Tables.Add(tableReceiptPayment);
            newDS.Tables.Add(branchTable);
            //			newDS.Tables.Add(tableProduct);
            newDS.Tables.Add(tableReceiptFreebie);
            newDS.Tables.Add(tableFreePackage);
            newDS.Tables.Add(tableConvertedPackage);
            newDS.Tables.Add(tablePaymentPlan);
            newDS.Tables.Add(tableDeposit);

            DataRelation relation1 = new DataRelation("Receipt_ReceiptEntries_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblReceiptEntries"].Columns["strReceiptNo"], false);

            DataRelation relation2 = new DataRelation("Receipt_ReceiptPayment_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblReceiptPayment"].Columns["strReceiptNo"], false);

            DataRelation relation3 = new DataRelation("Receipt_ReceiptFreebie_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblReceiptFreebie"].Columns["strReceiptNo"], false);

            DataRelation relation4 = new DataRelation("Receipt_FreePackage_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblFreePackage"].Columns["strReceiptNo"], false);

            DataRelation relation5 = new DataRelation("Receipt_ConvertedPackage_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblConvertedPackage"].Columns["strReceiptNo"], false);

            DataRelation relation6 = new DataRelation("Receipt_PaymentPlan_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblPaymentPlan"].Columns["strReceiptNo"], false);

            DataRelation relation7 = new DataRelation("Receipt_Deposit_Relation", newDS.Tables["TblReceipt"].Columns["strReceiptNo"],
                newDS.Tables["TblReceiptDeposit"].Columns["strReceiptNo"], false);

            newDS.Relations.Add(relation1);
            newDS.Relations.Add(relation2);
            newDS.Relations.Add(relation3);
            newDS.Relations.Add(relation4);
            newDS.Relations.Add(relation5);
            newDS.Relations.Add(relation6);
            newDS.Relations.Add(relation7);

            //display GST %
            DataColumn colGstTax = new DataColumn("GstTax", typeof(int));
            tableReceipt.Columns.Add(colGstTax);
            tableReceipt.Rows[0]["GstTax"] = myGSTRate * 100;

            ACMSLogic.Report.Receipt receiptReport = new ACMSLogic.Report.Receipt();

            receiptReport.DataSource = newDS;

            //			if (ACMS.Convert.ToDecimal(tableReceipt.Rows[0]["DiscountAmt"])==0)
            //			{
            //				receiptReport.HideFields(false);
            //            }
            //			else
            //			{
            //				receiptReport.HideFields(true);
            //			}

               // receiptReport.ShowDesignerDialog();
            receiptReport.Print();
        }
示例#24
0
文件: Member.cs 项目: kimykunjun/test
 private void Init()
 {
     myMember = new TblMember();
     myDataTable = myMember.SelectAllForLookupEdit();
 }
示例#25
0
文件: POS.cs 项目: kimykunjun/test
        //private int UpgradePackage(ACMSDAL.ConnectionProvider connProvider, ACMSLogic.POS pos)
        //{
        //        UpgradeNonGIRO(connProvider, pos);
        private void PostToMemberPackage(ACMSDAL.ConnectionProvider connProvider, ACMSLogic.POS pos)
        {
            //MemberRecord myMemberRecord = new MemberRecord(pos.StrMembershipID.ToString(), pos.StrBranchCode.ToString());
            TblMemberPackage memberPackage = new TblMemberPackage();
            memberPackage.MainConnectionProvider = connProvider;

            DataTable memberPackagetable = memberPackage.FillSchema("Select * from tblMemberPackage");

            string strUpgradeFrom="";
            string strRemarks = "";
            foreach (DataRow dr in pos.WantToUpgradeMemberPackageTable.Rows)
            {
                strRemarks += dr["strPackageCode"].ToString() + " / " + dr["strReceiptNo"].ToString() + " / " + dr["UsageBalAmt"].ToString() + ",";
                if (dr["nCategoryID"].ToString() == "7" || dr["nCategoryID"].ToString() == "36" || dr["nCategoryID"].ToString() == "37")
                    strUpgradeFrom += dr["nPackageID"].ToString() + "(C),";
                else if (dr["nCategoryID"].ToString() == "8" || dr["nCategoryID"].ToString() == "9")
                    strUpgradeFrom += dr["nPackageID"].ToString() + "(B),";
                else
                    strUpgradeFrom += dr["nPackageID"].ToString() + ",";

                if (ACMS.Convert.ToInt32(dr["nCategoryID"]) == 5 && dr["strFreePkgCode"] != DBNull.Value)
                {
                    TblMemberPackage mp = new TblMemberPackage();
                    mp.MainConnectionProvider = connProvider;
                    DataTable freePkgTable = mp.LoadData("select * from tblMemberPackage where strReceiptNo=@strReceiptNo and strPackageCode =@strFreePackageCode ",
                        new string[] { "@strReceiptNo", "@strFreePackageCode" }, new object[] { dr["strReceiptNo"], dr["strFreePkgCode"].ToString() });

                    if (freePkgTable.Rows.Count > 0)
                    {
                        if (dr["nCategoryID"].ToString() == "7" || dr["nCategoryID"].ToString() == "36" || dr["nCategoryID"].ToString() == "37")
                            strUpgradeFrom += freePkgTable.Rows[0]["nPackageID"].ToString() + "(C),";
                        else if (dr["nCategoryID"].ToString() == "8" || dr["nCategoryID"].ToString() == "9")
                            strUpgradeFrom += freePkgTable.Rows[0]["nPackageID"].ToString() + "(B),";
                        else
                            strUpgradeFrom += freePkgTable.Rows[0]["nPackageID"].ToString() + ",";
                    }
                }
            }
            if (pos.WantToUpgradeMemberPackageTable.Rows.Count > 0)
            {
                strUpgradeFrom = strUpgradeFrom.Remove(strUpgradeFrom.Length - 1, 1);
                strRemarks = "Convert from: " + strRemarks.Remove(strRemarks.Length - 1, 1);
            }

            if (pos.NCategoryID == 1 ||
                pos.NCategoryID == 3 || pos.NCategoryID == 4 ||
                pos.NCategoryID == 5 || pos.NCategoryID == 6 ||
                pos.NCategoryID == 14 || pos.NCategoryID == 23)

            {
                foreach (DataRow r in pos.ReceiptItemsTable.Rows)
                {
                    int nQuantity = ACMS.Convert.ToInt32(r["nQuantity"]);

                    if (r["strCode"].ToString().ToUpper() != "REG")
                    {
                        for (int i = 0; i < nQuantity; i++)
                        {
                            DataRow rowToAdd = memberPackagetable.NewRow();

                            MemberPackage.InitMemberPackageRowInPOS(rowToAdd, pos.StrReceiptNo, pos.StrMembershipID, r["strCode"].ToString(), "", false);
                            rowToAdd["strRemarks"] = strRemarks;
                            rowToAdd["strUpgradeFrom"] = strUpgradeFrom;
                            memberPackagetable.Rows.Add(rowToAdd);
                        }
                    }
                    else
                    {

                        TblMember sqlMember = new TblMember();
                        TblCardRequest sqlCardRequest = new TblCardRequest();
                        TblAudit sqlAudit = new TblAudit();
                        try
                        {
                            sqlMember.MainConnectionProvider = connProvider;
                            sqlCardRequest.MainConnectionProvider = connProvider;
                            sqlAudit.MainConnectionProvider = connProvider;
                            sqlMember.UpdateCardStatus(pos.StrMembershipID.ToString(), 0, pos.StrBranchCode.ToString());
                            sqlCardRequest.NEmployeeID = pos.NCashierID;
                            sqlCardRequest.NStatusID = 0;
                            sqlCardRequest.StrBranchCode = pos.StrBranchCode.ToString();
                            sqlCardRequest.StrMembershipID = pos.StrMembershipID.ToString();
                            sqlCardRequest.DtLastEditDate = DateTime.Now;
                            sqlCardRequest.Insert();

                            sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberCard;
                            sqlAudit.NEmployeeID = pos.NCashierID;
                            sqlAudit.StrAuditEntry = "Reprint member card.";
                            sqlAudit.StrReference = pos.StrMembershipID.ToString();
                            sqlAudit.DtDate = DateTime.Now;
                            sqlAudit.Insert();

                        }
                        catch (Exception)
                        {
                            throw;
                        }
                        finally
                        {

                            sqlMember.Dispose();
                            sqlCardRequest.Dispose();
                            sqlAudit.Dispose();
                        }

                    }
                }

                if (memberPackagetable.Rows.Count > 0)
                    memberPackage.SaveData(memberPackagetable);
            }
            else if (pos.NCategoryID == 7 ||
                pos.NCategoryID == 36 || pos.NCategoryID == 37) //Credit Pkg
            {
                foreach (DataRow r in pos.ReceiptItemsTable.Rows)
                {
                    if (r["strCode"].ToString() == "JOINFEES" || r["strCode"].ToString() == "JOINFEE" || r["strCode"].ToString() == "FA")
                    {
                        int nQuantity = ACMS.Convert.ToInt32(r["nQuantity"]);

                        if (r["strCode"].ToString().ToUpper() != "REG")
                        {
                            for (int i = 0; i < nQuantity; i++)
                            {
                                DataRow rowToAdd = memberPackagetable.NewRow();

                                MemberPackage.InitMemberPackageRowInPOS(rowToAdd, pos.StrReceiptNo, pos.StrMembershipID, r["strCode"].ToString(), "", false);
                                rowToAdd["strRemarks"] = strRemarks;
                                rowToAdd["strUpgradeFrom"] = strUpgradeFrom;
                                memberPackagetable.Rows.Add(rowToAdd);
                            }
                        }
                        else
                        {

                            TblMember sqlMember = new TblMember();
                            TblCardRequest sqlCardRequest = new TblCardRequest();
                            TblAudit sqlAudit = new TblAudit();
                            try
                            {
                                sqlMember.MainConnectionProvider = connProvider;
                                sqlCardRequest.MainConnectionProvider = connProvider;
                                sqlAudit.MainConnectionProvider = connProvider;
                                sqlMember.UpdateCardStatus(pos.StrMembershipID.ToString(), 0, pos.StrBranchCode.ToString());
                                sqlCardRequest.NEmployeeID = pos.NCashierID;
                                sqlCardRequest.NStatusID = 0;
                                sqlCardRequest.StrBranchCode = pos.StrBranchCode.ToString();
                                sqlCardRequest.StrMembershipID = pos.StrMembershipID.ToString();
                                sqlCardRequest.DtLastEditDate = DateTime.Now;
                                sqlCardRequest.Insert();

                                sqlAudit.NAuditTypeID = ACMSLogic.AuditTypeID.MemberCard;
                                sqlAudit.NEmployeeID = pos.NCashierID;
                                sqlAudit.StrAuditEntry = "Reprint member card.";
                                sqlAudit.StrReference = pos.StrMembershipID.ToString();
                                sqlAudit.DtDate = DateTime.Now;
                                sqlAudit.Insert();

                            }
                            catch (Exception)
                            {
                                throw;
                            }
                            finally
                            {

                                sqlMember.Dispose();
                                sqlCardRequest.Dispose();
                                sqlAudit.Dispose();
                            }
                        }
                    }
                }

                if (memberPackagetable.Rows.Count > 0)
                    memberPackage.SaveData(memberPackagetable);
            }
            else if ((pos.NCategoryID == 2) || (pos.NCategoryID == 34) || (pos.NCategoryID == 35))//New GIRO = 35
            {
                TblGIRO giro = new TblGIRO();
                giro.MainConnectionProvider = connProvider;

                foreach (DataRow r in pos.ReceiptItemsTable.Rows)
                {
                    // need to save tblGiro 1st
                    int nQuantity = ACMS.Convert.ToInt32(r["nQuantity"]);
                    DataRow[] giroRows = pos.GiroTable.Select("nEntryID = " + r["nEntryID"].ToString(), "", DataViewRowState.CurrentRows);
                    if (giroRows.Length > 0)
                    {

                        giro.strCardHolderName = giroRows[0]["strCardHolderName"].ToString();
                        giro.strReceiptNo = pos.StrReceiptNo;
                        giro.nCreditCard = giroRows[0]["nCreditCard"].ToString();
                        giro.dtCreditCardExpired = DateTime.Now;
                        giro.strTypeofCard = giroRows[0]["strTypeofCard"].ToString();
                        giro.strReceiptNo = pos.StrReceiptNo;
                        giro.Insert();

                        for (int i = 0; i < nQuantity; i++)
                        {
                            DataRow rowToAdd = memberPackagetable.NewRow();
                            MemberPackage.InitMemberPackageRowInPOS(rowToAdd, pos.StrReceiptNo, pos.StrMembershipID, r["strCode"].ToString(), "",
                                false, giro.NGIRORefID.IsNull ? -1 : giro.NGIRORefID.Value, pos.dtPackageStart, pos.NProrateDays);

                            memberPackagetable.Rows.Add(rowToAdd);
                        }
                    }
                    else
                    {
                        TblMemberPackage GIROPackage = new TblMemberPackage();
                        GIROPackage.MainConnectionProvider = connProvider;
                        GIROPackage.NPackageID = pos.NExtendGIROpkg;
                        DataTable memberGIROPKG = GIROPackage.SelectOne();

                        //start
                        //if (pos.NExtendGIROpkg == 0)
                        //{

                        //    foreach (DataRow rs in pos.ReceiptItemsTable.Rows)
                        //    {
                        //        int nQuantity1 = ACMS.Convert.ToInt32(r["nQuantity"]);

                        //        if (rs["strCode"].ToString().ToUpper() != "REG")
                        //        {
                        //            for (int i = 0; i < nQuantity1; i++)
                        //            {
                        //                DataRow rowToAdd = memberPackagetable.NewRow();

                        //                MemberPackage.InitMemberPackageRowInPOS(rowToAdd, pos.StrReceiptNo, pos.StrMembershipID, rs["strCode"].ToString(), "", false);

                        //                memberPackagetable.Rows.Add(rowToAdd);

                        //            }
                        //        }

                        //    }
                        //GIROPackage.SaveData(memberGIROPKG);

                        //}
                        //else

                        //GIROPackage start
                        //  {
                        //DateTime ExtendExpiryDate = System.Convert.ToDateTime(GIROPackage.DtExpiryDate.ToString());
                        //if (ExtendExpiryDate.Day > 27)
                        //    memberGIROPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 1).AddMonths(2).AddDays(-1);
                        //else if (ExtendExpiryDate.Day == 15)
                        //    memberGIROPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 15).AddMonths(1);
                        //memberGIROPKG.Rows[0]["fGiroStatus"] = "S";

                        DateTime ExtendExpiryDate = System.Convert.ToDateTime(GIROPackage.DtExpiryDate.ToString());
                        if (ExtendExpiryDate.Day > 27)
                            if (nQuantity > 1)
                                memberGIROPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 1).AddMonths(nQuantity + 1).AddDays(-1);
                            else
                                memberGIROPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 1).AddMonths(2).AddDays(-1);
                        else if (ExtendExpiryDate.Day == 15)
                            if (nQuantity > 1)
                                memberGIROPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 15).AddMonths(nQuantity + 1);
                            else
                                memberGIROPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 15).AddMonths(1);

                        memberGIROPKG.Rows[0]["fGiroStatus"] = "S";

                        //set package status to active if expired date > today
                        if (Convert.ToDateTime(memberGIROPKG.Rows[0]["dtexpirydate"]) > DateTime.Now)
                            memberGIROPKG.Rows[0]["nStatusID"] = 0;

                        if (pos.NCategoryID == 34)
                        {
                            memberGIROPKG.Rows[0]["nAdjust"] = ACMS.Convert.ToDBInt32(memberGIROPKG.Rows[0]["nAdjust"]) + 1;

                            POSHelper myPOSHelper = new POSHelper(pos);
                            DataTable tblSpaPackage = myPOSHelper.SearchOnePackageCode(memberGIROPKG.Rows[0]["strPackageCode"].ToString());
                            if (tblSpaPackage != null)
                            {
                                if (tblSpaPackage.Rows.Count > 0)
                                {
                                    string strFreePackageCode = tblSpaPackage.Rows[0]["strFreePkgCode"].ToString();
                                    DataTable tblFreePackage = GIROPackage.SelectPackageCode(strFreePackageCode, pos.StrMembershipID);
                                    int nFreePackageID = Convert.ToInt32(tblFreePackage.Rows[0]["nPackageID"]);

                                    TblMemberPackage GIROFreePackage = new TblMemberPackage();
                                    GIROFreePackage.MainConnectionProvider = connProvider;
                                    GIROFreePackage.NPackageID = nFreePackageID;

                                    DataTable memberGIROFREEPKG = GIROFreePackage.SelectOne();

                                    memberGIROFREEPKG.Rows[0]["nAdjust"] = ACMS.Convert.ToDBInt32(memberGIROFREEPKG.Rows[0]["nAdjust"]) + 1;

                                    if (ExtendExpiryDate.Day > 27)
                                        memberGIROFREEPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 1).AddMonths(2).AddDays(-1);
                                    else if (ExtendExpiryDate.Day == 15)
                                        memberGIROFREEPKG.Rows[0]["dtexpirydate"] = new DateTime(ExtendExpiryDate.Year, ExtendExpiryDate.Month, 15).AddMonths(1);
                                    memberGIROFREEPKG.Rows[0]["fGiroStatus"] = "S";
                                    GIROFreePackage.SaveData(memberGIROFREEPKG);
                                }
                            }
                        }
                        GIROPackage.SaveData(memberGIROPKG);
                        // }//GIROPackage start
                    }
                }

                if (memberPackagetable.Rows.Count > 0)
                    memberPackage.SaveData(memberPackagetable);
            }

            else if (pos.NCategoryID == 8 || pos.NCategoryID == 9)
            {
                TblPackageGroupEntries pckGroupEntries = new TblPackageGroupEntries();
                pckGroupEntries.MainConnectionProvider = connProvider;

                foreach (DataRow r in pos.ReceiptItemsTable.Rows)
                {
                    string strPackageGroupCode = r["strCode"].ToString();
                    int nQuantity = ACMS.Convert.ToInt32(r["nQuantity"]);

                    DataTable table = pckGroupEntries.GetPackageCodeList(strPackageGroupCode);

                    if (table != null && table.Rows.Count > 0)
                    {
                        int packageQty = 0;

                        foreach (DataRow r2 in table.Rows)
                        {
                            packageQty = ACMS.Convert.ToInt32(r2["nQuantity"]);

                            for (int i = 0; i < nQuantity; i++)
                            {
                                for (int j = 0; j < packageQty; j++)
                                {
                                    DataRow rowToAdd = memberPackagetable.NewRow();

                                    MemberPackage.InitMemberPackageRowInPOS(rowToAdd, pos.StrReceiptNo,
                                        pos.StrMembershipID, r2["strPackageCode"].ToString(), "", false);
                                    rowToAdd["strUpgradeFrom"] = strUpgradeFrom;
                                    rowToAdd["strRemarks"] = strRemarks;
                                    memberPackagetable.Rows.Add(rowToAdd);
                                }
                            }
                        }
                    }
                }
                if (memberPackagetable.Rows.Count > 0)
                    memberPackage.SaveData(memberPackagetable);
            }
        }
示例#26
0
        /// <summary>
        /// Use Member Credit Package means use the credit to buy the package and then store in the tblMemberPackage
        /// be aware some package is not allow to purchase using credit package. Must check tblCreditPackageRestriction
        /// </summary>
        /// <returns></returns>
        public string[,] UseMemberCreditPackage(string[,] strPackageCode,
            int nCreditPackageID, string strSignID, string strSigKey, string strPdfExportPath, string remark)
        {
            //ACMSDAL.ConnectionProvider connProvider = new ConnectionProvider();
            DataRow[] rows, row1s = new DataRow[strPackageCode.Length / 2];
            string[,] strUsage = new string[strPackageCode.Length / 2, 3];
            //DataColumn[] dc = new DataColumn["Usage",System.Type.GetType("System.Int")];

            try
            {
                TblMemberCreditPackage memberCreditPackage = new TblMemberCreditPackage();

                //connProvider.OpenConnection();
                //connProvider.BeginTransaction("UseMemberCreditPackage");

                //memberCreditPackage.MainConnectionProvider = connProvider;
                memberCreditPackage.NCreditPackageID = nCreditPackageID;
                DataTable table = memberCreditPackage.SelectOne();

                if (table == null || table.Rows.Count == 0)
                    throw new Exception("This member credit package been deleted by others");

                if (ACMS.Convert.ToInt32(table.Rows[0]["nStatusID"]) > 0)
                    throw new Exception("This member credit package has been deleted/expired/suspended.");

                string strCreditPackageCode = memberCreditPackage.StrCreditPackageCode.Value;
                string strMembershipID = memberCreditPackage.StrMembershipID.Value;
                TblCreditPackageRestriction restriction = new TblCreditPackageRestriction();
                restriction.StrCreditPackageCode = strCreditPackageCode;
                TblReceipt creditReceipt = new TblReceipt();
                if (!memberCreditPackage.StrReceiptNo.IsNull)
                {
                    creditReceipt.StrReceiptNo = memberCreditPackage.StrReceiptNo.Value;
                    creditReceipt.SelectOne();
                }

                DataTable restricttable = restriction.SelectAllWstrCreditPackageCodeLogic();
                DataColumn colQuantity = new DataColumn("colQuantity", System.Type.GetType("System.Int32"));
                restricttable.Columns.Add(colQuantity);

                bool isAllowDiscount = false;

                if (restricttable.Rows.Count == 0)
                    throw new Exception("No allow to use credit package for this package.");
                else
                {

                    for (int j = 0; j < strPackageCode.Length / 2; j++)
                    {
                        rows = restricttable.Select("strPackageCode = '" + strPackageCode[j, 0] + "'", "strCreditPackageCode");
                        rows[0]["colQuantity"] = strPackageCode[j, 1];
                        row1s[j] = rows[0];

                    }
                    if (row1s.Length == 0)
                        throw new Exception("No allow to use credit package for this package.");
                    // check later as got two package now
                    //else
                    //{
                    //    isAllowDiscount = ACMS.Convert.ToBoolean(row1s[0]["fAllowDiscount"]);
                    //}
                }

                // Must Check balance is enough to buy a Package or not
                TblCreditPackage creditPackage = new TblCreditPackage();
                creditPackage.StrCreditPackageCode = memberCreditPackage.StrCreditPackageCode.Value;
                creditPackage.SelectOne();

                decimal creditPackageValue = ACMS.Convert.ToDecimal(creditPackage.MCreditAmount);
                decimal mmbCreditPackageFreeCredit = ACMS.Convert.ToDecimal(creditPackage.MFreeCredit);
                decimal mmbCreditPackageTopupAmt = ACMS.Convert.ToDecimal(memberCreditPackage.MTopupAmount);

                decimal totalCreditUsage = GetCreditUsageFromMemberPackage(nCreditPackageID);

                decimal balance = (creditPackageValue + mmbCreditPackageTopupAmt + mmbCreditPackageFreeCredit) - totalCreditUsage;

                if (creditReceipt.MOutstandingAmount > 0 && !memberCreditPackage.StrReceiptNo.IsNull)
                {
                    DataTable creditUsageMemberPackage = null;
                    RefreshForPackageUsage(strMembershipID, ACMS.Convert.ToInt32(creditPackage.NCategoryID));
                    creditUsageMemberPackage = myDataTable;

                    double m70PercPaidAmount = 0;
                    if (creditUsageMemberPackage.Rows.Count > 0)
                        m70PercPaidAmount = ACMS.Convert.ToDouble(creditUsageMemberPackage.Select("nCreditPackageID=" + nCreditPackageID)[0]["PaidAmt"]) * 0.7;

                    if (totalCreditUsage > ACMS.Convert.ToDecimal(m70PercPaidAmount)) throw new Exception(string.Format("Total usage is more than 70% of paid amount. \n Please clear the outstanding."));
                }

                if (balance < 0) throw new Exception(string.Format("Balance for Member Credit Package : {0} is not enough.\n Please topup your credit.", nCreditPackageID.ToString()));

                // Need to know here whether it is 1st use
                TblMemberPackage mp = new TblMemberPackage();
                //mp.MainConnectionProvider = connProvider;
                mp.NCreditPackageID = nCreditPackageID;
                DataTable temptable = mp.SelectAllWnCreditPackageIDLogic();

                bool is1stUseCreditPck = false;
                if (Convert.ToInt32(temptable.Compute("COUNT(nStatusID)", "nStatusID=0 or nStatusID=1")) == 0)
                {
                    //means news insert
                    is1stUseCreditPck = true;
                }
                int i = 0;
                foreach (DataRow drPackage in row1s)
                {
                    for (int x = 0; x < ACMS.Convert.ToInt32(drPackage[3]); x++) // quantity
                    {
                        MemberPackage memberPackage = new MemberPackage();
                        DataTable memberPackageTable = memberPackage.New(false, strMembershipID);
                        DataRow memberPackageRow = memberPackageTable.Rows[0];
                        memberPackageRow["nCreditPackageID"] = nCreditPackageID;
                        memberPackageRow["strMembershipID"] = strMembershipID;
                        memberPackageRow["dtPurchaseDate"] = DateTime.Now;
                        memberPackageRow["strRemarks"] = remark;
                        memberPackageRow["strSignatureID"] = strSignID;
                        memberPackageRow["strSigKey"] = strSigKey;
                        memberPackageRow["strSigPdfPath"] = strPdfExportPath;
                        memberPackageRow["strUtilData"] = strSigKey;
                        memberPackageRow["nStatusID"] = 0;

                        memberPackageRow["strPackageCode"] = drPackage["strPackageCode"];//strPackageCode;
                        TblPackage package = new TblPackage();
                        package.StrPackageCode = drPackage["strPackageCode"].ToString(); // strPackageCode;
                        package.SelectOne();
                        decimal creditUsage = 0;
                        decimal packageListPrice = ACMS.Convert.ToDecimal(package.MListPrice);

                        TblMember sqlMember = new TblMember();
                        //Check if redeemed spa single treatment from holistic in birthday month, give 50% discount
                        if ((creditPackage.NCategoryID == 36 || creditPackage.NCategoryID == 37) && (package.NCategoryID == 4 || (package.NCategoryID == 6 && package.NMaxSession == 1)) && sqlMember.MembershipThisMonthBirtdayForUtilised(strMembershipID, nCreditPackageID))
                        {
                            DialogResult result1 = MessageBox.Show("Member is having birthday this months and having 50% discount. Do you want to utilies?", "Warning",
                            MessageBoxButtons.YesNo);

                            if (result1 == DialogResult.Yes)
                            {
                                double discountPercent = 50;
                                memberPackageRow["strPromotionCode"] = "120046SSD";
                                // calcualte usage * quantity
                                creditUsage = packageListPrice - (packageListPrice * (decimal)discountPercent / 100);
                            }
                            else
                            {
                                if (ACMS.Convert.ToBoolean(drPackage["fAllowDiscount"]))
                                {
                                    double discountPercent = creditPackage.DCreditDiscount.Value;
                                    // calcualte usage * quantity
                                    creditUsage = packageListPrice - (packageListPrice * (decimal)discountPercent / 100);
                                }
                                else
                                {
                                    creditUsage = packageListPrice;
                                }
                            }
                        }
                        else if (ACMS.Convert.ToBoolean(drPackage["fAllowDiscount"]))
                        {
                            double discountPercent = creditPackage.DCreditDiscount.Value;
                            // calcualte usage * quantity
                            creditUsage = packageListPrice - (packageListPrice * (decimal)discountPercent / 100);
                        }
                        else
                        {
                            creditUsage = packageListPrice;
                        }

                        decimal previousBal = balance;
                        balance = decimal.Parse(previousBal.ToString("N2")) - decimal.Parse(creditUsage.ToString("N2"));
                        if (balance < 0)
                            throw new Exception(string.Format("Balance for Member Credit Package : {0} is not enough. \n Please topup your credit.", nCreditPackageID.ToString()));

                        memberPackageRow["mCreditPackageUsagePrice"] = creditUsage;
                        memberPackageRow["strRemarks"] = memberPackageRow["strRemarks"] + " " + x;

                        //Initially designed for immediate kick start
                        if (memberPackageRow["dtStartDate"].ToString() == "")
                        {
                            int iduration = package.NPackageDuration.Value;
                            DateTime dtNow = DateTime.Now.Date;
                            memberPackageRow["dtStartDate"] = dtNow;
                            if (package.StrDurationUnit.ToString().Trim() == "DAY")
                                memberPackageRow["dtExpiryDate"] = dtNow.AddDays(iduration - 1).AddDays(0);
                            else if (package.StrDurationUnit.ToString().Trim() == "WEEK")
                            {
                                iduration = iduration * 7;
                                memberPackageRow["dtExpiryDate"] = dtNow.AddDays(iduration - 1).AddDays(0);
                            }
                            else
                                memberPackageRow["dtExpiryDate"] = dtNow.AddMonths(iduration).AddDays(-1);
                        }

                        mp.SaveData(memberPackageTable);
                        strUsage[i, 0] = package.StrDescription.ToString();
                        strUsage[i, 1] = creditUsage.ToString();
                    }

                    strUsage[i, 2] = drPackage[3].ToString();
                    i++;

                }

                if (is1stUseCreditPck)
                {
                    if (memberCreditPackage.DtStartDate.ToString() == "Null")
                    {
                        memberCreditPackage.NCreditPackageID = nCreditPackageID;
                        memberCreditPackage.DtStartDate = DateTime.Now.Date;
                        memberCreditPackage.DtExpiryDate = DateTime.Now.Date.AddMonths(ACMS.Convert.ToInt32(creditPackage.NValidMonths)).AddDays(-1);
                        memberCreditPackage.Update();
                    }
                }

                //connProvider.CommitTransaction();
            }
            catch (Exception)
            {
                //connProvider.RollbackTransaction("UseMemberCreditPackage");
                throw;
            }
            finally
            {
                //if (connProvider.CurrentTransaction != null)
                //    connProvider.CurrentTransaction.Dispose();
                //if (connProvider.DBConnection != null)
                //{
                //    if (connProvider.DBConnection.State == ConnectionState.Open)
                //        connProvider.DBConnection.Close();
                //}
            }
            return strUsage;
        }
示例#27
0
文件: POS.cs 项目: kimykunjun/test
        private void UpdateRegistrationFee(ACMSDAL.ConnectionProvider connProvider, ACMSLogic.POS pos)
        {
            if (pos.ReceiptItemsTable.Select("strCode = 'Reg'", "", DataViewRowState.CurrentRows).Length == 1)
            {
                TblMember member = new TblMember();
                member.MainConnectionProvider = connProvider;
                TblMemberPackage mp = new TblMemberPackage();

                DataTable table  = member.LoadData("Select * from tblMember Where strMembershipID = @strMembershipID",
                    new string[] {"@strMembershipID"}, new object[]{pos.StrMembershipID});

                table.Rows[0]["fRegistrationFee"] = 1;

                member.SaveData(table);
            }
        }
示例#28
0
        private void ActionTakeWhenVoidReceiptForCategory_15(string strReceiptNo, ConnectionProvider connProvider)
        {
            TblLocker locker = new TblLocker();
            TblMember member = new TblMember();

            DataTable table = locker.SelectAllWstrReceiptNo(strReceiptNo);

            if (table != null && table.Rows.Count > 0)
            {
                member.MainConnectionProvider = connProvider;

                foreach (DataRow r in table.Rows)
                {
                    r["nStatusID"] = "0";
                    r["strReceiptNo"] = DBNull.Value;
                    r["dtExpiry"] = DBNull.Value;
                    r["strRemarks"] = DBNull.Value;

                    string memberID = r["strMembershipID"].ToString();
                    r["strMembershipID"] = DBNull.Value;

                    member.StrMembershipID = memberID;
                    member.SelectOne();
                    member.FLockerDeposit = System.Data.SqlTypes.SqlBoolean.True;

                    member.Update();
                }

                locker.MainConnectionProvider = connProvider;
                locker.SaveData(table);
            }
        }
示例#29
0
文件: POS.cs 项目: kimykunjun/test
        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;
                }
            }
        }
示例#30
0
        public FormPOS2(string strMembershipID,
            string strBranchCode, int nTerminalID, int nEmployeeID, int nShiftID, string strLocation)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
            //groupControl5.Left = 10;
            Command = ACMSLogic.POSCommand.Create();
            myNEmployeeID = nEmployeeID;
            myNShiftID = nShiftID;
            myNTerminalID = nTerminalID;
            myStrBranchCode = strBranchCode;
            myStrMembershipID = strMembershipID;
            lblMembershipID.Text = myStrMembershipID;//1503
            lblLocation.Text = strLocation;
            myStrLocation = strLocation;

            connectionString = (string)ConfigurationSettings.AppSettings["Main.ConnectionString"];
            connection = new SqlConnection(connectionString);
            TblMember member = new TblMember();
            member.StrMembershipID = myStrMembershipID;
            member.SelectOne();
            lblMemberName.Text = member.StrMemberName.IsNull ? "" : member.StrMemberName.Value;
        }