1 package org.campware.cream.modules.actions; 2 3 42 43 import java.util.Date ; 44 import java.util.Enumeration ; 45 import org.apache.velocity.context.Context; 46 47 import org.apache.turbine.util.RunData; 48 import org.apache.turbine.util.parser.ParameterParser; 49 import org.apache.torque.util.Criteria; 50 import org.apache.torque.util.Transaction; 51 import java.sql.Connection ; 52 53 import org.campware.cream.om.Service; 54 import org.campware.cream.om.ServicePeer; 55 import org.campware.cream.om.ServiceItem; 56 import org.campware.cream.om.ServiceItemPeer; 57 58 62 public class ServiceSQL extends CreamAction 63 { 64 protected void initScreen() 65 { 66 setModuleType(DOCUMENT); 67 setModuleName("SERVICE"); 68 } 69 79 public void doInsert(RunData data, Context context) 80 throws Exception 81 { 82 Service entry = new Service(); 83 data.getParameters().setProperties(entry); 84 85 entry.setServiceCode(getTempCode()); 86 87 entry.setIssuedDate(parseDate(data.getParameters().getString("issueddate"))); 88 entry.setClosedDate(parseDate(data.getParameters().getString("closeddate"))); 89 entry.setCreatedBy(data.getUser().getName()); 90 entry.setCreated(new Date ()); 91 entry.setModifiedBy(data.getUser().getName()); 92 entry.setModified(new Date ()); 93 94 ParameterParser pp= data.getParameters(); 95 Enumeration paramKeys= pp.keys(); 96 int sordId = entry.getSorderId(); 97 int custId = entry.getCustomerId(); 98 int recpId = entry.getRecipientId(); 99 int projId = entry.getProjectId(); 100 101 while(paramKeys.hasMoreElements()) { 102 String paramName = paramKeys.nextElement().toString(); 103 if(paramName.startsWith("productid")) { 104 String suffix=paramName.substring(9, paramName.length()); 105 ServiceItem entryItem= new ServiceItem(); 106 107 entryItem.setProductId(pp.getInt("productid" + suffix)); 108 entryItem.setDescription(pp.getString("description" + suffix)); 109 entryItem.setQuantity(pp.getInt("quantity" + suffix)); 110 111 entryItem.setSorderId(sordId); 112 entryItem.setCustomerId(custId); 113 entryItem.setRecipientId(recpId); 114 entryItem.setProjectId(projId); 115 116 entry.addServiceItem(entryItem); 117 } 118 } 119 120 Connection conn = Transaction.begin(ServicePeer.DATABASE_NAME); 121 boolean success = false; 122 try { 123 entry.save(conn); 124 entry.setServiceCode(getRowCode("SE", entry.getServiceId())); 125 entry.save(conn); 126 Transaction.commit(conn); 127 success = true; 128 129 } finally { 130 if (!success) Transaction.safeRollback(conn); 131 } 132 } 133 134 142 public void doUpdate(RunData data, Context context) 143 throws Exception 144 { 145 Service entry = new Service(); 146 data.getParameters().setProperties(entry); 147 148 entry.setIssuedDate(parseDate(data.getParameters().getString("issueddate"))); 149 entry.setClosedDate(parseDate(data.getParameters().getString("closeddate"))); 150 entry.setCreated(parseDateTime(data.getParameters().getString("created"))); 151 entry.setModifiedBy(data.getUser().getName()); 152 entry.setModified(new Date ()); 153 154 ParameterParser pp= data.getParameters(); 155 Enumeration paramKeys= pp.keys(); 156 int sordId = entry.getSorderId(); 157 int custId = entry.getCustomerId(); 158 int recpId = entry.getRecipientId(); 159 int projId = entry.getProjectId(); 160 161 while(paramKeys.hasMoreElements()) { 162 String paramName = paramKeys.nextElement().toString(); 163 if(paramName.startsWith("productid")) { 164 String suffix=paramName.substring(9, paramName.length()); 165 ServiceItem entryItem= new ServiceItem(); 166 167 entryItem.setProductId(pp.getInt("productid" + suffix)); 168 entryItem.setDescription(pp.getString("description" + suffix)); 169 entryItem.setQuantity(pp.getInt("quantity" + suffix)); 170 171 entryItem.setSorderId(sordId); 172 entryItem.setCustomerId(custId); 173 entryItem.setRecipientId(recpId); 174 entryItem.setProjectId(projId); 175 176 entry.addServiceItem(entryItem); 177 } 178 } 179 180 entry.setModified(true); 181 entry.setNew(false); 182 183 Criteria crit = new Criteria(); 184 crit.add(ServiceItemPeer.SERVICE_ID, entry.getServiceId()); 185 186 Connection conn = Transaction.begin(ServicePeer.DATABASE_NAME); 187 boolean success = false; 188 try { 189 ServiceItemPeer.doDelete(crit, conn); 190 entry.save(conn); 191 Transaction.commit(conn); 192 success = true; 193 194 } finally { 195 if (!success) Transaction.safeRollback(conn); 196 } 197 } 198 199 203 public void doDelete(RunData data, Context context) 204 throws Exception 205 { 206 Criteria criteria = new Criteria(); 207 criteria.add(ServicePeer.SERVICE_ID, data.getParameters().getInt("serviceid")); 208 ServicePeer.doDelete(criteria); 209 } 210 211 215 public void doDeleteselected(RunData data, Context context) 216 throws Exception 217 { 218 int[] delIds= data.getParameters().getInts("rowid"); 219 Criteria criteria = new Criteria(); 220 criteria.addIn(ServicePeer.SERVICE_ID, delIds); 221 ServicePeer.doDelete(criteria); 222 } 223 224 } 225 | Popular Tags |