示例#1
0
        /// <summary>
        /// Lists resources in a type collection.
        /// </summary>
        private async Task <ResponseWithContinuation <JObject[]> > ListResourcesTypeCollection()
        {
            var resourceCollectionId = ResourceIdUtility.GetResourceId(
                subscriptionId: this.SubscriptionId.AsArray().CoalesceEnumerable().Cast <Guid?>().FirstOrDefault(),
                resourceGroupName: null,
                resourceType: this.ResourceType,
                resourceName: null,
                extensionResourceType: this.ExtensionResourceType,
                extensionResourceName: null);

            var odataQuery = QueryFilterBuilder.CreateFilter(
                subscriptionId: null,
                resourceGroup: this.ResourceGroupNameEquals,
                resourceType: null,
                resourceName: this.ResourceNameEquals,
                tagName: TagsHelper.GetTagNameFromParameters(this.Tag, this.TagName),
                tagValue: TagsHelper.GetTagValueFromParameters(this.Tag, this.TagValue),
                filter: this.ODataQuery,
                resourceGroupNameContains: this.ResourceGroupNameContains,
                nameContains: this.ResourceNameContains);

            return(await this
                   .GetResourcesClient()
                   .ListObjectColleciton <JObject>(
                       resourceCollectionId: resourceCollectionId,
                       apiVersion: this.DefaultApiVersion,
                       cancellationToken: this.CancellationToken.Value,
                       odataQuery: odataQuery)
                   .ConfigureAwait(continueOnCapturedContext: false));
        }
        /// <summary>
        /// Lists the resources in a resource group.
        /// </summary>
        private async Task <ResponseWithContinuation <JObject[]> > ListResourcesInResourceGroup()
        {
            var filterQuery = QueryFilterBuilder
                              .CreateFilter(
                resourceType: this.ResourceType,
                resourceName: this.ResourceName,
                tagName: null,
                tagValue: null,
                filter: this.ODataQuery);

            var apiVersion = await this
                             .DetermineApiVersion(providerNamespace : Constants.MicrosoftResourceNamesapce, resourceType : Constants.ResourceGroups)
                             .ConfigureAwait(continueOnCapturedContext: false);

            return(await this
                   .GetResourcesClient()
                   .ListResources <JObject>(
                       subscriptionId: this.SubscriptionId.Value,
                       resourceGroupName: this.ResourceGroupName,
                       apiVersion: apiVersion,
                       top: this.Top,
                       filter: filterQuery,
                       cancellationToken: this.CancellationToken.Value)
                   .ConfigureAwait(continueOnCapturedContext: false));
        }
        /// <summary>
        /// Gets a resource.
        /// </summary>
        private async Task <JObject> GetResource()
        {
#pragma warning disable 618

            var resourceId = this.GetResourceId();

#pragma warning restore 618

            var apiVersion = await this
                             .DetermineApiVersion(resourceId : resourceId)
                             .ConfigureAwait(continueOnCapturedContext: false);

            var odataQuery = QueryFilterBuilder.CreateFilter(
                resourceType: null,
                resourceName: null,
                tagName: null,
                tagValue: null,
                filter: this.ODataQuery);

            return(await this
                   .GetResourcesClient()
                   .GetResource <JObject>(
                       resourceId: resourceId,
                       apiVersion: apiVersion,
                       cancellationToken: this.CancellationToken.Value,
                       odataQuery: odataQuery)
                   .ConfigureAwait(continueOnCapturedContext: false));
        }
        /// <summary>
        /// Lists the resources in a resource group.
        /// </summary>
        private async Task <ResponseWithContinuation <JObject[]> > ListResourcesInResourceGroup()
        {
            var filterQuery = QueryFilterBuilder
                              .CreateFilter(
                subscriptionId: null,
                resourceGroup: this.ResourceGroupNameEquals,
                resourceType: this.ResourceType,
                resourceName: this.ResourceNameEquals,
                tagName: TagsHelper.GetTagNameFromParameters(this.Tag, this.TagName),
                tagValue: TagsHelper.GetTagValueFromParameters(this.Tag, this.TagValue),
                filter: this.ODataQuery,
                resourceGroupNameContains: this.ResourceGroupNameContains,
                nameContains: this.ResourceNameContains);

            return(await this
                   .GetResourcesClient()
                   .ListResources <JObject>(
                       subscriptionId: this.SubscriptionId.Value,
                       resourceGroupName: null,
                       apiVersion: this.DefaultApiVersion,
                       top: this.Top,
                       filter: filterQuery,
                       cancellationToken: this.CancellationToken.Value)
                   .ConfigureAwait(continueOnCapturedContext: false));
        }
        public async Task <ActionResult <PagedList <InboxInvoiceGetModel> > > GetList()
        {
            var model = new QueryFilterBuilder <InboxInvoiceSearchModel>()
                        .PageIndex(1)
                        .QueryFor(q => q.InvoiceNumber, Operator.Equal, "EPK2019000001731")
                        // .QueryFor(q => q.Status, Operator.Equal, InvoiceStatus.Error)
                        .Build();

            return(await inboxInvoiceClient.GetList(model));
        }
        public async Task <ActionResult <PagedList <GibUserAliasModel> > > GetUserAliasList()
        {
            var model = new QueryFilterBuilder <GibUserAliasModel>()
                        .PageIndex(1)
                        .PageSize(50)
                        .QueryFor(q => q.IsActive, Operator.Equal, true)
                        .Build();

            return(await commonClient.GetUserAliasList(model));
        }
示例#7
0
        private void RunSimpleCmdlet()
        {
            if (this.IsParameterBound(c => c.Tag))
            {
                this.TagName  = TagsHelper.GetTagNameFromParameters(this.Tag, null);
                this.TagValue = TagsHelper.GetTagValueFromParameters(this.Tag, null);
            }

            var expression = QueryFilterBuilder.CreateFilter(
                subscriptionId: null,
                resourceGroup: null,
                resourceType: this.ResourceType,
                resourceName: null,
                tagName: null,
                tagValue: null,
                filter: this.ODataQuery);

            var odataQuery = new Rest.Azure.OData.ODataQuery <GenericResourceFilter>(expression);
            var result     = Enumerable.Empty <PSResource>();

            if (!ShouldListBySubscription(ResourceGroupName, Name))
            {
                result = this.ResourceManagerSdkClient.ListByResourceGroup(this.ResourceGroupName, odataQuery);
            }
            else
            {
                result = this.ResourceManagerSdkClient.ListResources(odataQuery);
            }

            result = TopLevelWildcardFilter(ResourceGroupName, Name, result);

            if (!string.IsNullOrEmpty(this.TagName) && !string.IsNullOrEmpty(this.TagValue))
            {
                result = result.Where(r => r.Tags != null &&
                                      r.Tags.Keys != null &&
                                      r.Tags.Keys.Where(k => string.Equals(k, this.TagName, StringComparison.OrdinalIgnoreCase))
                                      .Any(k => string.Equals(r.Tags[k], this.TagValue, StringComparison.OrdinalIgnoreCase)));
            }
            else if (!string.IsNullOrEmpty(this.TagName))
            {
                result = result.Where(r => r.Tags != null &&
                                      r.Tags.Keys != null &&
                                      r.Tags.Keys.Where(k => string.Equals(k, this.TagName, StringComparison.OrdinalIgnoreCase))
                                      .Any());
            }
            else if (!string.IsNullOrEmpty(this.TagValue))
            {
                result = result.Where(r => r.Tags != null &&
                                      r.Tags.Values != null &&
                                      r.Tags.Values.Where(v => string.Equals(v, this.TagValue, StringComparison.OrdinalIgnoreCase))
                                      .Any());
            }

            WriteObject(result, true);
        }
示例#8
0
        public async Task GetUserAliasList_should_return_gib_user()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .Build();

            var result = await commonClient.GetUserAliasList(query);

            Assert.Equal(3, result.PageSize);
            Assert.Equal(3, result.Items.Count());
        }
示例#9
0
        public async Task <ActionResult <PagedList <OutboxInvoiceGetModel> > > GetList()
        {
            var model = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .QueryFor(q => q.ExecutionDate, Operator.LessThan, DateTime.Now)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        // .QueryFor(q => q.InvoiceNumber, Operator.Equal, "EPK2019000001731")
                        // .QueryFor(q => q.Status, Operator.Equal, InvoiceStatus.Error)
                        .Build();

            return(await _outboxInvoiceClient.GetList(model));
        }
示例#10
0
        public async Task <ActionResult <PagedList <OutboxInvoiceGetModel> > > GetList()
        {
            var model = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .QueryFor(q => q.ExecutionDate, Operator.LessThan, DateTime.Now)
                        // .QueryFor(q => q.InvoiceNumber, Operator.Equal, "EPA2017000000009")
                        // .QueryFor(q => q.Status, Operator.Equal, InvoiceStatus.Error)
                        // .QueryFor(x => x.Id, Operator.Equal, "26284d90-2a2c-4b50-908a-5122da62646d")
                        .Build();

            return(await earchiveClient.Get(model));
        }
示例#11
0
        public async Task page_size_should_return_number_of_page_size_item()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();

            var result = await inboxInvoiceClient.Get(query);

            Assert.True(result.Items.All(q => q.Currency == "TRY"));
            Assert.Equal(3, result.Items.Count());
        }
        public async Task page_size_should_return_number_of_page_size_item()
        {
            var notExistingInvoiceId = Guid.Parse("85733EDC-958B-4C80-9E49-8942B85D0156");
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();

            var result = await outboxInvoiceClient.GetList(query);

            Assert.Equal(3, result.PageSize);
            Assert.Equal(3, result.Items.Count());
        }
示例#13
0
        public async Task GetOnvoice_should_return_Ubl_Model()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();
            var pageList = await inboxInvoiceClient.Get(query);

            var model = pageList.Items.FirstOrDefault();

            var response = await inboxInvoiceClient.GetInvoice(model.Id);

            Assert.Equal(response.InvoiceId, model.Id);
            Assert.NotNull(response.AddressBook);
            Assert.NotNull(response.GeneralInfoModel);
        }
示例#14
0
        public async Task Cancel_Metot_shoul_return_bool()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(2)
                        .QueryFor(q => q.Status, Operator.Equal, 60)
                        .Build();
            var pageList = await earchiceInvoiceClient.Get(query);

            var model     = pageList.Items?.ToList();
            var guidArray = model?.Select(q => q.Id).ToArray();

            if (guidArray != null)
            {
                Assert.True(await earchiceInvoiceClient.Cancel(guidArray));
            }
        }
示例#15
0
        public async Task GetUserAliasList_return_user_info()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .Build();

            var result = await commonClient.GetUserAliasList(query);

            var userList = result.Items.ToList();

            foreach (var item in userList)
            {
                Assert.NotEmpty(item.Identifier);
                Assert.Contains(":", item.Alias);
                Assert.True(item.AppType == 1 || item.AppType == 3);
            }
        }
示例#16
0
        public async Task GetPdf_response_have_value()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();
            var pageList = await inboxInvoiceClient.Get(query);

            var model = pageList.Items.FirstOrDefault();

            var streamData = await inboxInvoiceClient.GetPdf(model.Id, false);

            using (var reader = new StreamReader(streamData, Encoding.UTF8))
            {
                string value = reader.ReadToEnd();
                Assert.Contains("PDF", value);
            }
        }
示例#17
0
        /// <summary>
        /// Lists the resources in the tenant.
        /// </summary>
        private async Task <ResponseWithContinuation <JObject[]> > ListResourcesInTenant()
        {
            var filterQuery = QueryFilterBuilder
                              .CreateFilter(
                subscriptionId: null,
                resourceGroup: this.ResourceGroupName,
                resourceType: this.ResourceType,
                resourceName: this.Name,
                tagName: null,
                tagValue: null,
                filter: this.ODataQuery);

            return(await this
                   .GetResourcesClient()
                   .ListResources <JObject>(
                       apiVersion: this.DefaultApiVersion,
                       filter: filterQuery,
                       cancellationToken: this.CancellationToken.Value)
                   .ConfigureAwait(continueOnCapturedContext: false));
        }
示例#18
0
        public async Task Get_should_return_earchive_Detail()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();
            var pageList = await earchiceInvoiceClient.Get(query);

            var model = pageList.Items.ToList();

            for (int i = 0; i < model.Count(); i++)
            {
                var response = await earchiceInvoiceClient.Get(model[i].Id);

                Assert.Equal(response.Id, model[i].Id);
                Assert.Equal(response.InvoiceNumber, model[i].InvoiceNumber);
                Assert.NotNull(response.TargetVknTckn);
            }
        }
示例#19
0
        public async Task GetPdfGetMailDetail_response_should_have_email_adress()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(100)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();
            var pageList = await earchiceInvoiceClient.Get(query);

            var model = pageList.Items.ToList();

            foreach (var item in model)
            {
                var response = await earchiceInvoiceClient.GetMailDetail(item.Id.ToString());

                foreach (var mailDetail in response)
                {
                    Assert.NotEmpty(mailDetail.EmailAddress);
                }
            }
        }
示例#20
0
        public async Task GetUbl_response_have_xml_tags()
        {
            var query = new QueryFilterBuilder <OutboxInvoiceGetModel>()
                        .PageIndex(1)
                        .PageSize(3)
                        .QueryFor(q => q.Currency, Operator.Equal, "TRY")
                        .Build();
            var pageList = await inboxInvoiceClient.Get(query);

            var model = pageList.Items.FirstOrDefault();

            var streamData = await inboxInvoiceClient.GetUbl(model.Id);

            using (var reader = new StreamReader(streamData, Encoding.UTF8))
            {
                string value = reader.ReadToEnd();
                Assert.NotEmpty(value);
                Assert.Contains("<Invoice", value);
                Assert.Contains("<cbc:ID schemeID=", value);
                Assert.Contains("<cac:PartyIdentification>", value);
                Assert.Contains("<cac:PartyIdentification>", value);
            }
        }
示例#21
0
        public override SyncFeed GetFeed()
        {
            bool includeUuid;

            string whereClause = string.Empty;
            OleDbParameter[] oleDbParameters = null;

            if (this is IEntityQueryWrapper)
            {
                QueryFilterBuilder queryFilterBuilder = new QueryFilterBuilder((IEntityQueryWrapper)this);

                queryFilterBuilder.BuildSqlStatement(_context, out whereClause, out oleDbParameters);
            }

            SyncFeed feed = new SyncFeed();

            feed.Title = _resourceKind.ToString() + ": " + DateTime.Now.ToString();

            Token emptyToken = new Token();

            List<Identity> identities = new List<Identity>();

            if (String.IsNullOrEmpty(_context.ResourceKey))
                identities = _entity.GetAll(_context.Config, whereClause, oleDbParameters);
            else
                identities.Add(GetIdentity(_context.ResourceKey));

            int totalResult = identities.Count;

            #region PAGING & OPENSEARCH

            /* PAGING */
            feed.Links = FeedMetadataHelpers.CreatePageFeedLinks(_context, totalResult, FeedMetadataHelpers.RequestKeywordType.none);

            /* OPENSEARCH */
            PageController pageController = FeedMetadataHelpers.GetPageLinkBuilder(_context, totalResult, FeedMetadataHelpers.RequestKeywordType.none);

            feed.Opensearch_ItemsPerPageElement = pageController.GetOpensearch_ItemsPerPageElement();
            feed.Opensearch_StartIndexElement = pageController.GetOpensearch_StartIndexElement();
            feed.Opensearch_TotalResultsElement = pageController.GetOpensearch_TotalResultsElement();

            #endregion

            feed.Id = _context.SdataUri.ToString();

            string tmpValue;
            // ?includeUuid
            includeUuid = false;    // default value, but check for settings now
            if (_context.SdataUri.QueryArgs.TryGetValue("includeUuid", out tmpValue))
                includeUuid = System.Xml.XmlConvert.ToBoolean(tmpValue);

            ICorrelatedResSyncInfoStore correlatedResSyncStore = null;
            if (includeUuid)
                // get store to request the correlations
                correlatedResSyncStore = RequestReceiver.NorthwindAdapter.StoreLocator.GetCorrelatedResSyncStore(_context.SdataContext);

            //for (int index = startIndex; index < startIndex + count; index++)
            for (int pageIndex = pageController.StartIndex; pageIndex <= pageController.LastIndex; pageIndex++)
            {
                int zeroBasedIndex = pageIndex - 1;
                Identity identity = identities[zeroBasedIndex];
                SyncFeedEntry entry;
                if (_context.SdataUri.Precedence == null)
                {
                    entry = GetFeedEntry(identity.Id);
                }
                else
                {
                    entry = new SyncFeedEntry();
                }

                entry.Id = String.Format("{0}{1}('{2}')", _context.DatasetLink, _resourceKind.ToString(), identity.Id);

                entry.Title = String.Format("{0}: {1}", _resourceKind.ToString(), identity.Id);
                entry.Updated = DateTime.Now;

                // warning add links

                if (includeUuid)
                {
                    CorrelatedResSyncInfo[] infos = correlatedResSyncStore.GetByLocalId(_context.ResourceKind.ToString(), new string[] { identity.Id });
                    entry.Uuid = (infos.Length > 0) ? infos[0].ResSyncInfo.Uuid : Guid.Empty;
                }

                if (entry != null)
                    feed.Entries.Add(entry);
            }

            return feed;
        }
示例#22
0
        public override SyncFeed GetFeed()
        {
            bool   includeUuid;
            string whereClause = string.Empty;

            OleDbParameter[] oleDbParameters = null;

            if (this is IEntityQueryWrapper)
            {
                QueryFilterBuilder queryFilterBuilder = new QueryFilterBuilder((IEntityQueryWrapper)this);

                queryFilterBuilder.BuildSqlStatement(_context, out whereClause, out oleDbParameters);
            }

            SyncFeed feed = new SyncFeed();

            feed.Title = _resourceKind.ToString() + ": " + DateTime.Now.ToString();

            Token emptyToken = new Token();


            List <Identity> identities = new List <Identity>();

            if (String.IsNullOrEmpty(_context.ResourceKey))
            {
                identities = _entity.GetAll(_context.Config, whereClause, oleDbParameters);
            }
            else
            {
                identities.Add(GetIdentity(_context.ResourceKey));
            }


            int totalResult = identities.Count;

            #region PAGING & OPENSEARCH

            /* PAGING */
            feed.Links = FeedMetadataHelpers.CreatePageFeedLinks(_context, totalResult, FeedMetadataHelpers.RequestKeywordType.none);

            /* OPENSEARCH */
            PageController pageController = FeedMetadataHelpers.GetPageLinkBuilder(_context, totalResult, FeedMetadataHelpers.RequestKeywordType.none);

            feed.Opensearch_ItemsPerPageElement = pageController.GetOpensearch_ItemsPerPageElement();
            feed.Opensearch_StartIndexElement   = pageController.GetOpensearch_StartIndexElement();
            feed.Opensearch_TotalResultsElement = pageController.GetOpensearch_TotalResultsElement();

            #endregion

            feed.Id = _context.SdataUri.ToString();

            string tmpValue;
            // ?includeUuid
            includeUuid = false;    // default value, but check for settings now
            if (_context.SdataUri.QueryArgs.TryGetValue("includeUuid", out tmpValue))
            {
                includeUuid = System.Xml.XmlConvert.ToBoolean(tmpValue);
            }

            ICorrelatedResSyncInfoStore correlatedResSyncStore = null;
            if (includeUuid)
            {
                // get store to request the correlations
                correlatedResSyncStore = RequestReceiver.NorthwindAdapter.StoreLocator.GetCorrelatedResSyncStore(_context.SdataContext);
            }

            for (int pageIndex = pageController.StartIndex; pageIndex <= pageController.LastIndex; pageIndex++)
            {
                int           zeroBasedIndex = pageIndex - 1;
                Identity      identity       = identities[zeroBasedIndex];
                SyncFeedEntry entry;
                if (_context.SdataUri.Precedence == null)
                {
                    entry = GetFeedEntry(identity.Id);
                }
                else
                {
                    entry = new SyncFeedEntry();
                }

                entry.Id = String.Format("{0}{1}('{2}')", _context.DatasetLink, _resourceKind.ToString(), identity.Id);

                entry.Title   = String.Format("{0}: {1}", _resourceKind.ToString(), identity.Id);
                entry.Updated = DateTime.Now;

                // warning add links

                if (includeUuid)
                {
                    CorrelatedResSyncInfo[] infos = correlatedResSyncStore.GetByLocalId(_context.ResourceKind.ToString(), new string[] { identity.Id });
                    entry.Uuid = (infos.Length > 0) ? infos[0].ResSyncInfo.Uuid : Guid.Empty;
                }

                if (entry != null)
                {
                    feed.Entries.Add(entry);
                }
            }

            return(feed);
        }