public async Task InsertQueryDeleteLASets()
        {
            var client        = IocConfig.CreateHttpClient();
            var clientWrapper = new HttpClientWrapper(client, IocConfig.CreateJsonMediaTypeFormatter());
            var l             = new LookupApiService(clientWrapper, new SecurityApiService(clientWrapper));
            var las           = (await l.LocalAuthorityGetAllAsync()).ToArray();

            var subject = new LocalAuthoritySetRepository();

            for (int i = 0; i < 1000; i++)
            {
                var laIds = Enumerable.Range(0, RandomNumber.Next(0, 15)).Select(x => las.ElementAt(RandomNumber.Next(las.Length)).Id).ToArray();
                await subject.CreateAsync(new LocalAuthoritySet
                {
                    Ids   = laIds,
                    Title = Lorem.Sentence(2)
                });
            }

            //var result = await subject.GetAllAsync(100);
            //Assert.AreEqual(100, result.Items.Count());
            //foreach (var item in result.Items)
            //{
            //    Assert.IsNotNull(item.Ids);
            //    Assert.That(item.Ids.Count, Is.EqualTo(3));
            //}


            //result = await subject.GetAllAsync(1000);
            //foreach (var item in result.Items)
            //{
            //    await subject.DeleteAsync(item.RowKey);
            //}
        }
        public async Task Search()
        {
            var client        = IocConfig.CreateHttpClient();
            var clientWrapper = new HttpClientWrapper(client, IocConfig.CreateJsonMediaTypeFormatter());
            var subject       = new EstablishmentReadApiService(clientWrapper, null);
            var result        = await subject.SearchAsync(new EstablishmentSearchPayload
            {
                Skip    = 0,
                Take    = 10,
                Filters = new EstablishmentSearchFilters
                {
                    NextActionRequiredByWELMin = new DateTime(2010, 1, 1),
                    NextActionRequiredByWELMax = new DateTime(2011, 1, 1)
                },
                Select = new List <string>
                {
                    nameof(EstablishmentSearchResultModel.Name),
                    nameof(EstablishmentSearchResultModel.LocalAuthorityId),
                    nameof(EstablishmentSearchResultModel.Address_CityOrTown),
                    nameof(EstablishmentSearchResultModel.StatusId),
                    nameof(EstablishmentSearchResultModel.TypeId),
                    nameof(EstablishmentSearchResultModel.NextGeneralActionRequired),
                    nameof(EstablishmentSearchResultModel.NextActionRequiredByWEL)
                }
            }, new GenericPrincipal(new GenericIdentity(""), new string[0]));


            result = await subject.SearchAsync(new EstablishmentSearchPayload
            {
                Skip    = 0,
                Take    = 10,
                Filters = new EstablishmentSearchFilters
                {
                    NextGeneralActionRequiredMin = new DateTime(2010, 1, 1),
                    NextGeneralActionRequiredMax = new DateTime(2011, 1, 1)
                },
                Select = new List <string>
                {
                    nameof(EstablishmentSearchResultModel.Name),
                    nameof(EstablishmentSearchResultModel.LocalAuthorityId),
                    nameof(EstablishmentSearchResultModel.Address_CityOrTown),
                    nameof(EstablishmentSearchResultModel.StatusId),
                    nameof(EstablishmentSearchResultModel.TypeId),
                    nameof(EstablishmentSearchResultModel.NextGeneralActionRequired),
                    nameof(EstablishmentSearchResultModel.NextActionRequiredByWEL)
                }
            }, new GenericPrincipal(new GenericIdentity(""), new string[0]));
        }
        public async Task InsertQueryDeleteLASets()
        {
            var client        = IocConfig.CreateHttpClient();
            var clientWrapper = new HttpClientWrapper(client, IocConfig.CreateJsonMediaTypeFormatter());
            var l             = new LookupApiService(clientWrapper, new SecurityApiService(clientWrapper));
            var las           = (await l.LocalAuthorityGetAllAsync()).ToArray();

            var subject = new LocalAuthoritySetRepository();

            for (var i = 0; i < 1000; i++)
            {
                var laIds = Enumerable.Range(0, RandomNumber.Next(0, 15)).Select(x => las.ElementAt(RandomNumber.Next(las.Length)).Id).ToArray();
                await subject.CreateAsync(new LocalAuthoritySet
                {
                    Ids   = laIds,
                    Title = Lorem.Sentence(2)
                });
            }
        }
示例#4
0
        public async Task Search()
        {
            var client        = IocConfig.CreateHttpClient();
            var clientWrapper = new HttpClientWrapper(client, IocConfig.CreateJsonMediaTypeFormatter());

            var cls = new CachedLookupService(new LookupApiService(clientWrapper, new SecurityApiService(clientWrapper)), new CacheAccessor(new JsonConverterCollection()
            {
                new DbGeographyConverter()
            }));
            var las = await cls.LocalAuthorityGetAllAsync();

            var pcs = await cls.ParliamentaryConstituenciesGetAllAsync();

            var ets = await cls.EstablishmentTypesGetAllAsync();

            var gors = await cls.GovernmentOfficeRegionsGetAllAsync();

            var GSSLAs = await cls.GSSLAGetAllAsync();

            var dios = await cls.DiocesesGetAllAsync();

            var dis = await cls.AdministrativeDistrictsGetAllAsync();

            var subject = new EstablishmentReadApiService(clientWrapper, null);
            var result  = await subject.SearchAsync(new EstablishmentSearchPayload
            {
                Skip    = 0,
                Take    = 100,
                Filters = new EstablishmentSearchFilters
                {
                    LocalAuthorityIds            = las.Select(x => x.Id).Skip(1).ToArray(),
                    ParliamentaryConstituencyIds = pcs.Select(x => x.Id).Skip(1).ToArray(),
                    TypeIds = ets.Select(x => x.Id).Skip(1).ToArray(),
                    GovernmentOfficeRegionIds = gors.Select(x => x.Id).Skip(1).ToArray(),
                    GSSLAIds   = GSSLAs.Select(x => x.Id).Skip(1).ToArray(),
                    DioceseIds = dios.Select(x => x.Id).Skip(1).ToArray(),
                    AdministrativeDistrictIds = dis.Select(x => x.Id).Skip(1).ToArray(),
                }
            }, new GenericPrincipal(new GenericIdentity(""), new string[0]));

            Assert.IsTrue(result.Items.Count == 100);
        }
        public async Task <ActionResult> DownloadMATClosureReportAsync()
        {
            using (var c = IocConfig.CreateHttpClient())
            {
                var requestMessage = await _httpClientHelper.CreateHttpRequestMessageAsync(HttpMethod.Get, "downloads/matclosurereport.csv", User);

                var response = (await c.SendAsync(requestMessage));

                if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
                {
                    return(HttpNotFound());
                }
                else
                {
                    response.EnsureSuccessStatusCode();
                    return(new FileStreamResult(await response.Content.ReadAsStreamAsync(), response.Content.Headers.ContentType.MediaType)
                    {
                        FileDownloadName = $"SatAndMatClosureReport_{DateTime.Now.Date.ToString("dd-MM-yyyy")}.csv"
                    });
                }
            }
        }
        public async Task <ActionResult> DownloadFileAsync(string id, DateTime?filterDate)
        {
            var file = (await _downloadsService.GetListAsync(filterDate ?? DateTime.Today, User)).FirstOrDefault(x => x.Tag == id);

            if (file != null)
            {
                using (var c = IocConfig.CreateHttpClient())
                {
                    var requestMessage = await _httpClientHelper.CreateHttpRequestMessageAsync(HttpMethod.Get, file.Url, User);

                    var response = (await c.SendAsync(requestMessage)).EnsureSuccessStatusCode();
                    return(new FileStreamResult(await response.Content.ReadAsStreamAsync(), response.Content.Headers.ContentType.MediaType)
                    {
                        FileDownloadName = response.Content.Headers.ContentDisposition.FileName.RemoveSubstring("\"")
                    });
                }
            }
            else
            {
                return(HttpNotFound());
            }
        }