Example #1
0
        private void PriceInquiryWnd_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            switch (e.KeyData)
            {
            case Keys.Escape:
                dialog = DialogResult.Cancel;
                this.Hide();
                break;

            case Keys.Enter:
                if (txtBarCode.Text.Trim() != string.Empty)
                {
                    ClearProduct();
                    Data.Products       clsProduct        = new Data.Products();
                    Data.ProductDetails clsProductDetails = clsProduct.Details(TerminalDetails.BranchID, txtBarCode.Text.Trim());
                    if (clsProductDetails.ProductID == 0)
                    {
                        string strContactCardNo = txtBarCode.Text.Trim();

                        Data.Contacts       clsContact        = new Data.Contacts(clsProduct.Connection, clsProduct.Transaction);
                        Data.ContactDetails clsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo);
                        if (clsContactDetails.ContactID == 0)
                        {
                            clsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo);
                            if (clsContactDetails.ContactID == 0)
                            {
                                strContactCardNo  = strContactCardNo.Remove(strContactCardNo.Length - 1);
                                clsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo);
                                if (clsContactDetails.ContactID == 0)
                                {
                                    clsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo);
                                    if (clsContactDetails.ContactID == 0)
                                    {
                                        ClearProduct();
                                    }
                                    else
                                    {
                                        decimal decAvailableCreditLimit = clsContactDetails.CreditLimit - clsContactDetails.Credit;

                                        lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.CreditDetails.CreditCardNo;
                                        lblPrice.Text      = decAvailableCreditLimit.ToString("#,##0.#0");
                                        lblPriceLabel.Text = "AVAILABLE CREDITS:";

                                        if (clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Expired ||
                                            clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Lost)
                                        {
                                            lblProductDescription.Text += "(" + clsContactDetails.CreditDetails.CreditCardStatus.ToString("G").ToLower() + ")";
                                        }
                                        else
                                        {
                                            lblProductDescription.Text += "(active)";
                                        }
                                    }
                                }
                                else
                                {
                                    lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.RewardDetails.RewardCardNo;
                                    lblPrice.Text      = clsContactDetails.RewardDetails.RewardPoints.ToString("#,##0.#0");
                                    lblPriceLabel.Text = "AVAILABLE POINTS:";

                                    if (clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Expired ||
                                        clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Lost)
                                    {
                                        lblProductDescription.Text += "(" + clsContactDetails.RewardDetails.RewardCardStatus.ToString("G").ToLower() + ")";
                                    }
                                    else
                                    {
                                        lblProductDescription.Text += "(active)";
                                    }
                                }
                            }
                            else
                            {
                                decimal decAvailableCreditLimit = clsContactDetails.CreditLimit - clsContactDetails.Credit;

                                lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.CreditDetails.CreditCardNo;
                                lblPrice.Text      = decAvailableCreditLimit.ToString("#,##0.#0");
                                lblPriceLabel.Text = "AVAILABLE CREDITS:";

                                if (clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Expired ||
                                    clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Lost)
                                {
                                    lblProductDescription.Text += "(" + clsContactDetails.CreditDetails.CreditCardStatus.ToString("G").ToLower() + ")";
                                }
                                else
                                {
                                    lblProductDescription.Text += "(active)";
                                }
                            }
                        }
                        else
                        {
                            lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.RewardDetails.RewardCardNo;
                            lblPrice.Text      = clsContactDetails.RewardDetails.RewardPoints.ToString("#,##0.#0");
                            lblPriceLabel.Text = "AVAILABLE POINTS:";

                            if (clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Expired ||
                                clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Lost)
                            {
                                lblProductDescription.Text += "(" + clsContactDetails.RewardDetails.RewardCardStatus.ToString("G").ToLower() + ")";
                            }
                            else
                            {
                                lblProductDescription.Text += "(active)";
                            }
                        }
                    }
                    else
                    {
                        lblProductDescription.Text = clsProductDetails.ProductDesc;
                        lblPrice.Text      = clsProductDetails.Price.ToString("#,##0.#0");
                        lblPriceLabel.Text = "PRICE:";
                    }
                    clsProduct.CommitAndDispose();
                    txtBarCode.Text = "";
                }
                txtBarCode.Focus();
                txtBarCode.SelectAll();
                break;
            }
        }
Example #2
0
		private void PriceInquiryWnd_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			switch (e.KeyData)
			{
				case Keys.Escape:
					dialog = DialogResult.Cancel;
					this.Hide(); 
					break;

                case Keys.Enter:
                    if (txtBarCode.Text.Trim() != string.Empty)
                    {
                        ClearProduct();
                        Data.Products clsProduct = new Data.Products();
                        Data.ProductDetails clsProductDetails = clsProduct.Details(TerminalDetails.BranchID, txtBarCode.Text.Trim());
                        if (clsProductDetails.ProductID == 0)
                        {
                            string strContactCardNo = txtBarCode.Text.Trim();

                            Data.Contacts clsContact = new Data.Contacts(clsProduct.Connection, clsProduct.Transaction);
                            Data.ContactDetails clsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo);
                            if (clsContactDetails.ContactID == 0)
                            {
                                clsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo);
                                if (clsContactDetails.ContactID == 0)
                                {
                                    strContactCardNo = strContactCardNo.Remove(strContactCardNo.Length - 1);
                                    clsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo);
                                    if (clsContactDetails.ContactID == 0)
                                    {
                                        clsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo);
                                        if (clsContactDetails.ContactID == 0)
                                        {
                                            ClearProduct();
                                        }
                                        else
                                        {
                                            decimal decAvailableCreditLimit = clsContactDetails.CreditLimit - clsContactDetails.Credit;

                                            lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.CreditDetails.CreditCardNo;
                                            lblPrice.Text = decAvailableCreditLimit.ToString("#,##0.#0");
                                            lblPriceLabel.Text = "AVAILABLE CREDITS:";

                                            if (clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Expired ||
                                                clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Lost)
                                                lblProductDescription.Text += "(" + clsContactDetails.CreditDetails.CreditCardStatus.ToString("G").ToLower() + ")";
                                            else
                                                lblProductDescription.Text += "(active)";
                                        }
                                    }
                                    else
                                    {
                                        lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.RewardDetails.RewardCardNo;
                                        lblPrice.Text = clsContactDetails.RewardDetails.RewardPoints.ToString("#,##0.#0");
                                        lblPriceLabel.Text = "AVAILABLE POINTS:";

                                        if (clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Expired ||
                                                clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Lost)
                                            lblProductDescription.Text += "(" + clsContactDetails.RewardDetails.RewardCardStatus.ToString("G").ToLower() + ")";
                                        else
                                            lblProductDescription.Text += "(active)";
                                    }
                                }
                                else
                                {
                                    decimal decAvailableCreditLimit = clsContactDetails.CreditLimit - clsContactDetails.Credit;

                                    lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.CreditDetails.CreditCardNo;
                                    lblPrice.Text = decAvailableCreditLimit.ToString("#,##0.#0");
                                    lblPriceLabel.Text = "AVAILABLE CREDITS:";

                                    if (clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Expired ||
                                        clsContactDetails.CreditDetails.CreditCardStatus == CreditCardStatus.Lost)
                                        lblProductDescription.Text += "(" + clsContactDetails.CreditDetails.CreditCardStatus.ToString("G").ToLower() + ")";
                                    else
                                        lblProductDescription.Text += "(active)";
                                }

                            }
                            else
                            {
                                lblProductDescription.Text = clsContactDetails.ContactName + " - " + clsContactDetails.RewardDetails.RewardCardNo;
                                lblPrice.Text = clsContactDetails.RewardDetails.RewardPoints.ToString("#,##0.#0");
                                lblPriceLabel.Text = "AVAILABLE POINTS:";

                                if (clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Expired ||
                                        clsContactDetails.RewardDetails.RewardCardStatus == RewardCardStatus.Lost)
                                    lblProductDescription.Text += "(" + clsContactDetails.RewardDetails.RewardCardStatus.ToString("G").ToLower() + ")";
                                else
                                    lblProductDescription.Text += "(active)";
                            }
                        }
                        else
                        {
                            lblProductDescription.Text = clsProductDetails.ProductDesc;
                            lblPrice.Text = clsProductDetails.Price.ToString("#,##0.#0");
                            lblPriceLabel.Text = "PRICE:";
                        }
                        clsProduct.CommitAndDispose();
                        txtBarCode.Text = "";
                    }
                    txtBarCode.Focus();
                    txtBarCode.SelectAll();
                    break;
			}
		}
Example #3
0
		private void LoadContact(AceSoft.RetailPlus.Data.ContactGroupCategory enumContactGroupCategory, Data.ContactDetails pContactDetails, bool isFromCreditPayment = false)
		{
			try
			{
                if ((mclsTerminalDetails.ShowCustomerSelection || pContactDetails.ContactID != 0) && 
                    (enumContactGroupCategory == Data.ContactGroupCategory.CUSTOMER || enumContactGroupCategory == Data.ContactGroupCategory.AGENT))
					mclsContactDetails = pContactDetails;
				else
				{
					string strContactCardNo = txtBarCode.Text.Replace(Constants.SWIPE_REWARD_CARD, "").Trim();

					Data.Contacts clsContact = new Data.Contacts(mConnection, mTransaction);
                    mConnection = clsContact.Connection; mTransaction = clsContact.Transaction;

					// check using reward card info
					mclsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo);
					if (mclsContactDetails.ContactID != 0)
						mboRewardCardSwiped = true;
					else if (mclsContactDetails.ContactID == 0) 
					{
						// check using credit card info
						mclsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo);
                        if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 7) mclsContactDetails = clsContact.DetailsByCreditCardNo("888880" + strContactCardNo);
                        if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 7) mclsContactDetails = clsContact.DetailsByCreditCardNo("800000" + strContactCardNo);
                        if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode + strContactCardNo);
                        if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.CustomerCode_Country_Code + BarcodeHelper.CustomerCode_ManufacturerCode + strContactCardNo);
                        if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode_Manual + strContactCardNo);
                        if (mclsContactDetails.ContactID == 0 && strContactCardNo.Length == 9) mclsContactDetails = clsContact.DetailsByCreditCardNo(BarcodeHelper.CreditCard_Country_Code + BarcodeHelper.CreditCard_ManufacturerCode + strContactCardNo);

						if (mclsContactDetails.ContactID != 0)
							mboCreditCardSwiped = true;
						else if (mclsContactDetails.ContactID == 0) 
						{
							strContactCardNo = strContactCardNo.Remove(strContactCardNo.Length - 1);
							// check using reward card info
							mclsContactDetails = clsContact.DetailsByRewardCardNo(strContactCardNo);
							if (mclsContactDetails.ContactID != 0)
								mboRewardCardSwiped = true;
							else if (mclsContactDetails.ContactID == 0)
							{
								// check using credit card info
								mclsContactDetails = clsContact.DetailsByCreditCardNo(strContactCardNo);
								if (mclsContactDetails.ContactID != 0)
									mboCreditCardSwiped = true;
								else if (mclsContactDetails.ContactID == 0)
								{ clsContact.CommitAndDispose(); SelectContact(AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER); return;}
							}
						}

					}
					clsContact.CommitAndDispose();
				}

				// Sep 24, 2011      Lemuel E. Aceron
				// Added order slip wherein all punch items will not change sales and inventory
				// a customer named ORDER SLIP should be defined in contacts
				if (mclsContactDetails.ContactName.Trim().ToUpper() == Constants.C_RETAILPLUS_ORDER_SLIP_CUSTOMER && mboIsInTransaction && enumContactGroupCategory == AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER)
				{
					MessageBox.Show("Sorry you cannot select ORDER SLIP customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning);
					clsEvent.AddEventLn("Cancelled!"); return;
				}

				switch (enumContactGroupCategory)
				{
					case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER:

                        // if not from CreditPayment-F3, do not overwrite 
                        if (!isFromCreditPayment)
                        {
                            lblCustomer.Tag = mclsContactDetails.ContactID;
                            lblCustomer.Text = mclsContactDetails.ContactName;
                        }

						if (!mclsTerminalDetails.ShowCustomerSelection) { txtBarCode.Text = string.Empty; txtBarCode.Focus(); }
						clsEvent.AddEventLn("Done! Selected customer: " + lblCustomer.Text);

						if (mboIsInTransaction)
						{
                            Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction);
                            mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction;

                            if (mboRewardCardSwiped)
                            {
                                mclsSalesTransactionDetails.RewardsCustomerID = mclsContactDetails.ContactID;
                                mclsSalesTransactionDetails.RewardsCustomerName = mclsContactDetails.ContactName;
                                clsSalesTransactions.UpdateRewardsContactUpdate(mclsTerminalDetails.BranchDetails.BranchID, mclsTerminalDetails.TerminalNo, mclsSalesTransactionDetails.TransactionID, mclsContactDetails.ContactID, mclsContactDetails.ContactName);
                            }

							clsSalesTransactions.UpdateContact(mclsSalesTransactionDetails.TransactionID, mclsSalesTransactionDetails.TransactionDate, mclsContactDetails);
                            clsSalesTransactions.CommitAndDispose();
						}
                        if (mboRewardCardSwiped)
                        {
                            mclsSalesTransactionDetails.RewardsCustomerID = mclsContactDetails.ContactID;
                            mclsSalesTransactionDetails.RewardsCustomerName = mclsContactDetails.ContactName;
                            mclsSalesTransactionDetails.RewardCardActive = mclsContactDetails.RewardDetails.RewardActive;
                            mclsSalesTransactionDetails.RewardCardNo = mclsContactDetails.RewardDetails.RewardCardNo;
                            mclsSalesTransactionDetails.RewardPreviousPoints = mclsContactDetails.RewardDetails.RewardPoints;
                            mclsSalesTransactionDetails.RewardCurrentPoints = mclsSalesTransactionDetails.RewardPreviousPoints;

                            // no need to check if the current customer for the transaction is the default customer
                            //if (mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID)
                            //{
                            mclsSalesTransactionDetails.CustomerID = mclsContactDetails.ContactID;
                            mclsSalesTransactionDetails.CustomerName = mclsContactDetails.ContactName;
                            mclsSalesTransactionDetails.CustomerDetails = mclsContactDetails;
                            //}
                        }
                        else
                        {
                            mclsSalesTransactionDetails.CustomerID = mclsContactDetails.ContactID;
                            mclsSalesTransactionDetails.CustomerName = mclsContactDetails.ContactName;
                            mclsSalesTransactionDetails.CustomerDetails = mclsContactDetails;
                        }

						break;
					case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT:
                        lblAgent.Tag = pContactDetails.ContactID;
                        lblAgent.Text = pContactDetails.ContactName;
                        lblAgentPositionDepartment.Text = pContactDetails.PositionName;
                        lblAgentPositionDepartment.Tag = pContactDetails.DepartmentName;
						clsEvent.AddEventLn("Done! Selected agent: " + lblAgent.Text);

						if (mboIsInTransaction)
						{
                            Data.SalesTransactions clsSalesTransactions = new Data.SalesTransactions(mConnection, mTransaction);
                            mConnection = clsSalesTransactions.Connection; mTransaction = clsSalesTransactions.Transaction;

                            clsSalesTransactions.UpdateAgent(mclsSalesTransactionDetails.TransactionID, mclsSalesTransactionDetails.TransactionDate, pContactDetails);
							clsSalesTransactions.CommitAndDispose();
						}
                        mclsSalesTransactionDetails.AgentID = pContactDetails.ContactID;
                        mclsSalesTransactionDetails.AgentName = pContactDetails.ContactName;
						break;
				}
			}
			catch (Exception ex)
			{ 
                InsertErrorLogToFile(ex, "ERROR!!! Loading contact."); 
            }
		}
        private bool setCreditor()
        {
            if (string.IsNullOrEmpty(txtCardNo.Text))
            {
                mclsCreditorDetails = new Data.ContactDetails();
            }
            if (!string.IsNullOrEmpty(txtCardNo.Text))
            {
                string strContactCardNo = txtCardNo.Text;

                Data.Contacts clsContacts = new Data.Contacts();
                mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(strContactCardNo);

                if (mclsCreditorDetails.ContactID == 0)
                {
                    strContactCardNo = strContactCardNo.Remove(strContactCardNo.Length - 1);
                    mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(strContactCardNo);
                }
                clsContacts.CommitAndDispose();

                if(mclsCreditorDetails.ContactID != 0)
                {
                    cboCardType.SelectedText = mclsCreditorDetails.CreditDetails.CardTypeDetails.CardTypeName;
                    cboCardType.Text = mclsCreditorDetails.CreditDetails.CardTypeDetails.CardTypeName;

                    cboCardType_SelectedIndexChanged(null, null);

                    txtCardHolder.Text = mclsCreditorDetails.ContactName;
                    if (mclsCreditorDetails.CreditDetails.ExpiryDate == Constants.C_DATE_MIN_VALUE)
                        txtValidityDates.Text = "";
                    else
                        txtValidityDates.Text = mclsCreditorDetails.CreditDetails.ExpiryDate.ToString("MMyy");
                }
            }
            return true;
        }
        private void txtCardNo_TextChanged(object sender, EventArgs e)
        {
            mclsCreditorDetails = new Data.ContactDetails();
            if (!string.IsNullOrEmpty(txtCardNo.Text)
                && txtScan.Text.Length >= 12
                && txtScan.Text != mclsCreditorDetails.CreditDetails.CreditCardNo)
            {
                Data.Contacts clsContacts = new Data.Contacts();
                mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(txtCardNo.Text);

                //if (mclsCreditorDetails.ContactID == 0)
                //{
                //    //mContactDetails = clsContacts.DetailsByCreditCardNo(txtScan.Text.Remove(txtScan.Text.Length - 1));

                //    if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 7) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo("888880" + txtScan.Text);
                //    if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 7) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo("800000" + txtScan.Text);
                //    if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 9) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode + txtScan.Text);
                //    if (mclsCreditorDetails.ContactID == 0 && txtScan.Text.Length == 9) mclsCreditorDetails = clsContacts.DetailsByCreditCardNo(BarcodeHelper.CreditCard_Country_Code + BarcodeHelper.CreditCard_ManufacturerCode + txtScan.Text);
                //}
                clsContacts.CommitAndDispose();
            }

            //this means that this uses an internal credit card
            setCreditor();

            if (mclsCreditorDetails.ContactID != 0)
                setCreditCardChargeAmount(); 
            else
                unsetCreditCardCharge();
        }
        private void LoadData()
        {
            mContactDetails = new Data.ContactDetails();
            mGuarantorDetails = new Data.ContactDetails();

            Data.Contacts clsContacts = new Data.Contacts();
            switch (SysConfigDetails.CreditPaymentType)
            {
                case CreditPaymentType.Houseware:
                    mContactDetails = clsContacts.DetailsByCreditCardNo(txtScan.Text);
                    break;
                case CreditPaymentType.Normal:
                case CreditPaymentType.MPC:
                default:
                    mContactDetails = clsContacts.Details(txtScan.Text);
                    break;
            }

            if (mContactDetails.ContactID == 0)
            {
                //mContactDetails = clsContacts.DetailsByCreditCardNo(txtScan.Text.Remove(txtScan.Text.Length - 1));

                if (mContactDetails.ContactID == 0 && txtScan.Text.Length == 7) mContactDetails = clsContacts.DetailsByCreditCardNo("888880" + txtScan.Text);
                if (mContactDetails.ContactID == 0 && txtScan.Text.Length == 7) mContactDetails = clsContacts.DetailsByCreditCardNo("800000" + txtScan.Text);
                if (mContactDetails.ContactID == 0 && txtScan.Text.Length == 9) mContactDetails = clsContacts.DetailsByCreditCardNo(BarcodeHelper.GroupCreditCard_Country_Code + BarcodeHelper.GroupCreditCard_ManufacturerCode + txtScan.Text);
                if (mContactDetails.ContactID == 0 && txtScan.Text.Length == 9) mContactDetails = clsContacts.DetailsByCreditCardNo(BarcodeHelper.CreditCard_Country_Code + BarcodeHelper.CreditCard_ManufacturerCode + txtScan.Text);
            }

            //get the guarantor details if with details
            if (mContactDetails.ContactID != 0)
                if (mContactDetails.ContactID == mContactDetails.CreditDetails.GuarantorID)
                    mGuarantorDetails = mContactDetails;
                else if (mGuarantorDetails.ContactID != mContactDetails.CreditDetails.GuarantorID)
                    mGuarantorDetails = clsContacts.Details(mContactDetails.CreditDetails.GuarantorID);

            clsContacts.CommitAndDispose();


            if (mContactDetails.ContactID == 0)
            {
                grpContactDetails.Visible = false;
                grpPurchases.Visible = false;
                labelGuarantor.Visible = false;
                txtGuarantor.Visible = false;
            }
            else
            {
                grpContactDetails.Visible = true;
                grpPurchases.Visible = true;

                txtScan.Text = mContactDetails.CreditDetails.CreditCardNo;
                txtCustomerName.Text = mContactDetails.ContactName;
                txtMobileNo.Text = mContactDetails.AdditionalDetails.MobileNo;
                txtTelNo.Text = mContactDetails.TelephoneNo;
                txtAddress.Text = mContactDetails.Address;
                txtRemarks.Text = mContactDetails.Remarks;

                txtCreditCardStatus.Text = mContactDetails.CreditDetails.CreditActive ? "Active" : "InActive";
                txtCreditCardStatus.Text += "(" + mContactDetails.CreditDetails.CreditCardStatus.ToString("G") + ")";
                txtCreditLimit.Text = mContactDetails.CreditLimit.ToString("#,##0.#0");
                txtCredit.Text = mContactDetails.Credit.ToString("#,##0.#0");
                txtAvailableCredit.Text = (mContactDetails.CreditLimit - mContactDetails.Credit).ToString("#,##0.#0");

                if (!mContactDetails.CreditDetails.CardTypeDetails.WithGuarantor) //no guarantor
                {
                    labelCreditStatus.Location = new Point(71, 133);
                    txtCreditCardStatus.Location = new Point(174, 133);
                    txtCreditCardStatus.Size = new Size(439, 30);
                    labelGuarantor.Visible = false;
                    txtGuarantor.Visible = false;
                }
                else if (mContactDetails.CreditDetails.CardTypeDetails.WithGuarantor) //with guarantor
                {
                    labelCreditStatus.Location = new Point(627, 133);
                    txtCreditCardStatus.Location = new Point(731, 133);
                    txtCreditCardStatus.Size = new Size(269, 30);
                    labelGuarantor.Visible = true;
                    txtGuarantor.Visible = true;

                    txtGuarantor.Text = "[" + (mGuarantorDetails.CreditDetails.CreditActive ? "Active" : "InActive") + "] " + mGuarantorDetails.ContactCode + ":" + mGuarantorDetails.ContactName;
                }

                LoadPurchases();
                lblBalance.Text = mContactDetails.Credit.ToString("#,##0.#0");
            }
        }