コード例 #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="GuestInviteController" /> class.
        /// </summary>
        /// <param name="userApi">The user api.</param>
        /// <param name="emailSendingService">The email sending service.</param>
        /// <param name="projectApi">The project API.</param>
        /// <param name="repositoryFactory">The repository factory.</param>
        /// <param name="validatorLocator">The validator locator.</param>
        /// <param name="eventService">The event service.</param>
        /// <param name="loggerFactory">The logger.</param>
        /// <param name="serializer">The serializer.</param>
        public GuestInviteController(
            IUserApi userApi,
            IProjectApi projectApi,
            IEmailSendingService emailSendingService,
            IRepositoryFactory repositoryFactory,
            IValidatorLocator validatorLocator,
            IEventService eventService,
            ILoggerFactory loggerFactory,
            IObjectSerializer serializer)
        {
            try
            {
                _guestInviteRepository = repositoryFactory.CreateRepository <GuestInvite>();
            }
            catch (Exception)
            {
                // supressing the repository exceptions for initial testing
            }

            _userApi             = userApi;
            _emailSendingService = emailSendingService;
            _projectApi          = projectApi;
            _validatorLocator    = validatorLocator;
            _eventService        = eventService;
            _logger     = loggerFactory.GetLogger(this);
            _serializer = serializer;
        }
        /// <summary>
        ///     Initializes a new instance of the <see cref="GuestSessionController" /> class.
        /// </summary>
        /// <param name="repositoryFactory">The repository factory.</param>
        /// <param name="validatorLocator">The validator locator.</param>
        /// <param name="eventService">The event service.</param>
        /// <param name="loggerFactory">The logger.</param>
        /// <param name="emailSendingService"></param>
        /// <param name="serviceToServiceProjectApi"></param>
        /// <param name="userApi"></param>
        /// <param name="projectLobbyStateController"></param>
        /// <param name="serviceToServiceAccountSettingsApi">The API for Account/Tenant specific settings</param>
        /// <param name="synthesisObjectSerializer">The Synthesis object serializer</param>
        /// <param name="projectGuestContextService"></param>
        /// <param name="requestHeaders"></param>
        /// <param name="maxGuestsAllowedInProject"></param>
        public GuestSessionController(
            IRepositoryFactory repositoryFactory,
            IValidatorLocator validatorLocator,
            IEventService eventService,
            ILoggerFactory loggerFactory,
            IEmailSendingService emailSendingService,
            IProjectApi serviceToServiceProjectApi,
            IUserApi userApi,
            IProjectLobbyStateController projectLobbyStateController,
            ISettingApi serviceToServiceAccountSettingsApi,
            IObjectSerializer synthesisObjectSerializer,
            IProjectGuestContextService projectGuestContextService,
            IRequestHeaders requestHeaders,
            int maxGuestsAllowedInProject)
        {
            _guestSessionRepository = repositoryFactory.CreateRepository <GuestSession>();
            _guestInviteRepository  = repositoryFactory.CreateRepository <GuestInvite>();

            _validatorLocator            = validatorLocator;
            _eventService                = eventService;
            _logger                      = loggerFactory.GetLogger(this);
            _projectLobbyStateController = projectLobbyStateController;
            _emailSendingService         = emailSendingService;

            _serviceToServiceProjectApi = serviceToServiceProjectApi;
            _userApi = userApi;
            _serviceToServiceAccountSettingsApi = serviceToServiceAccountSettingsApi;
            _synthesisObjectSerializer          = synthesisObjectSerializer;
            _projectGuestContextService         = projectGuestContextService;
            _requestHeaders            = requestHeaders;
            _maxGuestsAllowedInProject = maxGuestsAllowedInProject;
        }
 public JustGivingClient(ClientConfiguration clientConfiguration, IHttpClient httpClient, IAccountApi accountApi,
                         IDonationApi donationApi, IPageApi pageApi, ISearchApi searchApi, ICharityApi charityApi,
                         IEventApi eventApi, ITeamApi teamApi, IOneSearchApi oneSearch, ICountryApi countryApi,
                         ICurrencyApi currencyApi, IProjectApi projectApi)
     : base(
         clientConfiguration, httpClient, accountApi, donationApi, pageApi, searchApi, charityApi, eventApi,
         teamApi, oneSearch, countryApi, currencyApi, projectApi)
 {
 }
コード例 #4
0
        public async Task <CreateProjectResponse> CreateTestProjectAsync(IProjectApi projectApi)
        {
            var title = $"{TestPrefix}{Guid.NewGuid().ToString()}";

            var createProjectRequest = new CreateProjectRequest(title)
            {
                ProjectState = ProjectState.Planned,
            };

            var createProjectResponse = await projectApi.CreateProjectAsync(createProjectRequest);

            return(createProjectResponse);
        }
 public ProjectLobbyStateController(IRepositoryFactory repositoryFactory,
                                    ICacheSelector cacheSelector,
                                    IValidatorLocator validatorLocator,
                                    ISessionService sessionService,
                                    IProjectApi serviceToServiceProjectApi,
                                    IEventService eventService,
                                    ILoggerFactory loggerFactory,
                                    int maxGuestsAllowedInProject)
 {
     _cacheSelector              = cacheSelector;
     _validatorLocator           = validatorLocator;
     _sessionService             = sessionService;
     _serviceToServiceProjectApi = serviceToServiceProjectApi;
     _guestSessionRepository     = repositoryFactory.CreateRepository <GuestSession>();
     _eventService = eventService;
     _logger       = loggerFactory.GetLogger(this);
     _maxGuestsAllowedInProject = maxGuestsAllowedInProject;
 }
        /// <summary>
        ///     Initializes a new instance of the <see cref="GuestSessionController" /> class.
        /// </summary>
        public ProjectGuestContextController(
            IRepositoryFactory repositoryFactory,
            IGuestSessionController guestSessionController,
            IProjectLobbyStateController projectLobbyStateController,
            IProjectGuestContextService projectGuestContextService,
            IProjectAccessApi serviceToServiceProjectAccessApi,
            IProjectApi serviceToServiceProjectApi,
            IUserApi userApi)
        {
            _guestSessionRepository = repositoryFactory.CreateRepository <GuestSession>();

            _guestSessionController      = guestSessionController;
            _projectLobbyStateController = projectLobbyStateController;

            _serviceToServiceProjectApi       = serviceToServiceProjectApi;
            _serviceToServiceProjectAccessApi = serviceToServiceProjectAccessApi;
            _userApi = userApi;
            _projectGuestContextService = projectGuestContextService;
        }
コード例 #7
0
        protected JustGivingClientBase(ClientConfiguration clientConfiguration,
                                       IHttpClient httpClient,
                                       IAccountApi accountApi,
                                       IDonationApi donationApi,
                                       IPageApi pageApi,
                                       ISearchApi searchApi,
                                       ICharityApi charityApi,
                                       IEventApi eventApi,
                                       ITeamApi teamApi, IOneSearchApi oneSearch,
                                       ICountryApi country, ICurrencyApi currency,
                                       IProjectApi project)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient", "httpClient must not be null to access the api.");
            }

            HttpClient = httpClient;
            HttpClient.ConnectionTimeOut = TimeSpan.FromMinutes(3);

            Account = accountApi;
            Donation = donationApi;
            Page = pageApi;
            Search = searchApi;
            Charity = charityApi;
            Event = eventApi;
            Team = teamApi;
            OneSearch = oneSearch;
            Country = country;
            Currency = currency;
            Project = project;

            Configuration = clientConfiguration;

            InitApis(HttpClient, clientConfiguration);
        }
コード例 #8
0
        protected JustGivingClientBase(ClientConfiguration clientConfiguration,
                                       IHttpClient httpClient,
                                       IAccountApi accountApi,
                                       IDonationApi donationApi,
                                       IPageApi pageApi,
                                       ISearchApi searchApi,
                                       ICharityApi charityApi,
                                       IEventApi eventApi,
                                       ITeamApi teamApi, IOneSearchApi oneSearch,
                                       ICountryApi country, ICurrencyApi currency,
                                       IProjectApi project)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient", "httpClient must not be null to access the api.");
            }

            HttpClient = httpClient;
            HttpClient.ConnectionTimeOut = TimeSpan.FromMinutes(3);

            Account   = accountApi;
            Donation  = donationApi;
            Page      = pageApi;
            Search    = searchApi;
            Charity   = charityApi;
            Event     = eventApi;
            Team      = teamApi;
            OneSearch = oneSearch;
            Country   = country;
            Currency  = currency;
            Project   = project;

            Configuration = clientConfiguration;

            InitApis(HttpClient, clientConfiguration);
        }
コード例 #9
0
 public async Task <IEnumerable <GetProjectPayload> > GetProjectsAsync(IProjectApi projectApi)
 {
     return((await projectApi.GetProjectsAsync()).Where(x => x.Title.StartsWith(TestPrefix)));
 }
コード例 #10
0
 public ProjectsTest() : base(UserRole.Admin)
 {
     projectApi = new ProjectApi(Configuration);
 }
コード例 #11
0
 public void Init()
 {
     instance = RestService.For <IProjectApi>(hostUrl);
 }