public async Task AndThereAreUnprocessedPeriodsThenThePeriodsAreReturned()
        {
            var lastEventId     = "123";
            var returnedPeriods = new List <PeriodEnd>
            {
                new PeriodEnd {
                    Id = "sdfkujf"
                },
                new PeriodEnd {
                    Id = lastEventId
                },
                new PeriodEnd {
                    Id = "dlfkbmbg"
                },
                new PeriodEnd {
                    Id = "cdvflkbc"
                }
            };

            var expectedPeriods = returnedPeriods.SkipWhile(x => x.Id != lastEventId.ToString()).Skip(1);

            EventsRepository.Setup(x => x.GetLastProcessedEventId <string>(_paymentEventFeedName)).ReturnsAsync(lastEventId);
            EventsApi.Setup(x => x.GetPeriodEnds()).ReturnsAsync(returnedPeriods.ToArray());

            var response = await Service.GetUnprocessedPeriodEnds <Payment>();

            response.ShouldBeEquivalentTo(expectedPeriods);
        }
        private List <AccountTransfer> ConfigureTransfers(string periodEnd, int numberOfTransfers, int repeatPages = 1, bool skipPayments = false)
        {
            var allTransfers = new List <AccountTransfer>();

            for (var k = 1; k <= repeatPages; k++)
            {
                var transfers = new List <AccountTransfer>();
                for (var i = 1; i <= numberOfTransfers; i++)
                {
                    transfers.Add(new TransferBuilder().WithPeriod(periodEnd).Build());
                }

                var transfersResult = new PageOfResults <AccountTransfer>
                {
                    Items              = transfers.ToArray(),
                    PageNumber         = k,
                    TotalNumberOfPages = repeatPages
                };

                EventsApi.SetupGet($"api/transfers?page={k}&periodId={periodEnd}", transfersResult);
                allTransfers.AddRange(transfers);
            }

            if (!skipPayments)
            {
                EventsApi.SetupGet($"api/payments?page=1&periodId={periodEnd}&employerAccountId={null}&ukprn={null}", new PageOfResults <Payment> {
                    PageNumber = 0, TotalNumberOfPages = 0
                });
            }

            return(allTransfers);
        }
        public void BeforeScenario()
        {
            var config = _objectContainer.Resolve <LocalConfiguration>();

            AccountsApiMessageHandler accountsApiMessageHandlers = new AccountsApiMessageHandler(config.AccountsApiBaseUrl);

            AccountsApi = new AccountsApi(accountsApiMessageHandlers);

            ProviderEventsApiMessageHandler providerApiMessageHandlers = new ProviderEventsApiMessageHandler(config.PaymentsApiBaseUrl);

            ProviderEventsApi = new ProviderEventsApi(providerApiMessageHandlers);

            CommitmentsApiMessageHandler commitmentsApiMessageHandlers = new CommitmentsApiMessageHandler(config.CommitmentsApiBaseUrl);

            CommitmentsApi = new CommitmentsApi(commitmentsApiMessageHandlers);

            EventsApiMessageHandler eventsApiMessageHandlers = new EventsApiMessageHandler(config.EventsApiBaseUrl);

            EventsApiSubstitute = new EventsApi(eventsApiMessageHandlers);

            TokenServiceApiMessageHandler tokenApiMessageHandlers = new TokenServiceApiMessageHandler(config.TokenServiceApiBaseUrl);

            TokenApiSubstitute = new TokenServiceApi(tokenApiMessageHandlers);

            HmrcApiMessageHandler hmrcApiMessageHandlers = new HmrcApiMessageHandler(config.HmrcApiBaseUrl);

            HmrcApi = new HmrcApi(hmrcApiMessageHandlers);

            _objectContainer.RegisterInstanceAs(accountsApiMessageHandlers);
            _objectContainer.RegisterInstanceAs(providerApiMessageHandlers);
            _objectContainer.RegisterInstanceAs(commitmentsApiMessageHandlers);
            _objectContainer.RegisterInstanceAs(hmrcApiMessageHandlers);
            _objectContainer.RegisterInstanceAs(eventsApiMessageHandlers);
            _objectContainer.RegisterInstanceAs(tokenApiMessageHandlers);
        }
Exemple #4
0
        private void ConfigureEventsApi()
        {
            var events = new List <ApprenticeshipEventView>
            {
                new ApprenticeshipEventView
                {
                    CreatedOn                   = DateTime.Now.AddDays(-2),
                    Id                          = 3,
                    Event                       = "ApprenticeshipCreated",
                    TrainingStartDate           = DateTime.Now.AddDays(1),
                    TrainingEndDate             = DateTime.Now.AddYears(2),
                    AgreementStatus             = AgreementStatus.NotAgreed,
                    PaymentStatus               = PaymentStatus.Completed,
                    LegalEntityId               = "LEID",
                    LegalEntityName             = "LEName",
                    LegalEntityOrganisationType = "LEOrgType",
                    DateOfBirth                 = DateTime.Now.AddYears(-18)
                },
                new ApprenticeshipEventView
                {
                    CreatedOn                  = DateTime.Now.AddDays(-1),
                    Id                         = 4,
                    Event                      = "ApprenticeshipUpdated",
                    AgreementStatus            = AgreementStatus.EmployerAgreed,
                    PaymentStatus              = PaymentStatus.Active,
                    TransferApprovalActionedOn = DateTime.Today,
                    TransferApprovalStatus     = TransferApprovalStatus.Pending,
                    TransferSenderName         = "ignore me",
                    TransferSenderId           = 38
                }
            };

            EventsApi.SetupGet("api/events/apprenticeships?fromEventId=3&pageSize=1000&pageNumber=1", events);
        }
        private void ConfigureEventsApi()
        {
            var events = new List <GenericEvent>
            {
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-2),
                    Id        = 3,
                    Type      = "LegalEntityCreatedEvent",
                    Payload   = JsonConvert.SerializeObject(new LegalEntityCreatedEvent
                    {
                        ResourceUri = "api/accounts/ABC123/legalentities/123"
                    })
                },
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-1),
                    Id        = 4,
                    Type      = "LegalEntityCreatedEvent",
                    Payload   = JsonConvert.SerializeObject(new LegalEntityCreatedEvent
                    {
                        ResourceUri = "api/accounts/ZZZ999/legalentities/9876"
                    })
                }
            };

            EventsApi.SetupGet($"api/events/getSinceEvent?eventType={EventName}&fromEventId=3&pageSize=1000&pageNumber=1", events);
        }
Exemple #6
0
        private void ConfigureEventsApi()
        {
            var events = new List <GenericEvent>
            {
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-2),
                    Id        = 3,
                    Type      = "AgreementSignedEvent",
                    Payload   = JsonConvert.SerializeObject(new AgreementSignedEvent
                    {
                        ResourceUrl = "api/accounts/ABC123/declarations/321CBA"
                    })
                },
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-1),
                    Id        = 4,
                    Type      = "AgreementSignedEvent",
                    Payload   = JsonConvert.SerializeObject(new AgreementSignedEvent
                    {
                        ResourceUrl = "api/accounts/ZZZ999/declarations/999ZZZ"
                    })
                }
            };

            EventsApi.SetupGet($"api/events/getSinceEvent?eventType={EventName}&fromEventId=3&pageSize=1000&pageNumber=1", events);
        }
 public LiveStatisticsApi(IBitmovinApiClientFactory apiClientFactory)
 {
     _apiClient = apiClientFactory.CreateClient <ILiveStatisticsApiClient>();
     Events     = new EventsApi(apiClientFactory);
     Streams    = new StreamsApi(apiClientFactory);
     Srt        = new SrtApi(apiClientFactory);
 }
Exemple #8
0
        public void Arrange()
        {
            _fakeHandler = new FakeResponseHandler();
            var client = new HttpClient(_fakeHandler);
            var config = new Mock <IEventsApiClientConfiguration>();

            config.Setup(m => m.BaseUrl).Returns(ExpectedApiBaseUrl);

            _sut = new EventsApi(client, config.Object);
        }
        public async Task AndTheApprenticeIsNotBeingStoppedThenTheEventIsPublishedWithTheStopDateSetToTheApprenticeshipsStopDate()
        {
            Apprenticeship.PaymentStatus = Domain.Entities.PaymentStatus.Paused;
            var effectiveFrom    = DateTime.Now.AddDays(-1);                                // the date we don't want
            var expectedStopDate = Apprenticeship.StopDate = DateTime.Now.AddMonths(-1);    // the date we want

            await Service.PublishEvent(Commitment, Apprenticeship, _event, effectiveFrom);

            CommitmentsLogger.Verify(x => x.Info($"Create apprenticeship event: {_event}", null, null, Commitment.Id, Apprenticeship.Id, null, null), Times.Once);
            EventsApi.Verify(x => x.CreateApprenticeshipEvent(It.Is <ApprenticeshipEvent>(e => e.StoppedOnDate == expectedStopDate)), Times.Once);
        }
Exemple #10
0
        /// <summary>
        ///   Initializes a new instance of the <see cref="EnvironmentApi"/> class
        ///   configured the same way as <see cref="api"/>.
        /// </summary>
        /// <param name="api">The API wrapper.</param>
        /// <param name="environmentId">The identifier of an environment to point to.</param>
        internal EnvironmentApi(ApiBase api, Guid environmentId)
            : base(api)
        {
            _environmentId  = environmentId;
            _environmentUri = new Uri(Uri, String.Format("environments/{0}/", EnvironmentId));

            Events     = new EventsApi(this);
            Links      = new LinksApi(this);
            Nodes      = new NodesApi(this);
            StatPoints = new StatPointsApi(this);
            Systems    = new SystemsApi(this);
        }
        public async Task ThenThePaymentsAreReturned()
        {
            var period     = "ABC123";
            var pageNumber = 3;

            var expectedResponse = new PageOfResults <Payment>();

            EventsApi.Setup(x => x.GetPayments(period, null, pageNumber, null)).ReturnsAsync(expectedResponse);

            var response = await Service.GetPayments(period, pageNumber);

            response.Should().BeSameAs(expectedResponse);
        }
Exemple #12
0
        public async Task CanUseDefaultResponse()
        {
            using (EventsApi webApi = new EventsApi(apiMessageHandlers))
            {
                using (HttpClient client = new HttpClient())
                {
                    var jsonresponse = await client.GetAsync(baseAddress + apiMessageHandlers.DefaultCreateGenericEventEndPoint);

                    var response = JsonConvert.DeserializeObject <object>(jsonresponse.Content.ReadAsStringAsync().Result);
                    Assert.AreEqual(string.Empty, response);
                }
            }
        }
Exemple #13
0
 public static List <Event> GetEventBag()
 {
     if ((DateTime.Now - _lastUpdateTime).Minutes > UpdateTimeInMinutes)
     {
         EventsApi.UpdateEvents();
         _eventBag       = new ConcurrentBag <Event>();
         _lastUpdateTime = DateTime.Now;
     }
     if (_eventBag.IsEmpty)
     {
         UpdateEventsFromDb();
     }
     return(_eventBag.ToList());
 }
        private void ConfigureDataLockEvents(int sinceEventId, int numberOfDataLockEvents)
        {
            var dataLockEvents = new List <DataLockEvent>();

            for (var i = 1; i <= numberOfDataLockEvents; i++)
            {
                dataLockEvents.Add(new DataLockEventBuilder().WithId(i).WithMultipleErrors(2).Build());
            }
            var dataLockEventsResult = new PageOfResults <DataLockEvent> {
                Items = dataLockEvents.ToArray(), PageNumber = 1, TotalNumberOfPages = 1
            };

            EventsApi.SetupGet($"api/datalock?page=1", dataLockEventsResult);
            EventsApi.SetupGet($"api/datalock?page=1&sinceEventId={sinceEventId}", dataLockEventsResult);
        }
Exemple #15
0
 /// <summary>
 /// Default constructor
 /// </summary>
 /// <param name="apiKey">UWaterloo API Key</param>
 public UWaterlooApi(string apiKey)
 {
     // Initializing endpoints
     FoodServices        = new FoodServicesApi(apiKey);
     Courses             = new CoursesApi(apiKey);
     Events              = new EventsApi(apiKey);
     News                = new NewsApi(apiKey);
     Weather             = new WeatherApi(apiKey);
     Terms               = new TermsApi(apiKey);
     Resources           = new ResourcesApi(apiKey);
     DefinitionsAndCodes = new DefinitionsAndCodesApi(apiKey);
     Buildings           = new BuildingsApi(apiKey);
     Api    = new ApiApi(apiKey);
     Server = new ServerApi(apiKey);
 }
Exemple #16
0
        public async Task CanSetupCreateGenericEvent()
        {
            apiMessageHandlers.SetupCreateGenericEvent("SetupCreateGenericEvent");

            using (EventsApi webApi = new EventsApi(apiMessageHandlers))
            {
                using (HttpClient client = new HttpClient())
                {
                    var jsonresponse = await client.GetAsync(baseAddress + $"api/events/create");

                    var response = JsonConvert.DeserializeObject <object>(jsonresponse.Content.ReadAsStringAsync().Result);
                    Assert.AreEqual("SetupCreateGenericEvent", response);
                }
            }
        }
Exemple #17
0
        /// <summary>
        /// Create a new Trakerr client to use in your application. This class is thread-safe and can be invoked from multiple threads. This class also acts as a factory to create new AppEvent's with the supplied apiKey and other data.
        /// </summary>
        /// <param name="apiKey">API Key for your application, defaults to reading "trakerr.apiKey" property under appSettings from the App.config.</param>
        /// <param name="url">URL to Trakerr, defaults to reading "trakerr.url" property under appSettings from the App.config.</param>
        /// <param name="contextAppVersion">Provide the application version, defaults to reading "trakerr.contextAppVersion" property under appSettings from the App.config.</param>
        /// <param name="contextEnvName">Provide the environemnt name (development/staging/production). You can also pass in a custom name. Defaults to reading "trakerr.contextEnvName" property under appSettings from the App.config</param>
        /// <param name="contextEnvVersion">Provide an optional context environment version.</param>
        /// <param name="contextEnvHostname">Provide the current hostname, defaults to the current DNS name if available or uses the Machine name as a fallback.</param>
        /// <param name="contextAppOS">Provide an operating system name, defaults to Environment.OSVersion.Platform along with the service pack (eg. Win32NT Service Pack 1).</param>
        /// <param name="contextAppOSVersion">Provide an operating system version, defaults to Environment.OSVersion.Version.ToString() (eg. 6.1.7601.65536)</param>
        /// <param name="contextDataCenter">Provide a datacenter name, defaults to null.</param>
        /// <param name="contextDataCenterRegion">Provide a datacenter region, defaults to null.</param>
        public TrakerrClient(string apiKey = null, string url = null, string contextAppVersion = null, string contextEnvName = "development", string contextEnvVersion = null, string contextEnvHostname = null, string contextAppOS = null, string contextAppOSVersion = null, string contextDataCenter = null, string contextDataCenterRegion = null)
        {
            if (apiKey == null)
            {
                apiKey = ConfigurationManager.AppSettings["trakerr.apiKey"];
            }
            if (url == null)
            {
                url = ConfigurationManager.AppSettings["trakerr.url"];
            }
            if (contextAppVersion == null)
            {
                contextAppVersion = ConfigurationManager.AppSettings["trakerr.contextAppVersion"];
            }
            if (contextEnvName == null)
            {
                contextEnvName = ConfigurationManager.AppSettings["trakerr.contextEnvName"];
            }

            this.apiKey            = apiKey;
            this.contextAppVersion = contextAppVersion;

            this.contextEnvName    = contextEnvName;
            this.contextEnvVersion = contextEnvVersion;
            if (contextEnvHostname == null)
            {
                try
                {
                    this.contextEnvHostname = Dns.GetHostName();
                }
                catch (SocketException)
                {
                    this.contextEnvHostname = Environment.MachineName;
                }
            }
            else
            {
                this.contextEnvHostname = contextEnvHostname;
            }

            this.contextAppOS        = contextAppOS == null ? Environment.OSVersion.Platform + " " + Environment.OSVersion.ServicePack : contextAppOS;
            this.contextAppOSVersion = contextAppOSVersion == null?Environment.OSVersion.Version.ToString() : contextAppOSVersion;

            this.contextDataCenter       = contextDataCenter;
            this.contextDataCenterRegion = contextDataCenterRegion;

            eventsApi = new EventsApi(url);
        }
Exemple #18
0
        /// <summary>
        /// Client http customizado e dados da conexão de externos ao seu arquivo de configuração
        /// </summary>
        /// <param name="client">Sua versão do HttpClient</param>
        /// <param name="clientConnection">Dados de conexão com a api</param>
        public BoletoSimplesClient(HttpClient client, ClientConnection clientConnection)
        {
            _client             = client;
            _client.BaseAddress = clientConnection.GetBaseUri();
            Connection          = clientConnection;

            Auth = new AuthApi(this);
            BankBilletAccounts    = new BankBilletAccountsApi(this);
            BankBillets           = new BankBilletsApi(this);
            Discharges            = new DischargesApi(this);
            Remittances           = new RemittancesApi(this);
            Installments          = new InstallmentsApi(this);
            CustomerSubscriptions = new CustomerSubscriptionApi(this);
            Events    = new EventsApi(this);
            Customers = new CustomersApi(this);
        }
Exemple #19
0
        private void ConfigurePayments(string periodEnd, int numberOfPayments)
        {
            var payments = new List <Payment>();

            for (var i = 1; i <= numberOfPayments; i++)
            {
                payments.Add(new PaymentBuilder().WithId(periodEnd + i).WithPeriod(periodEnd).Build());
            }
            var paymentsResult = new PageOfResults <Payment> {
                Items = payments.ToArray(), PageNumber = 1, TotalNumberOfPages = 1
            };

            EventsApi.SetupGet($"api/payments?page=1&periodId={periodEnd}&employerAccountId={null}&ukprn={null}", paymentsResult);
            EventsApi.SetupGet($"api/transfers?page=1&periodId={periodEnd}", new PageOfResults <Payment> {
                PageNumber = 0, TotalNumberOfPages = 0
            });
        }
        private void ConfigureEventsApi()
        {
            var events = new List <GenericEvent>
            {
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-2),
                    Id        = 3,
                    Type      = "PayeSchemeRemovedEvent",
                    Payload   = JsonConvert.SerializeObject(new PayeSchemeRemovedEvent
                    {
                        ResourceUri = "api/accounts/ABC123/payeschemes/123"
                    })
                }
            };

            EventsApi.SetupGet($"api/events/getSinceEvent?eventType={EventName}&fromEventId=3&pageSize=1000&pageNumber=1", events);
        }
Exemple #21
0
        private void ConfigurePeriodEnds()
        {
            var periodEnds = new[]
            {
                new PeriodEnd {
                    Id = "PERIOD1"
                },
                new PeriodEnd {
                    Id = "PERIOD2"
                },
                new PeriodEnd {
                    Id = "PERIOD3"
                },
                new PeriodEnd {
                    Id = "PERIOD4"
                }
            };

            EventsApi.SetupGet("api/periodends", periodEnds);
        }
        public async Task AndNoPeriodsHaveBeenPreviouslyProcessedThenAllPeriodsAreReturned()
        {
            var lastEventId     = "";
            var returnedPeriods = new List <PeriodEnd>
            {
                new PeriodEnd {
                    Id = "509mkfdb"
                },
                new PeriodEnd {
                    Id = "!cvlkbjgnvb"
                }
            };

            EventsRepository.Setup(x => x.GetLastProcessedEventId <string>(_paymentEventFeedName)).ReturnsAsync(lastEventId);
            EventsApi.Setup(x => x.GetPeriodEnds()).ReturnsAsync(returnedPeriods.ToArray());

            var response = await Service.GetUnprocessedPeriodEnds <Payment>();

            response.ShouldBeEquivalentTo(returnedPeriods);
        }
        public async Task AndThereAreNoUnprocessedPeriodsThenNoPeriodsAreReturned()
        {
            var lastEventId     = "123";
            var returnedPeriods = new List <PeriodEnd>
            {
                new PeriodEnd {
                    Id = "clbmcvb"
                },
                new PeriodEnd {
                    Id = lastEventId
                }
            };

            EventsRepository.Setup(x => x.GetLastProcessedEventId <string>(_paymentEventFeedName)).ReturnsAsync(lastEventId);
            EventsApi.Setup(x => x.GetPeriodEnds()).ReturnsAsync(returnedPeriods.ToArray());

            var response = await Service.GetUnprocessedPeriodEnds <Payment>();

            response.Should().BeEmpty();
        }
Exemple #24
0
        private void ConfigureEventsApi()
        {
            var events = new List <GenericEvent>
            {
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-2),
                    Id        = 3,
                    Type      = "EmploymentCheckCompleteEvent",
                    Payload   = JsonConvert.SerializeObject(new EmploymentCheckCompleteEvent("AB123456C", 123445, 434533, 3245346, DateTime.Now.AddDays(-20), true))
                },
                new GenericEvent
                {
                    CreatedOn = DateTime.Now.AddDays(-1),
                    Id        = 4,
                    Type      = "EmploymentCheckCompleteEvent",
                    Payload   = JsonConvert.SerializeObject(new EmploymentCheckCompleteEvent("JA987654C", 94375, 234645, 3456843, DateTime.Now.AddYears(-1), false))
                }
            };

            EventsApi.SetupGet($"api/events/getSinceEvent?eventType=EmploymentCheckCompleteEvent&fromEventId=3&pageSize=1000&pageNumber=1", events);
        }
Exemple #25
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                throw new Exception();
            }
            catch (Exception ex)
            {
                MailMessage mail = new MailMessage();
                mail.To.Add("*****@*****.**");
                mail.From    = new MailAddress("*****@*****.**");
                mail.Subject = "Error";
                string Body = "Error";
                mail.Body       = Body;
                mail.IsBodyHtml = true;
                SmtpClient smtp = new SmtpClient("smtp-mail.outlook.com", 587);
                // smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address
                smtp.UseDefaultCredentials = false;
                smtp.EnableSsl             = true;
                smtp.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "#3vert0n5");
                // smtp.Port = 587;
                //Or your Smtp Email ID and Password
                //smtp.Send(mail);

                //ex.LogToElmah();
            }

            var sessionsApi   = new SessionsApi();
            var sessionCreate = new SessionCreate("#3Vert0n", true, "*****@*****.**");
            var token         = sessionsApi.CreateSession(sessionCreate);

            //var header

            var configuration = new Configuration();

            //configuration.Username = "******";
            //configuration.Password = "******";
            configuration.AccessToken = token.Token;
            //configuration.AccessToken = "WzMwMzM2NDEwLDExMzE4NjM5OF0.xKV2DHnWMDxNTsicJfNaqiLthbo";

            var eventsApi = new EventsApi(configuration);

            var minDateTime = new DateTime(2020, 11, 11, 12, 0, 0);
            var maxDateTime = new DateTime(2020, 11, 11, 21, 0, 0);

            var eventTypes = new List <string>();

            eventTypes.Add("horse_racing_race");

            var eventTypeDomains = new List <string>();

            eventTypeDomains.Add("horse_racing");

            var eventTypeScopes = new List <string>();

            eventTypeScopes.Add("single_event");

            var events = eventsApi.GetEvents(null, null, null, eventTypes, eventTypeDomains, eventTypeScopes, true, null, minDateTime, maxDateTime, null, null, null, null, null, null, "start_datetime,name", 100, false, null);

            ModelEvent event1 = events._Events.FirstOrDefault();

            var eventConfig = new MapperConfiguration(cfg => cfg.CreateMap <ModelEvent, CustomModel.Event>().ForMember(Event => Event.Markets, opt => opt.Ignore()));
            var eventMapper = eventConfig.CreateMapper();
            var eventList   = eventMapper.Map <List <ModelEvent>, List <CustomModel.Event> >(events._Events);

            //var eventIds = new List<int?>();
            var eventIds = (from item in eventList select item.Id).ToList()
                           .Select(s => Int32.TryParse(s, out int n) ? n : (int?)null).ToList();

            var marketsApi     = new MarketsApi(configuration);
            var apiMarketsList = marketsApi.GetMarketsByEventIds(eventIds, "display_order", 100, false, false);

            var marketMapperConfig = new MapperConfiguration(cfg => cfg.CreateMap <Market, CustomModel.Market>().ForMember(Market => Market.Contracts, opt => opt.Ignore()));
            var marketMapper       = marketMapperConfig.CreateMapper();
            var marketList         = marketMapper.Map <List <Market>, List <CustomModel.Market> >(apiMarketsList.Markets);

            //var marketIds = new List<int?>();
            //marketIds.Add(11369867);

            var marketIds = (from item in marketList select item.Id).ToList()
                            .Select(s => Int32.TryParse(s, out int n) ? n : (int?)null).ToList();

            var contractsApi = new ContractsApi(configuration);
            var apiContracts = contractsApi.GetContractsByMarketIds(marketIds);

            var contractMapperConfig = new MapperConfiguration(cfg => cfg.CreateMap <Contract, CustomModel.Contract>().ForMember(Contract => Contract.Quote, opt => opt.Ignore()));
            var contractMapper       = contractMapperConfig.CreateMapper();
            var contractList         = contractMapper.Map <List <Contract>, List <CustomModel.Contract> > (apiContracts.Contracts);

            var pricesApi     = new PricesApi(configuration);
            var apiPricesList = pricesApi.GetQuotes(marketIds);

            foreach (var apiPrice in apiPricesList)
            {
                var s = apiPrice.Value.ToString();
                var q = JObject.Parse(apiPrice.Value.ToString());

                var bidList = q["bids"].ToList();
                var bids    = new List <CustomModel.BidOffer>();

                foreach (var item in bidList)
                {
                    var bid = new CustomModel.BidOffer();
                    bid.BidOfferTypeDescription = "Bid";
                    bid.Price    = (int?)item["price"];
                    bid.Quantity = (int?)item["quantity"];

                    bids.Add(bid);
                }

                var offerList = q["offers"].ToList();
                var offers    = new List <CustomModel.BidOffer>();

                foreach (var item in offerList)
                {
                    var offer = new CustomModel.BidOffer();
                    offer.BidOfferTypeDescription = "Offer";
                    offer.Price    = (int?)item["price"];
                    offer.Quantity = (int?)item["quantity"];

                    bids.Add(offer);
                }

                var contractId          = apiPrice.Key;
                CustomModel.Quote quote = new CustomModel.Quote(contractId, bids, offers);

                var contract = contractList.Where(c => c.Id == contractId).First();
                contract.Quote = quote;
            }

            foreach (var itemMarket in marketList)
            {
                var contracts = contractList.Where(c => c.MarketId == itemMarket.Id).ToList();
                itemMarket.Contracts = contracts;
            }

            foreach (var itemEvent in eventList)
            {
                var markets = marketList.Where(c => c.EventId == itemEvent.Id).ToList();
                itemEvent.Markets = markets;
            }
        }
 private void VerifyEventWasPublished(string @event, DateTime?effectiveFrom = null)
 {
     CommitmentsLogger.Verify(x => x.Info($"Create apprenticeship event: {@event}", null, null, Commitment.Id, Apprenticeship.Id, null, null), Times.Once);
     EventsApi.Verify(x => x.CreateApprenticeshipEvent(It.Is <ApprenticeshipEvent>(y => EventMatchesParameters(y, @event, effectiveFrom))), Times.Once);
 }
 public void Init()
 {
     instance = new EventsApi();
 }
 public EventsApiTests()
 {
     instance = new EventsApi();
 }
Exemple #29
0
 public void Init()
 {
     // Token for Demo App - Sandbox Events
     Configuration.Default.AccessToken = "TEST_TOKEN";
     instance = new EventsApi();
 }
        private void ConfigureAgreementsApi()
        {
            var provider = new ProviderBuilder().Build();

            EventsApi.SetupGet("api/providers/12345678", provider);
        }