using System; using System.Collections.Generic; using BeWo.Data.Access; using BeWo.Service.DCEntityMapper; using BS.Shared.Core; using BS.Shared.DataContracts; using BS.Shared.Extensions; namespace BeWo.Service.Plugins { public class ResourceService : AbstractIDSpecificDefaultClass { public virtual string ValidateSchedulerAppointment(DateTime start, DateTime end, IEnumerable employees, IEnumerable customers, List resources, long originator, long? appointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false) { return DAOFactory.SearchDAO.ValidateSchedulerAppointment(start, end, employees, customers, resources, originator, appointmentOid, recurrenceId, occurrenceIndex); } public virtual List CheckResourceAvailability(DateTime start, DateTime end, List resourceOids, long? selectedAppointmentOid) { var list = new List(); var resources = DAOFactory.SearchDAO.CheckAvailabilityOfResources(resourceOids, start, end, selectedAppointmentOid); foreach(var resource in resources) { list.AddIfNotIn(MapperFactory.ResourceDC_Resource.MapToNewDC(resource)); } return list; } public virtual Dictionary> CheckResourceAvailabilityWithBookingEmployees(DateTime start, DateTime end, List resourceOids, long? selectedAppointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false) { return DAOFactory.SearchDAO.CheckResourceAvailabilityWithEmployeeInformation(start, end, resourceOids, selectedAppointmentOid, recurrenceId, occurrenceIndex); } } }