using BeWo.Data.Entities; using BS.Shared.Core; using BS.Shared.DataContracts; using System; using System.Collections.Generic; using System.ServiceModel; namespace BeWo.Service.ServiceContracts { [ServiceContract] public interface IResourceService { [FaultContract(typeof(BeWoFault))] [OperationContract] void DeactivateResource(long pOid, long pVersion); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeactivateResources(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteBooking(long pOid, long pVersion); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteBookings(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteResource(long pOid, long pVersion); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteResources(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllBookings(DateTime pStartSpan, DateTime pEndSpan); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllBookingsByResource(long pResourceOid, DateTime pStartSpan, DateTime pEndSpan); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllResources(); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewBookings(List pBookings); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewResources(List pResource); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateBookings(List pBookings); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateResources(List pResource); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateBookingSequenceDCs(List pBookings); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateResourceDCs(List pResource); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewBookingSequenceDCs(IEnumerable pBookings); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateResourceAppointments(List pResourceAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertNewResourceAppointments(IEnumerable pResourceAppointments); [FaultContract(typeof (BeWoFault))] [OperationContract] void DeleteResourceAppointments(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllResourceAppointments(); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetResourceAppointmentsById(IEnumerable pOids); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadPossibleDuplicates(string pRecurrenceInfo); [FaultContract(typeof (BeWoFault))] [OperationContract] List GetAllSchedulerAppointments(); [FaultContract(typeof (BeWoFault))] [OperationContract] SchedulerAppointmentDC GetSchedulerAppointmentByid(long oid); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteSchedulerAppointments(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertSchedulerAppointments(IList pNewSchedulerAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateSchedulerAppointments(List pNewSchedulerAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetSchedulerAppointmentsById(IEnumerable pOids); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeactivateSchedulerAppointments(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] Dictionary> GetAllCategories2ResourcesInDictionary(); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveSchedulerAppointments(); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllOpenAppointmentsForEmployee(long pEmployeeOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertEmployee2SchedulerAppointments(IEnumerable pEmployee2SchedulerAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List UpdateEmployee2SchedulerAppointments(List pEmployee2SchedulerAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteEmployee2SchedulerAppointments(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveAndNotDeclinedForEmployeeAppointments(long pEmployeeOid); [FaultContract(typeof(BeWoFault))] [OperationContract] bool OverlappingAppointmentsExist(DateTime start, DateTime end, List employees, List customers, List resources, long originator, long? appointmentOid, string recurrenceId = "", int ocurrenceIndex = 0); [FaultContract(typeof(BeWoFault))] [OperationContract] List DeactivateSchedulerAppointmentsForSync(Dictionary pOid2Version); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveAppointmentsForEmployeeInInterval(DateTime start, DateTime end, long pEmployeeOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveAppointmentsForEmployeeInInterval2(DateTime start, DateTime end, long pEmployeeOid, bool pHasRightToSeeAllEmployeeAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveAbsenceTimesInInterval(DateTime pStart, DateTime pEnd, long pEmployeeOid, bool pHasRightToSeeAllEmployeeAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadFilteredAppointments(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, DateTime pIntervalStart, DateTime pIntervalEnd, List pSelectedEmployees, List pSelectedCustomer, List pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadFilteredAppointmentsMitAufgaben(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, DateTime pIntervalStart, DateTime pIntervalEnd, List pSelectedEmployees, List pSelectedCustomer, List pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, bool pShowTasks); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllTasksForEmployee(long pEmployeeOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetSchedulerAppointmentTasksForEmployeeBySupportConecpt(long pEmployeeOid, long pSupportConceptOid); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadTasksAndAppointmentsForEmployee(long pEmployeeOid, DateTime pInvertalStart, int pBufferSize, long? pEmployeeAppointmentsOid); [FaultContract(typeof(BeWoFault))] [OperationContract] void InsertTestAppointments(long pEmployeeOid); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteTestAppointments(); [FaultContract(typeof(BeWoFault))] [OperationContract] List CheckResourceAvailability(DateTime start, DateTime end, List resourceOids, long? selectedAppointmentOid); [FaultContract(typeof(BeWoFault))] [OperationContract] SchedulerAppointmentDC FindRootAppointmentByRecurrenceId(string recurrenceId); [FaultContract(typeof(BeWoFault))] [OperationContract] string ValidateSchedulerAppointment(DateTime start, DateTime end, IEnumerable employees, IEnumerable customers, List resources, long originator, long? appointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteMobileTestAppointments(); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadFilteredAllActiveAppointments(long employeeOid, DateTime start, DateTime end, List customerOids); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadOccurrencesByRecurrenceId(string recurrenceId); [FaultContract(typeof(BeWoFault))] [OperationContract] Dictionary> FindAppointmentsInRange(int duration, DateTime startDate, DateTime endDate, List resourceOids, List customerOids, List employeeOids, long loggedInEmployeeOid, int intervalBuffer = 30, bool skipWeekends = true); [FaultContract(typeof(BeWoFault))] [OperationContract] void ConvertResourceBookingsToResourceAppointments(); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveCustomersAbsenceTimesInInterval(DateTime start, DateTime end, long employeeOid, List selectedCustomerOids); [FaultContract(typeof(BeWoFault))] [OperationContract] List GetAllActiveEmployeeAbsenceTimesInInterval(DateTime start, DateTime end, long employeeOid, List selectedEmployeeOids); [FaultContract(typeof(BeWoFault))] [OperationContract] Dictionary> CheckResourceAvailabilityWithEmployeeInformation(DateTime start, DateTime end, List resourceOids, long? selectedAppointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false); [FaultContract(typeof(BeWoFault))] [OperationContract] bool CheckSchedulerRightsForAppointmentEditing(long appointmentOid, long loggedOnUserOid); [FaultContract(typeof(BeWoFault))] [OperationContract] SchedulerAppointmentDC InsertSchedulerAppointment(SchedulerAppointmentDC appointment); [FaultContract(typeof(BeWoFault))] [OperationContract] List CheckSchedulerRightsForAppointmentsToEdit(List appointments2Check, UserDC user); [FaultContract(typeof(BeWoFault))] [OperationContract] List InsertOrUpdateSchedulerAppointments(List appointments2InsertOrUpdate); [FaultContract(typeof(BeWoFault))] [OperationContract] void DeleteOrUpdateSchedulerAppointments(List appointments2DeleteOrUpdate); [FaultContract(typeof(BeWoFault))] [OperationContract] Dictionary OverlappingAppointmentsExistForMultiple(List appointments); [FaultContract(typeof(BeWoFault))] [OperationContract] Dictionary> FindAppointmentsInRangeForIntervalFinder(int duration, DateTime startDate, DateTime endDate, List resourceOids, List customerOids, List employeeOids, long loggedInEmployeeOid, int intervalBuffer = 30, bool skipWeekends = true); [FaultContract(typeof(BeWoFault))] [OperationContract] List LoadFilteredAppointmentsMitAufgabenForMoK(bool pHasRightToSeeAllEmployeeAppointments, long pEmployeeOid, DateTime pIntervalStart, DateTime pIntervalEnd, List pSelectedEmployees, List pSelectedCustomer, List pSelectedResources, bool pEmployeesOnly, bool pCustomersOnly, bool pResourcesOnly, bool pPrivateAppointmentsOnly, bool pOnlyMyAppointments, bool pShowTasks); [FaultContract(typeof(BeWoFault))] [OperationContract] List FindAppointmentsByRecurrenceId(List pRecurrenceIds, bool pExcludeRootAppointments = false); } }