Exemple #1
0
 private void keyboardNoControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
 {
     txtNo.Focus();
     if (e.KeyboardKeyPressed == "{CLEAR}")
         txtNo.Text = "";
     else if (e.KeyboardKeyPressed == "{SELECTALL}")
         txtNo.SelectAll();
     else if (e.KeyboardKeyPressed == "." & txtNo.Text.IndexOf(".") < 0)
         SendKeys.Send(e.KeyboardKeyPressed);
     else if (e.KeyboardKeyPressed != ".")
         SendKeys.Send(e.KeyboardKeyPressed);
 }
        private void keyboardNoControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTexBox == null)
                txtAmount.Focus();
            else if (txtSelectedTexBox.Name == txtAmount.Name)
                txtAmount.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
        private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTexBox == null)
                txtContactCode.Focus();
            else if (txtSelectedTexBox.Name == txtContactCode.Name)
                txtContactCode.Focus();
            else if (txtSelectedTexBox.Name == txtFirstName.Name)
                txtFirstName.Focus();
            else if (txtSelectedTexBox.Name == txtMobileNo.Name)
                txtMobileNo.Focus();
            else if (txtSelectedTexBox.Name == txtAddress.Name)
                txtAddress.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #4
0
        private void keyboardcontrol1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedtextBox.Name == txtUserName.Name)
                txtUserName.Focus();
            else
                txtPassword.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #5
0
        private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTextBox.Name == txtAmount.Name)
                txtAmount.Focus();
            else
                txtRemarks.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #6
0
        private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {

        }
        private void keyboardNoControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            //if (txtSelectedTextBox == null)
            //    txtTransactionNo.Focus();
            //if (txtSelectedTextBox.Name == txtTerminalNo.Name)
            //    txtTerminalNo.Focus();
            //else if (txtSelectedTextBox.Name == txtTransactionNo.Name)
            //    txtTransactionNo.Focus();

            if (txtSelectedTextBox == null)
                txtTransactionNo.Focus();
            else if (txtSelectedTextBox.Name == txtTerminalNo.Name)
                txtTerminalNo.Focus();
            else if (txtSelectedTextBox.Name == txtTransactionNo.Name)
                txtTransactionNo.Focus();

            if (e.KeyboardKeyPressed == "{CLEAR}")
                txtSelectedTextBox.Text = "";
            else if (e.KeyboardKeyPressed == "{SELECTALL}")
                txtSelectedTextBox.SelectAll();
            else if (e.KeyboardKeyPressed == "." & txtSelectedTextBox.Text.IndexOf(".") < 0)
                SendKeys.Send(e.KeyboardKeyPressed);
            else if (e.KeyboardKeyPressed != ".")
                SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #8
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 void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTexBox == null)
                txtCardNo.Focus();
            else if (txtSelectedTexBox.Name == txtCardNo.Name)
                txtCardNo.Focus();
            else if (txtSelectedTexBox.Name == txtCardHolder.Name)
                txtCardHolder.Focus();
            else if (txtSelectedTexBox.Name == txtRemarks.Name)
                txtRemarks.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #10
0
        private void keyboardNoControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            System.Data.DataTable dt;
            int index;

            if (e.KeyboardKeyPressed.ToString() == "{UP}")
            {
                dgCashCount.Focus();
                dt = (System.Data.DataTable)dgCashCount.DataSource;
                if (dgCashCount.CurrentRowIndex > 0)
                {
                    if (txtDenominationCount.Visible == true)
                    {
                        Int32 iDenominationCount = 0;
                        try { iDenominationCount = Convert.ToInt32(txtDenominationCount.Text); }
                        catch { }
                        dgCashCount[dgCashCount.CurrentRowIndex, 3] = iDenominationCount.ToString("#,##0");
                        dgCashCount[dgCashCount.CurrentRowIndex, 4] = Convert.ToDecimal(Convert.ToDecimal(dgCashCount[dgCashCount.CurrentRowIndex, 2]) * iDenominationCount).ToString("#,##0.#0");
                        txtDenominationCount.Text = "";
                        //txtDenominationCount.Visible = false;
                        SetCashCount();
                    }
                    index = dgCashCount.CurrentRowIndex;

                    dgCashCount.CurrentRowIndex -= 1;
                    dgCashCount.Select(dgCashCount.CurrentRowIndex);
                    dgCashCount.UnSelect(index);
                }
            }
            if (e.KeyboardKeyPressed.ToString() == "{DOWN}")
            {
                dgCashCount.Focus();
                dt = (System.Data.DataTable)dgCashCount.DataSource;
                if (dgCashCount.CurrentRowIndex < dt.Rows.Count - 1)
                {
                    if (txtDenominationCount.Visible == true)
                    {
                        Int32 iDenominationCount = 0;
                        try { iDenominationCount = Convert.ToInt32(txtDenominationCount.Text); }
                        catch { }
                        dgCashCount[dgCashCount.CurrentRowIndex, 3] = iDenominationCount.ToString("#,##0");
                        dgCashCount[dgCashCount.CurrentRowIndex, 4] = Convert.ToDecimal(Convert.ToDecimal(dgCashCount[dgCashCount.CurrentRowIndex, 2]) * iDenominationCount).ToString("#,##0.#0");
                        txtDenominationCount.Text = "";
                        //txtDenominationCount.Visible = false;
                        SetCashCount();
                    }
                    index = dgCashCount.CurrentRowIndex;

                    dgCashCount.CurrentRowIndex += 1;
                    dgCashCount.Select(dgCashCount.CurrentRowIndex);
                    dgCashCount.UnSelect(index);
                }
            }
            else { txtDenominationCount.Focus(); }

            SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #11
0
		private bool SelectContact(AceSoft.RetailPlus.Data.ContactGroupCategory enumContactGroupCategory)
		{
            bool boretValue = true;

			// 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 (lblCustomer.Text.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);
				return false;
			}

			if (mclsTerminalDetails.AutoPrint == PrintingPreference.Auto && mboIsInTransaction)
			{
				switch (enumContactGroupCategory)
				{ 
					case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER:
						MessageBox.Show("Sorry you cannot select a customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning);
						break;
					case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT:
						MessageBox.Show("Sorry you cannot select an agent when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning);
						break;
				}

				return false;
			}

			try
			{
				switch (enumContactGroupCategory)
				{
					case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER:
						clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting customer.");
						if (mclsTerminalDetails.ShowCustomerSelection == false)
						{
							clsEvent.AddEventLn("Cancelled! ShowCustomerSelection is OFF, reward is ON.");
							txtBarCode.Text = Constants.SWIPE_REWARD_CARD;
							txtBarCode.Focus(); txtBarCode.SelectionStart = txtBarCode.Text.Length + 1;
							return false;
						}
						break;
					case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT:
						clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting agent.");
						break;
				}

				DialogResult result; Data.ContactDetails details;
				ContactSelectWnd clsContactWnd = new ContactSelectWnd();
                clsContactWnd.EnableContactAddUpdate = GetWriteAccess(mclsSalesTransactionDetails.CashierID, AccessTypes.Contacts) == System.Windows.Forms.DialogResult.OK;
                clsContactWnd.SysConfigDetails = mclsSysConfigDetails;
                clsContactWnd.TerminalDetails = mclsTerminalDetails;
				clsContactWnd.ContactGroupCategory = enumContactGroupCategory;
				clsContactWnd.ShowDialog(this);
				details = clsContactWnd.Details;
				result = clsContactWnd.Result;
				clsContactWnd.Close();
				clsContactWnd.Dispose();

				if (result == DialogResult.OK)
				{

                    if (details.ContactCode == mclsSysConfigDetails.OutOfStockCustomerCode && mboIsInTransaction)
                    {
                        MessageBox.Show("Sorry you cannot select OUT OF STOCK customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        clsEvent.AddEventLn("Cancelled OUT OF STOCK customer is selected but items are already purchased."); 
                        return false;
                    }

					LoadContact(enumContactGroupCategory, details);

                    // 13Mar2015 : MPC, override the price using the PriceLevel
                    //             For PriceLevel1...5
                    if (mclsSysConfigDetails.EnablePriceLevel)
                    {
                        Cursor.Current = Cursors.WaitCursor;

                        Int32 iOldRow = dgItems.CurrentRowIndex;
                        Data.SalesTransactionItemDetails Details = new Data.SalesTransactionItemDetails();

                        Data.ProductPackage clsProductPackage = new Data.ProductPackage(mConnection, mTransaction);
                        mConnection = clsProductPackage.Connection; mTransaction = clsProductPackage.Transaction;

                        Data.ProductPackageDetails clsProductPackageDetails = new Data.ProductPackageDetails();

                        System.Data.DataTable dt = (System.Data.DataTable)dgItems.DataSource;
                        for (int x = 0; x < dt.Rows.Count; x++)
                        {
                            dgItems.CurrentRowIndex = x;
                            Details = getCurrentRowItemDetails();

                            dgItems.UnSelect(x);
                            if (Details.TransactionItemStatus == TransactionItemStatus.Valid)
                            {
                                clsProductPackageDetails = clsProductPackage.Details(Details.ProductPackageID);

                                switch (mclsContactDetails.PriceLevel)
                                {
                                    case PriceLevel.SRP: Details.Price = clsProductPackageDetails.Price; break;
                                    case PriceLevel.One: Details.Price = clsProductPackageDetails.Price1 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price1; break;
                                    case PriceLevel.Two: Details.Price = clsProductPackageDetails.Price2 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price2; break;
                                    case PriceLevel.Three: Details.Price = clsProductPackageDetails.Price3 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price3; break;
                                    case PriceLevel.Four: Details.Price = clsProductPackageDetails.Price4 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price4; break;
                                    case PriceLevel.Five: Details.Price = clsProductPackageDetails.Price5 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price5; break;
                                    case PriceLevel.WSPrice: Details.Price = clsProductPackageDetails.WSPrice == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.WSPrice; break;
                                    default: Details.Price = clsProductPackageDetails.Price; break;
                                }
                                Details = ApplyPromo(Details);

                                ApplyChangeQuantityPriceAmountDetails(x, Details, "Change Price: Change Contact");
                            }
                        }

                        clsProductPackage.CommitAndDispose();

                        if (iOldRow >=0 )
                        {
                            dgItems.CurrentRowIndex = iOldRow;
                            dgItems.Select(iOldRow);

                            Details = getCurrentRowItemDetails();
                            DisplayItemToTurretDelegate DisplayItemToTurretDel = new DisplayItemToTurretDelegate(DisplayItemToTurret);
                            DisplayItemToTurretDel.BeginInvoke(Details.Description, Details.ProductUnitCode, Details.Quantity, Details.Price, Details.Discount, Details.PromoApplied, Details.Amount, Details.VAT, Details.EVAT, null, null);
                            InsertAuditLog(AccessTypes.ChangePrice, "Change price: change contact : for item " + Details.ProductCode + " to " + Details.Price.ToString("#,##0.#0") + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode);
                            mbodgItemRowClick = false;
                        }

                        Cursor.Current = Cursors.Default;
                    }
				}
                else { clsEvent.AddEventLn("Cancelled!"); boretValue = false; }

			}
			catch (Exception ex)
			{ 
                InsertErrorLogToFile(ex, "ERROR!!! Selecting contact.");
                boretValue = false;
            }
            return boretValue;
		}
Exemple #12
0
        private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTexBox == null)
                txtCustomerName.Focus();
            else if (txtSelectedTexBox.Name == txtCustomerName.Name)
                txtCustomerName.Focus();
            else if (txtSelectedTexBox.Name == txtBusinessName.Name)
                txtBusinessName.Focus();
            else if (txtSelectedTexBox.Name == txtTelNo.Name)
                txtTelNo.Focus();
            else if (txtSelectedTexBox.Name == txtAddress.Name)
                txtAddress.Focus();
            else if (txtSelectedTexBox.Name == txtCreditLimit.Name)
                txtCreditLimit.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
        private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTexBox.Name == txtCreditLimit.Name)
                txtCreditLimit.Focus();
            else if (txtSelectedTexBox.Name == txtCreditCardNo.Name)
                txtCreditCardNo.Focus();
            else if (txtSelectedTexBox.Name == txtCreditCardExpiryDate.Name)
                txtCreditCardExpiryDate.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }
Exemple #14
0
		private void SelectContact(AceSoft.RetailPlus.Data.ContactGroupCategory enumContactGroupCategory)
		{
			// 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 (lblCustomer.Text.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);
				return;
			}

			if (mclsTerminalDetails.AutoPrint == PrintingPreference.Auto && mboIsInTransaction)
			{
				switch (enumContactGroupCategory)
				{ 
					case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER:
						MessageBox.Show("Sorry you cannot select a customer when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning);
						break;
					case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT:
						MessageBox.Show("Sorry you cannot select an agent when an item is already purchased.", "RetailPlus", MessageBoxButtons.OK, MessageBoxIcon.Warning);
						break;
				}

				return;
			}

			try
			{
				switch (enumContactGroupCategory)
				{
					case AceSoft.RetailPlus.Data.ContactGroupCategory.CUSTOMER:
						clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting customer.");
						if (mclsTerminalDetails.ShowCustomerSelection == false)
						{
							clsEvent.AddEventLn("Cancelled! ShowCustomerSelection is OFF, reward is ON.");
							txtBarCode.Text = Constants.SWIPE_REWARD_CARD;
							txtBarCode.Focus(); txtBarCode.SelectionStart = txtBarCode.Text.Length + 1;
							return;
						}
						break;
					case AceSoft.RetailPlus.Data.ContactGroupCategory.AGENT:
						clsEvent.AddEvent("[" + lblCashier.Text + "] Selecting agent.");
						break;
				}

				DialogResult result; Data.ContactDetails details;
				TableSelectWnd clsTableSelectWnd = new TableSelectWnd();
				clsTableSelectWnd.TerminalDetails = mclsTerminalDetails;
                clsTableSelectWnd.ContactGroupCategory = enumContactGroupCategory;
				clsTableSelectWnd.ShowAvailableTableOnly = mboIsInTransaction;
				clsTableSelectWnd.ShowDialog(this);
				details = clsTableSelectWnd.Details;
				result = clsTableSelectWnd.Result;
				clsTableSelectWnd.Close();
				clsTableSelectWnd.Dispose();

				if (result == DialogResult.OK)
				{
					// Nov 18, 2011 : Lemu - auto suspend if already doing a transaction
                    if (mboIsInTransaction)
                    {
                        if (mclsSalesTransactionDetails.CustomerID == Constants.C_RETAILPLUS_CUSTOMERID && mclsSalesTransactionDetails.CustomerID != details.ContactID)
                        {
                            Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction);
                            mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction;

                            clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE);
                            clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate);
                            clsContacts.CommitAndDispose();

                            LoadContact(ContactGroupCategory.CUSTOMER, details);
                            return;
                        }
                        else if (mclsSalesTransactionDetails.CustomerID == details.ContactID)
                        { return; }
                        else if (mclsSalesTransactionDetails.CustomerID != details.ContactID)
                        {
                            if (MessageBox.Show("Would you like to move from table: " + mclsSalesTransactionDetails.CustomerDetails.ContactCode + " to table: " + details.ContactCode + "." + Environment.NewLine + "Please click [Yes] to move, [Cancel] to create new transaction in the selected table.", "RetailPlus", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                            {
                                Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction);
                                mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction;

                                clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE);
                                clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate);
                                clsContacts.CommitAndDispose();

                                LoadContact(ContactGroupCategory.CUSTOMER, details);
                                return;
                            }
                            else
                            {
                                this.SuspendTransaction(false);
                            }
                        }
                    }
                    else
                    {
                        Data.Contacts clsContacts = new Data.Contacts(mConnection, mTransaction);
                        mConnection = clsContacts.Connection; mTransaction = clsContacts.Transaction;

                        clsContacts.UpdateLastCheckInDate(mclsSalesTransactionDetails.CustomerID, Constants.C_DATE_MIN_VALUE);
                        clsContacts.UpdateLastCheckInDate(details.ContactID, mclsSalesTransactionDetails.TransactionDate);
                        clsContacts.CommitAndDispose();
                    }

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

                    string stTransactionNo = clsSalesTransactions.getSuspendedTransactionNo(details.ContactID, mclsTerminalDetails.TerminalNo, mclsTerminalDetails.BranchID);

                    if (stTransactionNo != string.Empty)
                    {
                        LoadTransaction(stTransactionNo, mclsTerminalDetails.TerminalNo);
                    }
                    else
                    {
                        this.LoadOptions();
                        LoadContact(ContactGroupCategory.CUSTOMER, details);

                        // 13Mar2015 : MPC, override the price using the PriceLevel
                        //             For PriceLevel1...5
                        if (mclsSysConfigDetails.EnablePriceLevel)
                        {
                            Cursor.Current = Cursors.WaitCursor;

                            Int32 iOldRow = dgItems.CurrentRowIndex;
                            Data.SalesTransactionItemDetails Details = new Data.SalesTransactionItemDetails();

                            Data.ProductPackage clsProductPackage = new Data.ProductPackage(mConnection, mTransaction);
                            mConnection = clsProductPackage.Connection; mTransaction = clsProductPackage.Transaction;

                            Data.ProductPackageDetails clsProductPackageDetails = new Data.ProductPackageDetails();

                            System.Data.DataTable dt = (System.Data.DataTable)dgItems.DataSource;
                            for (int x = 0; x < dt.Rows.Count; x++)
                            {
                                dgItems.CurrentRowIndex = x;
                                Details = getCurrentRowItemDetails();

                                dgItems.UnSelect(x);
                                if (Details.TransactionItemStatus == TransactionItemStatus.Valid)
                                {
                                    clsProductPackageDetails = clsProductPackage.Details(Details.ProductPackageID);

                                    switch (mclsContactDetails.PriceLevel)
                                    {
                                        case PriceLevel.SRP: Details.Price = clsProductPackageDetails.Price; break;
                                        case PriceLevel.One: Details.Price = clsProductPackageDetails.Price1 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price1; break;
                                        case PriceLevel.Two: Details.Price = clsProductPackageDetails.Price2 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price2; break;
                                        case PriceLevel.Three: Details.Price = clsProductPackageDetails.Price3 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price3; break;
                                        case PriceLevel.Four: Details.Price = clsProductPackageDetails.Price4 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price4; break;
                                        case PriceLevel.Five: Details.Price = clsProductPackageDetails.Price5 == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.Price5; break;
                                        case PriceLevel.WSPrice: Details.Price = clsProductPackageDetails.WSPrice == 0 ? clsProductPackageDetails.Price : clsProductPackageDetails.WSPrice; break;
                                        default: Details.Price = clsProductPackageDetails.Price; break;
                                    }
                                    Details = ApplyPromo(Details);

                                    ApplyChangeQuantityPriceAmountDetails(x, Details, "Change Price: Change Contact");
                                }
                            }

                            clsProductPackage.CommitAndDispose();

                            if (iOldRow >= 0)
                            {
                                dgItems.CurrentRowIndex = iOldRow;
                                dgItems.Select(iOldRow);

                                Details = getCurrentRowItemDetails();
                                DisplayItemToTurretDelegate DisplayItemToTurretDel = new DisplayItemToTurretDelegate(DisplayItemToTurret);
                                DisplayItemToTurretDel.BeginInvoke(Details.Description, Details.ProductUnitCode, Details.Quantity, Details.Price, Details.Discount, Details.PromoApplied, Details.Amount, Details.VAT, Details.EVAT, null, null);
                                InsertAuditLog(AccessTypes.ChangePrice, "Change price: change contact : for item " + Details.ProductCode + " to " + Details.Price.ToString("#,##0.#0") + " @ Branch: " + mclsTerminalDetails.BranchDetails.BranchCode);
                                mbodgItemRowClick = false;
                            }
                            
                            Cursor.Current = Cursors.Default;
                        }
                    }
                    clsSalesTransactions.CommitAndDispose();
				}
				else { clsEvent.AddEventLn("Cancelled!"); }
			}
			catch (Exception ex)
			{ clsEvent.AddErrorEventLn(ex); }
		}
Exemple #15
0
 private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
 {
     txtRemarks.Focus();
     SendKeys.Send(e.KeyboardKeyPressed);
 }
 private void keyboardNoControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
 {
     if (txtSelectedTextBox.Name == txtAmount.Name ||
         txtSelectedTextBox.Name == txtValidityDate.Name)
     {
         txtSelectedTextBox.Focus();
         if (e.KeyboardKeyPressed == "{CLEAR}")
             txtSelectedTextBox.Text = "";
         else if (e.KeyboardKeyPressed == "{SELECTALL}")
             txtSelectedTextBox.SelectAll();
         else if (e.KeyboardKeyPressed == "." & txtSelectedTextBox.Text.IndexOf(".") < 0)
             SendKeys.Send(e.KeyboardKeyPressed);
         else if (e.KeyboardKeyPressed != ".")
             SendKeys.Send(e.KeyboardKeyPressed);
     }
 }
Exemple #17
0
 private void keyboardNoControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
 {
     txtAmount.Focus();
     SendKeys.Send(e.KeyboardKeyPressed);
 }
        private void keyboardSearchControl1_UserKeyPressed(object sender, AceSoft.KeyBoardHook.KeyboardEventArgs e)
        {
            if (txtSelectedTextBox.Name == txtChequeNo.Name)
                txtChequeNo.Focus();
            else if (txtSelectedTextBox.Name == txtValidityDate.Name)
                txtValidityDate.Focus();

            SendKeys.Send(e.KeyboardKeyPressed);
        }