1 package com.dotmarketing.portlets.event_registrations.factories; 2 3 import java.util.Date ; 4 import java.util.GregorianCalendar ; 5 import java.util.List ; 6 7 import com.dotmarketing.db.DbConnectionFactory; 8 import com.dotmarketing.db.DotHibernate; 9 import com.dotmarketing.factories.InodeFactory; 10 import com.dotmarketing.portlets.event_registrations.model.WebEventAttendee; 11 import com.dotmarketing.portlets.event_registrations.model.WebEventRegistration; 12 import com.dotmarketing.portlets.event_registrations.struts.ViewRegistrationsForm; 13 import com.dotmarketing.portlets.event_registrations.struts.WebEventRegistrationForm; 14 import com.dotmarketing.portlets.webevents.model.WebEventLocation; 15 import com.dotmarketing.util.Config; 16 import com.dotmarketing.util.UtilMethods; 17 18 22 public class WebEventRegistrationFactory { 23 24 public static java.util.List getAllWebEventRegistrations() { 25 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 26 dh.setQuery( 27 "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration order by date_posted desc"); 28 return dh.list(); 29 } 30 public static java.util.List getAllWebEventRegistrations(String orderby) { 31 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 32 dh.setQuery( 33 "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration order by " + orderby); 34 return dh.list(); 35 } 36 37 public static java.util.List getWebEventRegistrationsByCondition(String condition) { 38 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 39 dh.setQuery( 40 "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration where " + condition); 41 return dh.list(); 42 } 43 44 public static java.util.List getTodayWebEventRegistrations() { 45 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 46 dh.setQuery( 47 "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration where date_posted >= ? order by date_posted desc"); 48 GregorianCalendar cal = new GregorianCalendar (); 49 cal.setTime(new Date ()); 50 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 51 cal.set(GregorianCalendar.MINUTE, 0); 52 cal.set(GregorianCalendar.SECOND, 0); 53 dh.setParam(cal.getTime()); 54 return dh.list(); 55 } 56 57 public static java.util.List getEventAttendees(WebEventRegistration eventRegistration, String orderby) { 58 String condition = "event_registration_inode = " + eventRegistration.getInode(); 59 return InodeFactory.getInodesOfClassByConditionAndOrderBy(WebEventLocation.class, condition, orderby); 60 } 61 62 public static java.util.List getEventAttendees(WebEventRegistrationForm eventRegistrationForm, String orderby) { 63 String condition = "event_registration_inode = " + eventRegistrationForm.getInode(); 64 return InodeFactory.getInodesOfClassByConditionAndOrderBy(WebEventLocation.class, condition, orderby); 65 } 66 67 @SuppressWarnings ("unchecked") 68 public static java.util.List <WebEventAttendee> getEventAttendees(WebEventRegistration eventRegistration) { 69 String condition = "event_registration_inode = " + eventRegistration.getInode(); 70 String orderby = "first_name, last_name"; 71 return (java.util.List <WebEventAttendee>)InodeFactory.getInodesOfClassByConditionAndOrderBy(WebEventAttendee.class, condition, orderby); 72 } 73 74 @SuppressWarnings ("unchecked") 75 public static java.util.List <WebEventAttendee> getEventAttendees(WebEventRegistrationForm eventRegistrationForm) { 76 String condition = "event_registration_inode = " + eventRegistrationForm.getInode(); 77 String orderby = "first_name, last_name"; 78 return (java.util.List <WebEventAttendee>)InodeFactory.getInodesOfClassByConditionAndOrderBy(WebEventAttendee.class, condition, orderby); 79 } 80 81 @SuppressWarnings ("unchecked") 82 public static java.util.List <WebEventAttendee> getEventAttendeesByEmail(WebEventRegistration eventRegistration, String email) { 83 String condition = "event_registration_inode = " + eventRegistration.getInode() + " and email = '" + email + "'"; 84 String orderby = "first_name, last_name"; 85 return (java.util.List <WebEventAttendee>)InodeFactory.getInodesOfClassByConditionAndOrderBy(WebEventAttendee.class, condition, orderby); 86 } 87 88 public static WebEventRegistration getWebEventRegistration(long inode) { 89 return (WebEventRegistration) InodeFactory.getInode(inode, WebEventRegistration.class); 90 } 91 92 public static WebEventRegistration getWebEventRegistration(String inode) { 93 return (WebEventRegistration) InodeFactory.getInode(inode, WebEventRegistration.class); 94 } 95 96 public static WebEventRegistration newInstance() { 97 WebEventRegistration m = new WebEventRegistration(); 98 return m; 99 } 100 101 public static void saveWebEventRegistration(WebEventRegistration WebEventRegistration) { 102 InodeFactory.saveInode(WebEventRegistration); 103 } 104 105 public static void deleteWebEventRegistration(WebEventRegistration WebEventRegistration) { 106 InodeFactory.deleteInode(WebEventRegistration); 107 } 108 109 public static List getFilteredRegistrations(ViewRegistrationsForm vForm) { 110 111 String eventInode = vForm.getEventInode(); 112 String locationInode = vForm.getLocationInode(); 113 Date startDate = vForm.getStartDate(); 114 Date endDate = vForm.getEndDate(); 115 String regNumber = vForm.getRegistrationNumber(); 116 String invoiceNumber = vForm.getInvoiceNumber(); 117 int paymentStatus = vForm.getPaymentStatus(); 118 int institute = vForm.getInstitute(); 119 120 String condition = ""; 121 122 if (UtilMethods.isSet(regNumber) && !regNumber.equals("0")) { 123 if (condition.length()>0) condition += " and "; 124 condition += " web_event_registration.inode = " + regNumber; 125 } 126 if (paymentStatus > 0) { 127 if (condition.length()>0) condition += " and "; 128 condition += " web_event_registration.registration_status = " + paymentStatus; 129 } 130 if (UtilMethods.isSet(eventInode) && !eventInode.equals("0")) { 131 if (condition.length()>0) condition += " and "; 132 condition += " web_event_registration.event_inode = " + eventInode; 133 } 134 if (UtilMethods.isSet(locationInode) && !locationInode.equals("0")) { 135 if (condition.length()>0) condition += " and "; 136 condition += " web_event_registration.event_location_inode = " + locationInode; 137 } 138 if (UtilMethods.isSet(startDate)) { 139 if (condition.length()>0) condition += " and "; 140 condition += " web_event_registration.date_posted >= ? "; 141 } 142 if (UtilMethods.isSet(endDate)) { 143 if (condition.length()>0) condition += " and "; 144 condition += " web_event_registration.date_posted <= ? "; 145 } 146 if (UtilMethods.isSet(invoiceNumber)) { 147 if (condition.length()>0) condition += " and "; 148 condition += " web_event_registration.invoice_number = '" + invoiceNumber + "'"; 149 } 150 if (institute == 1) { 152 if (condition.length()>0) condition += " and "; 153 condition += " web_event.is_institute = " + DbConnectionFactory.getDBTrue(); 154 } 155 else if (institute == 2) { 157 if (condition.length()>0) condition += " and "; 158 condition += " web_event.is_institute = " + DbConnectionFactory.getDBFalse(); 159 } 160 161 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 163 String query = "select {web_event_registration.*} from web_event_registration as web_event_registration, inode as web_event_registration_1_, web_event as web_event"; 164 query += " where web_event_registration_1_.inode = web_event_registration.inode and web_event_registration.event_inode = web_event.inode "; 165 166 if (condition.length()>0) { 167 query += "and " + condition; 168 } 169 String orderBy = vForm.getOrderBy(); 170 String direction = vForm.getSelectedDirection(); 171 if (UtilMethods.isSet(orderBy)) 172 orderBy = " order by web_event_registration." + orderBy + " " + direction; 173 else 174 orderBy = " order by web_event_registration.date_posted desc"; 175 176 query += orderBy; 177 178 dh.setSQLQuery(query); 179 180 if (UtilMethods.isSet(startDate)) { 181 dh.setDate(startDate); 182 } 183 if (UtilMethods.isSet(endDate)) { 184 dh.setDate(endDate); 185 } 186 return dh.list(); 187 188 189 } 190 public static List getRegistrationsPerEventLocation(long locationInode) { 191 192 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 193 String query = "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration where event_location_inode = " + locationInode; 194 query += " order by date_posted desc"; 195 dh.setQuery(query); 196 return dh.list(); 197 } 198 public static List getAttendeesPerEventLocation(long locationInode) { 199 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 200 String query = "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration where event_location_inode = " + locationInode; 201 query += " order by date_posted desc"; 202 dh.setQuery(query); 203 return getEventAttendeesByRegistratiosList(dh.list()); 204 } 205 206 207 @SuppressWarnings ("unchecked") 208 public static java.util.List <WebEventAttendee> getEventAttendeesByRegistratiosList(List eventRegistrationList) { 209 String condition = "event_registration_inode = -1"; 210 if (eventRegistrationList != null){ 211 if (eventRegistrationList.size() > 0){ 212 condition = "event_registration_inode in ("; 213 for (int i=0;i<eventRegistrationList.size();i++){ 214 WebEventRegistration eventRegistration = (WebEventRegistration) eventRegistrationList.get(i); 215 if (eventRegistration.getRegistrationStatus() != 6){ 216 if (i > 0) 217 condition += "," + eventRegistration.getInode(); 218 else 219 condition += eventRegistration.getInode(); 220 } 221 } 222 condition += ") "; 223 } 224 } 225 String orderby = "first_name, last_name"; 226 return (java.util.List <WebEventAttendee>)InodeFactory.getInodesOfClassByConditionAndOrderBy(WebEventAttendee.class, condition, orderby); 227 } 228 public static java.util.List getWebEventRegistrationsByUser(String inode) { 229 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 230 dh.setQuery( 231 "from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration where user_inode = ?" 232 ); 233 dh.setParam(inode); 234 235 return dh.list(); 236 } 237 public static java.util.List getWebEventRegistrationsByUser(String inode, String orderBy) { 238 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 239 dh.setQuery("from inode in class com.dotmarketing.portlets.event_registrations.model.WebEventRegistration where user_inode = ? order by " + orderBy); 240 dh.setParam(inode); 241 242 return dh.list(); 243 } 244 public static java.util.List getRegistrationsForEmailReminders() { 245 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 246 247 StringBuffer sb = new StringBuffer (); 248 sb.append("select {web_event_registration.*} from web_event_registration as web_event_registration, inode as web_event_registration_1_, web_event as web_event, web_event_location as web_event_location "); 249 sb.append("where web_event_registration.inode = web_event_registration_1_.inode "); 250 sb.append("and web_event_registration.event_inode = web_event.inode "); 251 sb.append("and web_event_registration.event_location_inode = web_event_location.inode "); 252 sb.append("and web_event.inode = web_event_location.web_event_inode "); 253 sb.append("and web_event.is_institute = " + DbConnectionFactory.getDBFalse()); 254 sb.append("and web_event_location.start_date > ? "); 255 sb.append("and web_event_location.start_date < ? "); 256 sb.append("and web_event_registration.registration_status = " + DbConnectionFactory.getDBTrue() + " "); 258 sb.append("and web_event_registration.reminder_email_sent = " + DbConnectionFactory.getDBFalse()); 259 260 dh.setSQLQuery(sb.toString()); 261 262 GregorianCalendar cal = new GregorianCalendar (); 263 cal.setTime(new Date ()); 264 cal.add(GregorianCalendar.DAY_OF_YEAR, 1); 265 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 266 cal.set(GregorianCalendar.MINUTE, 0); 267 cal.set(GregorianCalendar.SECOND, 0); 268 Date date1 = cal.getTime(); 269 System.out.println("Email Reminder start date1 = " + date1); 270 cal.setTime(new Date ()); 271 cal.add(GregorianCalendar.DAY_OF_YEAR, 3); 272 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 273 cal.set(GregorianCalendar.MINUTE, 0); 274 cal.set(GregorianCalendar.SECOND, 0); 275 Date date2 = cal.getTime(); 276 System.out.println("Email Reminder start date2 = " + date2); 277 dh.setParam(date1); 278 dh.setParam(date2); 279 return dh.list(); 280 } 281 282 public static java.util.List getRegistrationsAfterWebinar() { 283 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 284 285 StringBuffer sb = new StringBuffer (); 286 sb.append("select {web_event_registration.*} from web_event_registration as web_event_registration, inode as web_event_registration_1_, web_event as web_event, web_event_location as web_event_location "); 287 sb.append("where web_event_registration.inode = web_event_registration_1_.inode "); 288 sb.append("and web_event_registration.event_inode = web_event.inode "); 289 sb.append("and web_event_registration.event_location_inode = web_event_location.inode "); 290 sb.append("and web_event.inode = web_event_location.web_event_inode "); 291 sb.append("and web_event.is_institute = " + DbConnectionFactory.getDBFalse() + " "); 292 sb.append("and web_event_location.end_date > ? "); 293 sb.append("and web_event_location.end_date < ? "); 294 sb.append("and web_event_registration.registration_status = " + DbConnectionFactory.getDBTrue() + " "); 296 sb.append("and web_event_registration.post_email_sent = " + DbConnectionFactory.getDBFalse()); 297 298 dh.setSQLQuery(sb.toString()); 299 300 GregorianCalendar cal = new GregorianCalendar (); 301 cal.setTime(new Date ()); 302 cal.add(GregorianCalendar.DAY_OF_YEAR, -2); 303 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 304 cal.set(GregorianCalendar.MINUTE, 0); 305 cal.set(GregorianCalendar.SECOND, 0); 306 Date date1 = cal.getTime(); 307 cal.setTime(new Date ()); 308 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 309 cal.set(GregorianCalendar.MINUTE, 0); 310 cal.set(GregorianCalendar.SECOND, 0); 311 Date date2 = cal.getTime(); 312 dh.setParam(date1); 313 dh.setParam(date2); 314 return dh.list(); 315 } 316 317 318 319 } | Popular Tags |