Replacing POS frontend with .NET GUI

Hi everyone,

I am hoping to completely replace the RMS POS frontend with my own program I'll write in .NET to allow other functionality. However, I still wanted to use the Admin and Manager programs to allow reporting and inventory management of sales.

I only wanted to access basic functionality from my program:

- querying the SQL database for prices and product names

- messaging the backend when an item is sold

- messaging the backend with basic payment details when an item is paid for, with my program probably handling payment processing itself

This should allow the Manager program to still issue reports and handle the inventory. A lot of the functionality will not be required, like customer loyalty cards, etc.

Does anyone have any ideas how I can accomplish this? I have been told I can access a POS OCX file to send the commands - has anyone had any experience with it?

Thanks for your help,

Mike

Reply to
Mike B
Loading thread data ...

Hi Mike, for a customer I wrote a software in C# that work with QSRules (the engine of RMS Store Operation).

To work with QSRules is very easy..

Add QSRules.dll to your project, and after create a new instance of QSRules.. example:

QSRules.Session mySession = new QSRules.SessionClass();

QSRules.ConnectionInfo info = new QSRules.ConnectionInfoClass();

info.RegisterNumber = 1; info.Provider = "SQLOLEDB.1"; info.UserID = "sa"; info.Password = ""; info.InitialCatalog = "testv108"; info.DataSource = "(local)"; info.ConnectTimeout = "30";

bool result = false;

if (mySession.Database.OpenConnection(info, ref result) == false) return false; // check database connection!

bool isPos = true; // QSRules.StatusCategoryEnum r = session.Build(1, ref isPos); // isPos false for Manager

mySession.License.MarkAsRegistered(); // for license control.. QSRules.Batch currentBatch = session.Register.Batch;

if (currentBatch != null && currentBatch.BatchStatus =(int)(QSRules.batchstatusEnum.batchstatusClosed)) { bool zzBatch = false; int batchNumber = 0; currentBatch.MakeNewBatch(ref zzBatch, ref batchNumber); // now batchNumber is current batch number }

// end of init

Example of Sale:

mySession.InitializeTransaction(); mySession.Transaction.Entries.Add(ItemID, "ItemLookupCode", Quantity,

0, true, fullprice, "", "", false);

mySession.Tender.............

mySession.Transaction.Post();

.......................................

See FireEventCommand for more details

bye antonio

Reply to
Antonio Mazzeo

glenn/antonio, you guys rock. you guys are like rms rock stars man. i smuggled a secret copy of a qsrules book from a nameless friend of mine but still have not gotten the chance to play around with it. maybe some day...

kamal

Reply to
Kamal Hood

Is that the same as the customization guide?

If not I want one of those secret books too!

Can you give me a clue?

thanks

"Kamal Hood" wrote:

Reply to
Jewelsmith

I'm trying to write a webservice that posts transactions to a RMS database.

The code Antonio posted is a great start but I just can't get it to work. Looks like there were a few typos which I corrected (session should be mySession).

My problem is that everything seems to work fine (i.e. no error is thrown) but no transaction is created.

Database connects okay, but the one thing that worries me is session.Build returns a Warning enum value. Register number is valid and I've tried isPos true and false.

Any suggesti> Mike B wrote:

Reply to
Simon

Hi everyone

I'm trying to replace the frontend of microsoft RMS POS payments with my own frontend using .NET & C#. If some of you have seen, it is in continuation with one of the previous posts by Mike. I'm currently in need of some useful information on the POS payements made through credit/debit cards.

In this regard, i'm currently trying to interface a pinpad(Make verifone Pinpad 1000SE) with the RMS for pin entry.

This will invole things like

1)Opening the pinpad device, during start up of my front end. Also poll for the presence of pinpad connection with my PC during runtime. 2)Request for pin entry 3)Receive the encrypted pin 4)Communicate with the payment gateway & receive payment authorization.

I've been successfullly able to open the pinpad using the call through QSRules through the code

session.Register.PINPad.CO.Open("verifonepinpad");

I'm trying to poll for the pinpad's connection with my PC using the api CheckHealth(int) which is present in the pinpad class.

Can someone tell me what parameter to pass into the function to see the working condition of the pinpad & also provide some insight on the API to be used for the pin entry etc & payment authorization.

If anyone has a detailed documentation on the QSRules API, it will be extremely helpful.

Thanks a lot Sowmya

"Jewelsmith" wrote:

Reply to
Sowmya MV

Hi all,

I want to know more about this secret book also...any info would be greatly appreciated. email me offline if you want to: snipped-for-privacy@gmail.com

Thanks, KJ

"Sowmya MV" wrote:

Reply to
KJ

Reply to
hozay

Hi Mike,

I tried your code and everything works fine, except adding a item to the transaction. it seems that nothing happens. If recall a transaction I get entries, but if I add them nothing happens. Do you have an Idea what going wrong?

Kind regards,Martin

Reply to
Martin Stein

BeanSmart website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.