using FitConnect.Services.Interfaces; using Microsoft.Extensions.Logging; namespace FitConnect.BaseClasses; public abstract class FunctionalBaseClass { protected readonly ILogger? Logger; // protected readonly FitConnectApiService ApiService; protected IOAuthService OAuthService; protected IRouteService RouteService; protected ISubmissionService SubmissionService; /// <summary> /// Constructor for the FunctionalBaseClass /// </summary> /// <param name="environments">FitConnect endpoints</param> /// <param name="logger">ILogger implementation</param> /// <param name="oAuthService"></param> /// <param name="submissionService"></param> /// <param name="routeService"></param> /// <param name="destinationService"></param> /// <param name="certificate">The Encryption certificate</param> /// <example> /// new Sender(logger, FitConnectEndpoints.Create(FitConnectEndpoints.EndpointType.Development)) /// </example> protected FunctionalBaseClass(FitConnectEnvironment? environment, ILogger? logger, IOAuthService oAuthService, ISubmissionService submissionService, IRouteService routeService, IDestinationService destinationService) { DestinationService = destinationService; Environment = environment ?? FitConnectEnvironment.Testing; Logger = logger; OAuthService = oAuthService; SubmissionService = submissionService; RouteService = routeService; } protected IDestinationService DestinationService { get; } public FitConnectEnvironment Environment { get; } }