コード例 #1
0
 private static bool RequestMatchesParameters(GetAgreementEventsRequest x, DateTime toDateTime, DateTime fromDateTime, int fromEventId, int pageNumber, int pageSize)
 {
     return(x.ToDateTime.ToString("yyyyMMddHHmmss") == toDateTime.ToString("yyyyMMddHHmmss") &&
            x.FromDateTime.ToString("yyyyMMddHHmmss") == fromDateTime.ToString("yyyyMMddHHmmss") &&
            x.FromEventId == fromEventId &&
            x.PageNumber == pageNumber &&
            x.PageSize == pageSize);
 }
        public async Task <IEnumerable <AgreementEventView> > GetEvents(string fromDate, string toDate, int pageSize, int pageNumber, long fromEventId)
        {
            try
            {
                _logger.Info($"Getting Agreement Events for period: {fromDate ?? "(all)"} - {toDate ?? "(all)"}, from eventId = {(fromEventId == 0 ? "(all)" : fromEventId.ToString())}");

                fromDate = fromDate ?? new DateTime(2000, 1, 1).ToString("yyyyMMddHHmmss");
                toDate   = toDate ?? DateTime.MaxValue.ToString("yyyyMMddHHmmss");

                var request = new GetAgreementEventsRequest
                {
                    FromDateTime = fromDate.ParseDateTime(),
                    ToDateTime   = toDate.ParseDateTime(),
                    PageSize     = pageSize,
                    PageNumber   = pageNumber,
                    FromEventId  = fromEventId
                };

                var response = await _mediator.SendAsync(request);

                return(response.Data.Select(x => new AgreementEventView
                {
                    Id = x.Id,
                    CreatedOn = x.CreatedOn,
                    Event = x.Event,
                    ProviderId = x.ProviderId,
                    ContractType = x.ContractType
                }));
            }
            catch (ValidationException ex)
            {
                _logger.Warn(ex, "Invalid request");
                throw;
            }
            catch (Exception ex)
            {
                _logger.Error(ex, ex.Message);
                throw;
            }
        }