1 /* 2 * Copyright (c) 2002-2018, Mairie de 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.appointment.modules.resource.business; 35 36 import fr.paris.lutece.plugins.appointment.modules.resource.service.AppointmentResourcePlugin; 37 import fr.paris.lutece.portal.service.plugin.Plugin; 38 import fr.paris.lutece.portal.service.plugin.PluginService; 39 import fr.paris.lutece.portal.service.spring.SpringContextService; 40 41 import java.util.List; 42 43 /** 44 * Home for appointment form resources 45 */ 46 public final class AppointmentFormResourceTypeHome 47 { 48 private static Plugin _plugin = PluginService.getPlugin( AppointmentResourcePlugin.PLUGIN_NAME ); 49 private static final IAppointmentFormResourceTypeDAO _dao = SpringContextService.getBean( IAppointmentFormResourceTypeDAO.BEAN_NAME ); 50 51 /** 52 * Default constructor 53 */ 54 private AppointmentFormResourceTypeHome( ) 55 { 56 // Private constructor 57 } 58 59 /** 60 * Create an association between an appointment form and a resource type 61 * 62 * @param formResourceType 63 * The appointment form resource type 64 */ 65 public static void insert( AppointmentFormResourceType formResourceType ) 66 { 67 _dao.insert( formResourceType, _plugin ); 68 } 69 70 /** 71 * Update an association between an appointment form and a resource type 72 * 73 * @param formResourceType 74 * The appointment form resource type 75 */ 76 public static void update( AppointmentFormResourceType formResourceType ) 77 { 78 _dao.update( formResourceType, _plugin ); 79 } 80 81 /** 82 * Remove an association between an appointment form and a resource type 83 * 84 * @param nId 85 * The id of the appointment form resource type to remove 86 */ 87 public static void remove( int nId ) 88 { 89 _dao.remove( nId, _plugin ); 90 } 91 92 /** 93 * Remove every associations between an appointment form and resource types 94 * 95 * @param nIdAppointmentForm 96 * The id of the appointment form 97 */ 98 public static void removeFromIdAppointmentForm( int nIdAppointmentForm ) 99 { 100 _dao.removeFromIdAppointmentForm( nIdAppointmentForm, _plugin ); 101 } 102 103 /** 104 * Find an appointment form resource type from its primary key 105 * 106 * @param nId 107 * the id of the appointment form resource type to get 108 * @return The appointment form resource type, or null if no appointment form with the given id was found 109 */ 110 public static AppointmentFormResourceType findByPrimaryKey( int nId ) 111 { 112 return _dao.findByPrimaryKey( nId, _plugin ); 113 } 114 115 /** 116 * Get the list of resource types associated with a given form 117 * 118 * @param nIdForm 119 * The id of the form 120 * @return The list of appointment form resource types associated with the given form, or an empty list if no resource is associated with this form 121 */ 122 public static List<AppointmentFormResourceType> findResourceTypesListFromIdForm( int nIdForm ) 123 { 124 return _dao.findResourceTypesListFromIdForm( nIdForm, _plugin ); 125 } 126 127 /** 128 * Reset the form resource type that was declared as containing the admin user of appointments 129 * 130 * @param nIdAppointmentForm 131 * The id of the appointment form 132 */ 133 public static void resetAppAdminUser( int nIdAppointmentForm ) 134 { 135 _dao.resetAppAdminUser( nIdAppointmentForm, _plugin ); 136 } 137 138 /** 139 * Reset the form resource type that was declared as containing the localization of appointments 140 * 141 * @param nIdAppointmentForm 142 * The id of the appointment form 143 */ 144 public static void resetLocalization( int nIdAppointmentForm ) 145 { 146 _dao.resetLocalization( nIdAppointmentForm, _plugin ); 147 } 148 }