/// <summary> /// Initializes a new instance of the <see cref="TimeOffController"/> class. /// </summary> /// <param name="appSettings">Application Settings DI.</param> /// <param name="telemetryClient">ApplicationInsights DI.</param> /// <param name="userMappingProvider">The User Mapping Provider DI.</param> /// <param name="timeOffActivity">Time Off Activity DI.</param> /// <param name="timeOffReasonProvider">Time Off Reason Provider DI.</param> /// <param name="azureTableStorageHelper">Azure Storage Helper DI.</param> /// <param name="timeOffMappingEntityProvider">Time Off Mapping Provider DI.</param> /// <param name="utility">Utility DI.</param> /// <param name="teamDepartmentMappingProvider">Team Department Mapping Provider DI.</param> /// <param name="httpClientFactory">HttpClientFactory DI.</param> /// <param name="taskWrapper">Wrapper class instance for BackgroundTask.</param> public TimeOffController( AppSettings appSettings, TelemetryClient telemetryClient, IUserMappingProvider userMappingProvider, ITimeOffActivity timeOffActivity, ITimeOffReasonProvider timeOffReasonProvider, IAzureTableStorageHelper azureTableStorageHelper, ITimeOffMappingEntityProvider timeOffMappingEntityProvider, Utility utility, ITeamDepartmentMappingProvider teamDepartmentMappingProvider, IHttpClientFactory httpClientFactory, BackgroundTaskWrapper taskWrapper) { this.appSettings = appSettings; this.telemetryClient = telemetryClient; this.userMappingProvider = userMappingProvider; this.timeOffActivity = timeOffActivity; this.timeOffReasonProvider = timeOffReasonProvider; this.azureTableStorageHelper = azureTableStorageHelper; this.timeOffMappingEntityProvider = timeOffMappingEntityProvider ?? throw new ArgumentNullException(nameof(timeOffMappingEntityProvider)); this.utility = utility; this.teamDepartmentMappingProvider = teamDepartmentMappingProvider; this.httpClientFactory = httpClientFactory; this.taskWrapper = taskWrapper; }
/// <summary> /// Initializes a new instance of the <see cref="TimeOffRequestsController"/> class. /// </summary> /// <param name="appSettings">Configuration DI.</param> /// <param name="telemetryClient">Telemetry Client.</param> /// <param name="userMappingProvider">User To User Mapping Provider.</param> /// <param name="createTimeOffActivity">Create time off activity.</param> /// <param name="timeOffReasonProvider">Paycodes to Time Off Reasons Mapping provider.</param> /// <param name="utility">The local Utility DI.</param> /// <param name="azureTableStorageHelper">The Azure table storage helper.</param> /// <param name="timeOffReqMappingEntityProvider">time off entity provider.</param> /// <param name="teamDepartmentMappingProvider">TeamDepartmentMapping provider DI.</param> /// <param name="httpClientFactory">http client.</param> /// <param name="taskWrapper">Wrapper class instance for BackgroundTask.</param> public TimeOffRequestsController( AppSettings appSettings, TelemetryClient telemetryClient, ICreateTimeOffActivity createTimeOffActivity, IUserMappingProvider userMappingProvider, ITimeOffReasonProvider timeOffReasonProvider, IAzureTableStorageHelper azureTableStorageHelper, ITimeOffRequestProvider timeOffReqMappingEntityProvider, ITeamDepartmentMappingProvider teamDepartmentMappingProvider, Utility utility, IHttpClientFactory httpClientFactory, BackgroundTaskWrapper taskWrapper) { this.appSettings = appSettings; this.telemetryClient = telemetryClient; this.createTimeOffActivity = createTimeOffActivity; this.userMappingProvider = userMappingProvider; this.timeOffReasonProvider = timeOffReasonProvider; this.azureTableStorageHelper = azureTableStorageHelper; this.timeOffReqMappingEntityProvider = timeOffReqMappingEntityProvider; this.teamDepartmentMappingProvider = teamDepartmentMappingProvider; this.utility = utility; this.httpClientFactory = httpClientFactory; this.taskWrapper = taskWrapper; }
/// <summary> /// Initializes a new instance of the <see cref="TimeOffReasonController"/> class. /// </summary> /// <param name="telemetryClient">ApplicationInsights DI.</param> /// <param name="azureTableStorageHelper">The Azure Table Storage Helper DI.</param> /// <param name="timeOffReasonProvider">The time off reason provider DI.</param> /// <param name="payCodeActivity">The paycode activity DI.</param> /// <param name="appSettings">Application Settings DI.</param> /// <param name="httpClientFactory">Http Client Factory DI.</param> /// <param name="teamDepartmentMappingProvider">Team department mapping provider DI.</param> /// <param name="utility">Utility common methods DI.</param> public TimeOffReasonController( TelemetryClient telemetryClient, IAzureTableStorageHelper azureTableStorageHelper, ITimeOffReasonProvider timeOffReasonProvider, IPayCodeActivity payCodeActivity, AppSettings appSettings, IHttpClientFactory httpClientFactory, ITeamDepartmentMappingProvider teamDepartmentMappingProvider, Utility utility) { this.telemetryClient = telemetryClient; this.azureTableStorageHelper = azureTableStorageHelper; this.appSettings = appSettings; this.payCodeActivity = payCodeActivity; this.timeOffReasonProvider = timeOffReasonProvider; this.tenantId = this.appSettings?.TenantId; this.httpClientFactory = httpClientFactory; this.teamDepartmentMappingProvider = teamDepartmentMappingProvider; this.utility = utility; }