コード例 #1
0
ファイル: TcpServer.cs プロジェクト: bivoldaniel/Online-Judge
        public static void ReadCallback(IAsyncResult ar)
        {
            String content = String.Empty;

            Console.WriteLine("read data");

            StateObject state   = (StateObject)ar.AsyncState;
            Socket      handler = state.socket;

            int bytesRead = handler.EndReceive(ar);

            if (bytesRead > 0)
            {
                state.sb.Append(Encoding.ASCII.GetString(
                                    state.buffer, 0, bytesRead));

                content = state.sb.ToString();

                SubmissionEvent submissionEvent = new SubmissionEvent(Queue);
                submissionEvent.Subscribe(content);
                submissionEvent.Notify();

                Console.WriteLine("read data {0} ", content);
            }
        }
 private bool EventsMatch(SubmissionEvent original, SubmissionEvent client)
 {
     return(original.Id == client.Id &&
            original.IlrFileName == client.IlrFileName &&
            original.FileDateTime == client.FileDateTime &&
            original.SubmittedDateTime == client.SubmittedDateTime &&
            original.ComponentVersionNumber == client.ComponentVersionNumber &&
            original.Ukprn == client.Ukprn &&
            original.Uln == client.Uln &&
            original.StandardCode == client.StandardCode &&
            original.ProgrammeType == client.ProgrammeType &&
            original.FrameworkCode == client.FrameworkCode &&
            original.PathwayCode == client.PathwayCode &&
            original.ActualStartDate == client.ActualStartDate &&
            original.PlannedEndDate == client.PlannedEndDate &&
            original.ActualEndDate == client.ActualEndDate &&
            original.TrainingPrice == client.TrainingPrice &&
            original.EndpointAssessorPrice == client.EndpointAssessorPrice &&
            original.NiNumber == client.NiNumber &&
            original.ApprenticeshipId == client.ApprenticeshipId &&
            original.AcademicYear == client.AcademicYear &&
            original.EmployerReferenceNumber == client.EmployerReferenceNumber &&
            original.EPAOrgId == client.EPAOrgId &&
            original.FamilyName == client.FamilyName &&
            original.GivenNames == client.GivenNames &&
            original.CompStatus == client.CompStatus);
 }
コード例 #3
0
        private async Task <long> InsertFromSubmission(SubmissionEvent submissionEvent)
        {
            var totalNumbersEffected = await _connection.ExecuteAsync(
                $"insert into Ilrs (Source,Uln, StdCode, ApprenticeshipId,UkPrn,PlannedEndDate,CreatedAt,EmployerAccountId,EventId,FundingModel) values (" +
                "@academicYear, " +
                "@uln, " +
                "@standardCode, " +
                "@apprenticeshipId, " +
                "@ukprn, " +
                "@plannedEndDate, " +
                "@submittedDateTime, " +
                "@employerReferenceNumber, " +
                "@id, " +
                "36 )",
                new
            {
                academicYear     = submissionEvent.AcademicYear,
                apprenticeshipId = submissionEvent.ApprenticeshipId,
                ukprn            = submissionEvent.Ukprn,
                plannedEndDate   = submissionEvent.PlannedEndDate,
                id  = submissionEvent.Id,
                uln = submissionEvent.Uln,
                submittedDateTime       = submissionEvent.SubmittedDateTime,
                standardCode            = submissionEvent.StandardCode,
                employerReferenceNumber = submissionEvent.EmployerReferenceNumber,
            });

            return(totalNumbersEffected);
        }
コード例 #4
0
 public void Process(SubmissionEvent _event)
 {
     try
     {
         _Module.Heat.SubmissionHistory.Add(_event);
     }
     catch { }
 }
        public void SetUp()
        {
            _repository       = new Mock <ISubmissionEventRepository>();
            _eventsApi        = new Mock <IPaymentsEventsApiClient>();
            _messagePublisher = new Mock <IMessagePublisher>();
            _target           = new InitiateEmploymentCheckForChangedNationalInsuranceNumbersCommand(_repository.Object, _eventsApi.Object, _messagePublisher.Object, Mock.Of <ILog>());

            _submissionEvent = new SubmissionEvent {
                Uln = 1234565, NiNumber = "JA123456C", Id = 124, ActualStartDate = DateTime.Now.AddYears(-1), ApprenticeshipId = 123456, Ukprn = 5465
            };
        }
コード例 #6
0
        private async Task SendSubmissionEvent(SubmissionEvent submissionEvent)
        {
            var endpointInstance = await factory.GetEndpointInstance().ConfigureAwait(false);

            await endpointInstance.Publish(submissionEvent).ConfigureAwait(false);

            var jobClient = jobClientFactory.Create();

            if (submissionEvent is SubmissionFailedEvent)
            {
                await jobClient.RecordJobFailure(submissionEvent.JobId, submissionEvent.Ukprn, submissionEvent.IlrSubmissionDateTime, submissionEvent.AcademicYear, submissionEvent.CollectionPeriod).ConfigureAwait(false);
            }
            else
            {
                await jobClient.RecordJobSuccess(submissionEvent.JobId, submissionEvent.Ukprn, submissionEvent.IlrSubmissionDateTime, submissionEvent.AcademicYear, submissionEvent.CollectionPeriod).ConfigureAwait(false);
            }
        }
コード例 #7
0
        private ListView GenerateList(string[] data, SubmissionEvent onclick, bool exitOnSubmit = false, bool hideOnBack = true)
        {
            //var list = GetView<ListView>("account_show");
            var list = new ListView(new ViewData("ListView").SetAttribute("padding_left", 2).SetAttribute("padding_right", 2).SetAttribute("border", 8), LangManager.NO_LANG);

            //if (data.Length == 1 && data[0].Length == 0) data = new string[0];
            Tuple <string, View>[] listData = new Tuple <string, View> [data.Length - ((data.Length == 1 && data[0].Length == 0) ? 1: 0)];
            for (int i = 0; i < listData.Length; ++i)
            {
                ButtonView t = new ButtonView(new ViewData("ButtonView").AddNestedSimple("Text", data[i]), LangManager.NO_LANG); // Don't do translations
                t.SetEvent(v =>
                {
                    onclick?.Invoke(v);
                    if (exitOnSubmit)
                    {
                        Hide(list);
                    }
                });
                listData[i] = new Tuple <string, View>(t.Text, t);
            }
            if (listData.Length > 0)
            {
                list.AddViews(0, listData);
            }
            else
            {
                ButtonView close = new ButtonView(new ViewData("ButtonView").AddNestedSimple("Text", GetIntlString("GENERIC_dismiss")), LangManager.NO_LANG);
                close.SetEvent(_ => Hide(list));
                list.AddView(close, "close");
            }
            if (hideOnBack)
            {
                list.OnBackEvent = v => Hide(v);
            }
            return(list);
        }
コード例 #8
0
        private async Task <long> UpdateFromSubmission(SubmissionEvent submissionEvent)
        {
            var totalNumbersEffected = await _connection.ExecuteAsync($"update Ilrs set " +
                                                                      "ApprenticeshipId = @apprenticeshipId, " +
                                                                      "UKPRN = @ukprn, " +
                                                                      "PlannedEndDate = @plannedEndDate, " +
                                                                      "UpdatedAt = @submittedDateTime, " +
                                                                      "EmployerAccountId = @employerReferenceNumber, " +
                                                                      "EventId = @Id " +
                                                                      "where Uln = @uln and StdCode=@standardCode",
                                                                      new
            {
                apprenticeshipId = submissionEvent.ApprenticeshipId,
                ukprn            = submissionEvent.Ukprn,
                plannedEndDate   = submissionEvent.PlannedEndDate,
                id  = submissionEvent.Id,
                uln = submissionEvent.Uln,
                submittedDateTime       = submissionEvent.SubmittedDateTime,
                employerReferenceNumber = submissionEvent.EmployerReferenceNumber,
                standardCode            = submissionEvent.StandardCode
            });

            return(totalNumbersEffected);
        }
コード例 #9
0
 public static string ToDebug(this SubmissionEvent submissionEvent)
 {
     return
         ($"Type: {submissionEvent.GetType().Name}, Event Time: {submissionEvent.EventTime:G}, Ukrpn: {submissionEvent.Ukprn}, Job Id: {submissionEvent.JobId}, Collection Period: {submissionEvent.AcademicYear}-{submissionEvent.CollectionPeriod}");
 }
コード例 #10
0
        public void Arrange()
        {
            _configuration = new PaymentsEventsApiConfiguration
            {
                ApiBaseUrl  = "some-url/",
                ClientToken = "super_secure_token"
            };

            _submissionStandardEvent = new SubmissionEvent
            {
                Id                      = 1,
                IlrFileName             = "ILR-123456",
                FileDateTime            = new DateTime(2017, 2, 10, 8, 55, 23),
                SubmittedDateTime       = new DateTime(2017, 2, 10, 8, 59, 13),
                ComponentVersionNumber  = 1,
                Ukprn                   = 123456,
                Uln                     = 987654,
                StandardCode            = 27,
                ActualStartDate         = new DateTime(2017, 4, 1),
                PlannedEndDate          = new DateTime(2018, 5, 1),
                TrainingPrice           = 12000m,
                EndpointAssessorPrice   = 3000m,
                NiNumber                = "AB12345C",
                ApprenticeshipId        = 1,
                AcademicYear            = "1617",
                EmployerReferenceNumber = 123456,
                EPAOrgId                = "EPACodeI"
            };

            _submissionFrameworkEvent = new SubmissionEvent
            {
                Id                      = 1,
                IlrFileName             = "ILR-123456",
                FileDateTime            = new DateTime(2017, 2, 10, 8, 55, 23),
                SubmittedDateTime       = new DateTime(2017, 2, 10, 8, 59, 13),
                ComponentVersionNumber  = 1,
                Ukprn                   = 123456,
                Uln                     = 987654321,
                ProgrammeType           = 20,
                FrameworkCode           = 550,
                PathwayCode             = 6,
                ActualStartDate         = new DateTime(2017, 4, 1),
                PlannedEndDate          = new DateTime(2018, 5, 1),
                TrainingPrice           = 6000m,
                EndpointAssessorPrice   = 1500m,
                NiNumber                = "AB12345C",
                ApprenticeshipId        = 9,
                AcademicYear            = "1617",
                EmployerReferenceNumber = 123456,
                EPAOrgId                = "EPACodeI"
            };

            _httpClient = new Mock <SecureHttpClient>();
            _httpClient.Setup(c => c.GetAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(JsonConvert.SerializeObject(new PageOfResults <SubmissionEvent>
            {
                PageNumber         = 1,
                TotalNumberOfPages = 2,
                Items = new[]
                {
                    _submissionStandardEvent,
                    _submissionFrameworkEvent
                }
            })));

            _client = new Client.PaymentsEventsApiClient(_configuration, _httpClient.Object);
        }
コード例 #11
0
        private async Task SendSubmissionEvent(SubmissionEvent submissionEvent)
        {
            var endpointInstance = await factory.GetEndpointInstance().ConfigureAwait(false);

            await endpointInstance.Publish(submissionEvent).ConfigureAwait(false);
        }
コード例 #12
0
 public void Add(SubmissionEvent _event)
 {
     events.Enqueue(_event);
     EventLoop();
 }
コード例 #13
0
        public void Arrange()
        {
            _configuration = new Mock <IPaymentsEventsApiConfiguration>();
            _configuration.Setup(m => m.ApiBaseUrl).Returns(ExpectedApiBaseUrl);
            _configuration.Setup(m => m.ClientToken).Returns(ClientToken);

            _submissionStandardEvent = new SubmissionEvent
            {
                Id                      = 1,
                IlrFileName             = "ILR-123456",
                FileDateTime            = new DateTime(2017, 2, 10, 8, 55, 23),
                SubmittedDateTime       = new DateTime(2017, 2, 10, 8, 59, 13),
                ComponentVersionNumber  = 1,
                Ukprn                   = 123456,
                Uln                     = 987654,
                StandardCode            = 27,
                ActualStartDate         = new DateTime(2017, 4, 1),
                PlannedEndDate          = new DateTime(2018, 5, 1),
                TrainingPrice           = 12000m,
                EndpointAssessorPrice   = 3000m,
                NiNumber                = "AB12345C",
                ApprenticeshipId        = 1,
                AcademicYear            = "1617",
                EmployerReferenceNumber = 123456,
                EPAOrgId                = "EPACodeI"
            };

            _submissionFrameworkEvent = new SubmissionEvent
            {
                Id                      = 1,
                IlrFileName             = "ILR-123456",
                FileDateTime            = new DateTime(2017, 2, 10, 8, 55, 23),
                SubmittedDateTime       = new DateTime(2017, 2, 10, 8, 59, 13),
                ComponentVersionNumber  = 1,
                Ukprn                   = 123456,
                Uln                     = 987654321,
                ProgrammeType           = 20,
                FrameworkCode           = 550,
                PathwayCode             = 6,
                ActualStartDate         = new DateTime(2017, 4, 1),
                PlannedEndDate          = new DateTime(2018, 5, 1),
                TrainingPrice           = 6000m,
                EndpointAssessorPrice   = 1500m,
                NiNumber                = "AB12345C",
                ApprenticeshipId        = 9,
                AcademicYear            = "1617",
                EmployerReferenceNumber = 123456,
                EPAOrgId                = "EPACodeI"
            };

            _httpMessageHandlerMock = SetupHttpMessageHandler(JsonConvert.SerializeObject(
                                                                  new PageOfResults <SubmissionEvent>
            {
                PageNumber         = 1,
                TotalNumberOfPages = 2,
                Items = new[]
                {
                    _submissionStandardEvent,
                    _submissionFrameworkEvent
                }
            }));

            // use real http client with mocked handler
            var httpClient = new HttpClient(_httpMessageHandlerMock.Object);

            _client = new Client.PaymentsEventsApiClient(_configuration.Object, httpClient);
        }
コード例 #14
0
 public void SetEvent(SubmissionEvent listener) => evt = listener;