public WOActionResults saveType() { EOEditingContext ec = (EOEditingContext) valueForBinding("ec"); ec.lock(); try { boolean newType = (currType == null); if (newType) { currType = (ItogType) EOUtilities.createAndInsertInstance(ec, ItogType.ENTITY_NAME); Number maxSort = (Number) valueForBinding("maxSort"); if (maxSort != null) { currType.setSort(new Integer(maxSort.intValue() + 1)); } else { currType.setSort(new Integer(1)); } } currType.setName(itogName); currType.setTitle(itogTitle); currType.setInYearCount((itogCount == null) ? new Integer(0) : itogCount); ec.saveChanges(); // if(newType) { // allTypes = allTypes.arrayByAddingObject(currType); // itogsList = NSArray.EmptyArray; // } setValueForBinding(currType, "currType"); } catch (Exception e) { SetupItogs.logger.log(WOLogLevel.WARNING, "Error saving changes in list ", e); session().takeValueForKey(e.getMessage(), "message"); ec.revert(); } finally { ec.unlock(); } return (WOActionResults) valueForBinding("actionResult"); }
public WOActionResults delete() { EOEditingContext ec = (EOEditingContext) valueForBinding("ec"); ec.lock(); try { NSArray usage = EOUtilities.objectsMatchingKeyAndValue(ec, "ItogTypeList", "itogType", currType); if (usage != null && usage.count() > 0) { Enumeration enu = usage.objectEnumerator(); while (enu.hasMoreElements()) { EOEnterpriseObject itl = (EOEnterpriseObject) enu.nextElement(); ec.deleteObject(itl); } } ec.deleteObject(currType); ec.saveChanges(); currType = null; setValueForBinding(currType, "currType"); } catch (Exception e) { SetupItogs.logger.log(WOLogLevel.WARNING, "Error saving changes in list ", e); session().takeValueForKey(e.getMessage(), "message"); ec.revert(); } finally { ec.unlock(); } return (WOActionResults) valueForBinding("actionResult"); }
public void search() { try { found = Person.Utility.search(ec, entity(), searchString); if ((found == null || found.count() == 0) && alterEntity() != null) found = Person.Utility.search(ec, alterEntity(), searchString); } catch (Exception e) { searchMessage = e.getMessage(); canCreate = false; return; } if (found.count() < 1) { searchMessage = (String) session().valueForKeyPath("strings.Strings.messages.nothingFound"); canCreate = Various.boolForObject(session().valueForKeyPath("readAccess.create." + entity())); return; } NSMutableArray fullList = (NSMutableArray) session().valueForKey("personList"); NSMutableArray tmp = found.mutableClone(); tmp.removeObjectsInArray(fullList); fullList.addObjectsFromArray(tmp); if (fullList.count() > 1) EOSortOrdering.sortArrayUsingKeyOrderArray(fullList, Person.sorter); searchMessage = null; }