KonaKart Community Forum

Installation / Configuration => Programming of KonaKart => Topic started by: PiotrN on June 27, 2012, 09:58:47 am

Title: How can I update Order object
Post by: PiotrN on June 27, 2012, 09:58:47 am
Hello,

How can I update an Order object from within the server? I have already persisted an Order and I want programmatic change one if its custom fields.

Order order = ... // I already have the proper Order object
order.setCustom1("myCustomValue");

OrderMgr orderMgr = .... // I have access to OrderMgr or KKEng


What method should I invoke to update the order object?
I don't want to create new order nor to update its status - I just want to update its custom fields.

Thanks in advance,
Regards
Title: Re: How can I update Order object
Post by: Pier39 on June 27, 2012, 06:23:11 pm
You can try making use of beforeSaveOrder function inside OrderIntegrationMgr.java. This function gets called before an order actually gets saved. You can set custom field values here. This scenario helps if you want to set custom fields while creating order.

Else you could take a look at saveOrder(java.lang.String sessionId, OrderIf order, int languageId) api defined in OrderMgr.
Title: Re: How can I update Order object
Post by: PiotrN on June 28, 2012, 07:36:11 am
Hi Pier39,

Thanks for your answer!

However, neither the beforeSaveOrder(-) nor saveOrder(-) seems to work for me. Those methods bases on Order that is not persisted in the database (first one) or creates one basing on the OrderIf object (second one).
I am trying to update an existing order - not to persist another one.

Regards.
Title: Re: How can I update Order object
Post by: Pier39 on June 28, 2012, 03:33:14 pm
I think this will help you,


KKCriteria updateC = getNewCriteria();
KKCriteria selectC = getNewCriteria();
updateC.addForInsert(BaseOrdersPeer.CUSTOM1, "VALUE");
updateC.addForInsert(BaseOrdersPeer.CUSTOM2, "VALUE");
updateC.addForInsert(BaseOrdersPeer.CUSTOM3, "VALUE");
selectC.add(BaseOrdersPeer.ORDERS_ID, order.getId());
BasePeer.doUpdate(selectC, updateC);
Title: Re: How can I update Order object
Post by: PiotrN on June 29, 2012, 08:03:13 am
Aaaah, you're a gentleman and a scholar.

Thanks a lot mate, it works like a charm!