35 lines
2.3 KiB
C#
35 lines
2.3 KiB
C#
using LCU.API.Internal.Operations.IncentiveApi.Models.DataTransfer;
|
|
using LCU.Library.Internal.IncentiveApiModels.Entities;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Models;
|
|
using LCU.API.Internal.Operations.IncentiveApi.Models.ExternalActivities;
|
|
using LCU.Library.Internal.IncentiveApiModels.Common;
|
|
using LCU.Library.Internal.IncentiveApiModels.Requests;
|
|
using LCU.Library.Internal.IncentiveApiModels.Results;
|
|
|
|
namespace LCU.API.Internal.Operations.IncentiveApi.Services;
|
|
|
|
public interface IActivityService
|
|
{
|
|
Task<int> SaveActivityAsync(Activity activity);
|
|
Task SaveActivityRangeAsync(IReadOnlyCollection<Activity> activity);
|
|
Task<IReadOnlyCollection<Activity>> GetActivitiesAsync();
|
|
Task<PagedResult<Activity>> ListByFilterAsync(ActivityFilter filter);
|
|
Task<Activity> ApplyStateChange(ActivityStateChange activityStateChange, bool commitTransaction = true);
|
|
Task<IReadOnlyCollection<ActivityStateChange>> GetActivityStateChanges(int activityId);
|
|
Task<IReadOnlyCollection<DepartmentProgress>> GetDepartmentActivityForMonthRangeAsync(List<UserDepartment> userDepartments, MonthRange monthRange);
|
|
Task<Activity> GetActivity(int activityId);
|
|
Task<Activity> CreateAndRetrieveActivity(Activity activity);
|
|
Task<Activity> GetActivityForStateUpdate(Activity queryActivity);
|
|
Task<Activity> GetActivityForDetailUpdate(Activity queryActivity);
|
|
Task ValidateCanApplyActivityStateChange(AppUser appUser, ActivityStateChange activityStateChange);
|
|
Task<ActivityTransferAction> RequestTransfer(ActivityTransferRequest activityTransferRequest);
|
|
Task<ActivityTransferAction> TransferToOwnDepartment(ActivityTransferRequest activityTransferRequest, AppUser employee);
|
|
Task<IReadOnlyCollection<ActivityStateChange>> MatchOrExpireReferrals();
|
|
Task<ProcessResult> RunReferralStatusUpdates();
|
|
Task<ActivityTransferAction> ApproveTransfer(AppUser appUser, ActivityTransferApprovalRequest activityTransferApproval);
|
|
Task<ActivityTransferAction> GetRequestedTransfer(int activityId);
|
|
Task CancelPendingTransfersBetween(MonthRange range);
|
|
Task<List<IExternalActivity>> FilterExternalActivitiesByExistingSourceId(List<IExternalActivity> incomingEternalActivities);
|
|
Task<AuthorizedActivityCommands> GetActivityAuthorizedCommands(AppUser appUser, int activityId);
|
|
}
|