public async Task <IActionResult> GetAnnualStatistics() { var sales = _mongoDbService.GetCollection <Sale>(Collections.Sales).AsQueryable(); var query = from s in sales where s.Approved group s by new { s.Date.Year, s.Date.Month } into grouped orderby grouped.Key.Year ascending, grouped.Key.Month ascending select new { Date = grouped.Key, Total = grouped.Sum(p => p.Total) }; var items = await query .ApplyPaging(1, 12) .ToListAsync(); var resources = new ListResource() { ItemsList = items .Select(item => { return(new { Label = $"{item.Date.Year}-{item.Date.Month}", item.Total }); }) .ToList() }; return(new SuccessResult(resources)); }
private IEnumerable <ListResource> GetSourceFeeds() { var sources = new HashSet <string>(); var sourceFeeds = new List <ListResource>(); foreach (var source in _packageSources) { var packageSource = Repository.Factory.GetCoreV3(source.Source); ListResource resource = null; try { resource = packageSource.GetResource <ListResource>(); } catch (Exception e) { // TODO: Log? Output? Console.WriteLine(e); } if (resource == null) { continue; } if (sources.Add(resource.Source)) { sourceFeeds.Add(resource); } } return(sourceFeeds); }
public override async Task <Tuple <bool, INuGetResource> > TryCreate( SourceRepository source, CancellationToken token) { ListResource resource = null; var serviceIndex = await source.GetResourceAsync <ServiceIndexResourceV3>(token); if (serviceIndex != null) { var baseUrl = serviceIndex.GetServiceEntryUri(ServiceTypes.LegacyGallery); if (baseUrl != null) { var httpSource = await source.GetResourceAsync <HttpSourceResource>(token); var serviceDocument = await ODataServiceDocumentUtils.CreateODataServiceDocumentResourceV2( baseUrl.AbsoluteUri, httpSource.HttpSource, DateTime.UtcNow, NullLogger.Instance, token); var parser = new V2FeedParser(httpSource.HttpSource, serviceDocument.BaseAddress, source.PackageSource.Source); var feedCapabilityResource = new LegacyFeedCapabilityResourceV2Feed(parser, serviceDocument.BaseAddress); resource = new V2FeedListResource(parser, feedCapabilityResource, serviceDocument.BaseAddress); } } var result = new Tuple <bool, INuGetResource>(resource != null, resource); return(result); }
public void sendLoginFailTest() { ListResource msg = new ListResource("teste;teste", LayoutTypeEnum.TYPE_A); msg.Callback = CallbackTypeEnum.INACTIVE; MultipleSending cliente = new MultipleSending(null, null); try { Console.Out.WriteLine("<< Teste de envio de SMS com ACCOUNT / CODE invalidos >>"); List <String> ret = cliente.send(msg); foreach (String result in ret) { Console.Out.WriteLine(result); } Assert.Fail("Deve jogar exception"); } catch (ClientHumanException e) { Console.Out.WriteLine(e.StackTrace); Assert.AreEqual("Field \"" + MultipleSending.PARAM_ACCOUNT + "\" is required.", e.Message); } }
public void sendListOKTest() { String path = Path.Combine(Environment.CurrentDirectory, "TestFiles\\FileOKD.txt"); StringBuilder sb = new StringBuilder(); StreamReader sr = File.OpenText(path); String line = null; while ((line = sr.ReadLine()) != null) { sb.AppendLine(line); } ListResource msg = new ListResource(sb.ToString(), LayoutTypeEnum.TYPE_D); msg.Callback = CallbackTypeEnum.INACTIVE; MultipleSending cliente = new MultipleSending(ACCOUNT, CODE); try { Console.Out.WriteLine("<< Teste de envio de SMS com arquivo OK >>"); List <String> ret = cliente.send(msg); foreach (String result in ret) { Console.Out.WriteLine(result); } } catch (ClientHumanException e) { Console.Out.WriteLine(e.StackTrace); Assert.Fail("Nao deve jogar exception"); } }
public void sendListMalformedEInvalidDateTest() { String path = Path.Combine(Environment.CurrentDirectory, "TestFiles\\FileMalformedEInvalidDate.txt"); StringBuilder sb = new StringBuilder(); StreamReader sr = File.OpenText(path); String line = null; while ((line = sr.ReadLine()) != null) { sb.AppendLine(line); } ListResource msg = new ListResource(sb.ToString(), LayoutTypeEnum.TYPE_E); msg.Callback = CallbackTypeEnum.INACTIVE; MultipleSending cliente = new MultipleSending(ACCOUNT, CODE); try { Console.Out.WriteLine("<< Teste de envio de SMS com arquivo com problemas de formatacao (layout E) - data invalida >>"); List <String> ret = cliente.send(msg); foreach (String result in ret) { Console.Out.WriteLine(result); } Assert.Fail("Deve jogar exception"); } catch (ClientHumanException e) { Console.Out.WriteLine(e.StackTrace); Assert.AreEqual("Date invalid.", e.Message); } }
public override async Task <Tuple <bool, INuGetResource> > TryCreate(SourceRepository source, CancellationToken token) { ListResource resource = null; var findLocalPackagesResource = await source.GetResourceAsync <FindLocalPackagesResource>(token); if (findLocalPackagesResource != null) { resource = new LocalPackageListResource(new LocalPackageSearchResource(findLocalPackagesResource), source.PackageSource.Source); } return(new Tuple <bool, INuGetResource>(resource != null, resource)); }
public async Task <IActionResult> GetCompleteCategoriesList() { var query = _mongoDbService.GetCollection <Category>(Collections.Categories).AsQueryable(); var items = await query .ApplyOrdering(nameof(Category.Name), descending : false) .ToListAsync(); var resources = new ListResource() { ItemsList = items .Select(item => new { item.Id, item.Name, item.Description }) .ToList() }; return(new SuccessResult(resources)); }
public async Task <IActionResult> GetUsersRoleList() { var query = _mongoDbService.GetCollection <ApplicationRole>(Collections.Roles).AsQueryable(); var items = await query .ApplyOrdering(nameof(ApplicationRole.Name), descending : false) .ToListAsync(); var resources = new ListResource() { ItemsList = items .Select(item => new { item.Id, Name = item.Name.ToUpper(), item.Description, item.Active }) .ToList() }; return(new SuccessResult(resources)); }
public override async Task <Tuple <bool, INuGetResource> > TryCreate(SourceRepository source, CancellationToken token) { ListResource resource = null; if (await source.GetFeedType(token) == FeedType.HttpV2) { var httpSource = await source.GetResourceAsync <HttpSourceResource>(token); var serviceDocument = await source.GetResourceAsync <ODataServiceDocumentResourceV2>(token); if (serviceDocument != null) { var parser = new V2FeedParser(httpSource.HttpSource, serviceDocument.BaseAddress, source.PackageSource.Source); var feedCapabilityResource = new LegacyFeedCapabilityResourceV2Feed(parser, serviceDocument.BaseAddress); resource = new V2FeedListResource(parser, feedCapabilityResource, serviceDocument.BaseAddress); } } return(new Tuple <bool, INuGetResource>(resource != null, resource)); }
private async Task GetRootFromSource() { ListResource files = new ListResource(cloud); rootDirectory = await files.GetFiles(); }