1 /*
2 * Copyright (c) 2002-2021, City of Paris
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright notice
10 * and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright notice
13 * and the following disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 *
32 * License 1.0
33 */
34 package fr.paris.lutece.plugins.genericalert.business;
35
36 import fr.paris.lutece.portal.service.plugin.Plugin;
37 import fr.paris.lutece.portal.service.plugin.PluginService;
38 import fr.paris.lutece.portal.service.spring.SpringContextService;
39
40 import java.util.Collection;
41 import java.util.List;
42
43 /**
44 * This class provides instances management methods (create, find, ...) for TaskReminderConfig objects
45 */
46
47 public final class TaskNotifyReminderConfigHome
48 {
49 // Static variable pointed at the DAO instance
50
51 private static ITaskNotifyReminderConfigDAO _dao = SpringContextService.getBean( "genericalert.taskNotifyReminderConfigDAO" );
52 private static Plugin _plugin = PluginService.getPlugin( "genericalert" );
53
54 /**
55 * Private constructor - this class need not be instantiated
56 */
57 private TaskNotifyReminderConfigHome( )
58 {
59 }
60
61 /**
62 * Create an instance of the taskReminderConfig class
63 *
64 * @param taskReminderConfig
65 * The instance of the TaskReminderConfig which contains the informations to store
66 * @return The instance of taskReminderConfig which has been created with its primary key.
67 */
68 public static TaskNotifyReminderConfig./fr/paris/lutece/plugins/genericalert/business/TaskNotifyReminderConfig.html#TaskNotifyReminderConfig">TaskNotifyReminderConfig create( TaskNotifyReminderConfig taskReminderConfig )
69 {
70 _dao.insert( taskReminderConfig );
71
72 return taskReminderConfig;
73 }
74
75 /**
76 * Update of the taskReminderConfig which is specified in parameter
77 *
78 * @param taskReminderConfig
79 * The instance of the TaskReminderConfig which contains the data to store
80 * @return The instance of the taskReminderConfig which has been updated
81 */
82 public static TaskNotifyReminderConfig./fr/paris/lutece/plugins/genericalert/business/TaskNotifyReminderConfig.html#TaskNotifyReminderConfig">TaskNotifyReminderConfig update( TaskNotifyReminderConfig taskReminderConfig )
83 {
84 _dao.store( taskReminderConfig );
85
86 return taskReminderConfig;
87 }
88
89 /**
90 * Remove the taskReminderConfig whose identifier is specified in parameter
91 *
92 * @param nKey
93 * The taskReminderConfig Id
94 */
95 public static void remove( int nKey )
96 {
97 _dao.delete( nKey );
98 }
99
100 // /////////////////////////////////////////////////////////////////////////
101 // Finders
102
103 /**
104 * Returns an instance of a taskReminderConfig whose identifier is specified in parameter
105 *
106 * @param nKey
107 * The taskReminderConfig primary key
108 * @return an instance of TaskReminderConfig
109 */
110 public static TaskNotifyReminderConfig findByPrimaryKey( int nKey )
111 {
112 return _dao.load( nKey );
113 }
114
115 /**
116 * Load the data of all the taskReminderConfig objects and returns them in form of a collection
117 *
118 * @return the collection which contains the data of all the taskReminderConfig objects
119 */
120 public static Collection<TaskNotifyReminderConfig> getTaskReminderConfigsList( )
121 {
122 return _dao.selectTaskReminderConfigsList( _plugin );
123 }
124
125 /**
126 * Load the id of all the taskReminderConfig objects and returns them in form of a collection
127 *
128 * @return the collection which contains the id of all the taskReminderConfig objects
129 */
130 public static Collection<Integer> getIdTaskReminderConfigsList( )
131 {
132 return _dao.selectIdTaskReminderConfigsList( _plugin );
133 }
134
135 /**
136 * Remove a Appointment Reminder
137 *
138 * @param idTask
139 * the id task
140 * @param nAppointmentFormId
141 * id form appointment
142 * @param rank
143 * the rank
144 * @param bool
145 * to delete all reminders
146 */
147 public static void removeAppointmentReminder( int idTask, int nAppointmentFormId, int rank, boolean bool )
148 {
149 _dao.deleteReminderAppointment( idTask, nAppointmentFormId, rank, bool, _plugin );
150 }
151
152 /**
153 *
154 * @param idTask
155 * the id task
156 * @param nAppointmentFormId
157 * id form
158 * @return list ReminderAppointment
159 */
160 public static List<ReminderAppointment> loadListReminderAppointment( int idTask, int nAppointmentFormId )
161 {
162 return _dao.loadListReminderAppointment( idTask, nAppointmentFormId, _plugin );
163 }
164
165 /**
166 *
167 * @param nKey
168 * id task
169 * @param idForm
170 * id form
171 * @return TaskNotifyReminderConfig the config
172 */
173 public static TaskNotifyReminderConfig findByIdForm( int nKey, int idForm )
174 {
175 return _dao.loadByIdForm( nKey, idForm, _plugin );
176 }
177
178 /**
179 *
180 * @param idTask
181 * the id task
182 * @return list TaskNotifyReminderConfig
183 */
184 public static List<TaskNotifyReminderConfig> loadListTaskNotifyConfig( int idTask )
185 {
186 return _dao.loadListTaskNotifyConfig( idTask, _plugin );
187 }
188
189 /**
190 *
191 * @param idForm
192 * the id form
193 * @return TaskNotifyReminderConfig the config
194 */
195 public static TaskNotifyReminderConfig loadConfigByIdForm( int idForm )
196 {
197 return _dao.loadConfigByIdForm( idForm, _plugin );
198 }
199 }