Пример #1
0
        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);
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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");
            }
        }
Пример #6
0
        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));
        }
Пример #8
0
        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));
        }
Пример #9
0
        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));
        }
Пример #11
0
        private async Task GetRootFromSource()
        {
            ListResource files = new ListResource(cloud);

            rootDirectory = await files.GetFiles();
        }