private async void SendQueryRequest() { try { using (ISitecoreSSCSession session = this.instanceSettings.GetSession()) { var request = ItemSSCRequestBuilder.StoredQuerryRequest(queryTextField.Text) .PageNumber(0) .ItemsPerPage(100) .Build(); this.ShowLoader(); ScItemsResponse response = await session.RunStoredQuerryAsync(request); this.HideLoader(); if (response.ResultCount > 0) { this.ShowItemsList(response); } else { AlertHelper.ShowLocalizedAlertWithOkOption("Message", "No item found"); } } } catch (Exception e) { this.HideLoader(); AlertHelper.ShowLocalizedAlertWithOkOption("Error", e.Message); } }
public async Task <PageData> GeneratePageData(string itemid, PayloadType itemLoadType, List <ScopeType> itemScopeTypes, string datasourceFieldName, string itemLanguage = "en") { ScItemsResponse response = await GetItemById(itemid, itemLoadType, itemScopeTypes, itemLanguage); if (response == null) { return(null); } ISitecoreItem item = response.First(); if (item == null) { return(null); } PageData pageData = new PageData { PageName = item.DisplayName, ItemContext = response, NavigationTitle = item.GetValueFromField(Constants.Sitecore.Fields.Navigation.NavigationTitle), PageType = item.GetTemplateName(), DataSourceFromChildren = await GetDatasourceFromChildren(item), DataSourceFromField = await GetDataSourceFromFieldName(item, datasourceFieldName) }; return(pageData); }
public async void TestItemByPathRequestMutationDoesNotAffectSession() { string homePath = "/sitecore/content/home"; IQueryParameters payload = new QueryParameters(null); MockGetItemsByPathParameters mockMutableRequest = new MockGetItemsByPathParameters(); mockMutableRequest.ItemPath = homePath; mockMutableRequest.QueryParameters = payload; mockMutableRequest.ItemSource = this.itemSource; try { Task <ScItemsResponse> loadItemsTask = this.session.ReadItemAsync(mockMutableRequest); // await Task.Factory.StartNew(() => mockMutableRequest.ItemPath = this.env.Items.MediaLibrary.Path); ScItemsResponse response = await loadItemsTask; var item = response[0]; Assert.AreEqual(homePath.ToLowerInvariant(), item.Path.ToLowerInvariant()); } catch (LoadDataFromNetworkException) { //IDLE } finally { Assert.AreEqual(1, this.itemSource.CopyInvocationCount); Assert.AreEqual(1, mockMutableRequest.CopyInvocationCount); } }
public async void TestItemByIdRequestMutationDoesNotAffectSession() { string homeId = this.env.Items.Home.Id; IQueryParameters payload = new QueryParameters(null); MockGetItemsByIdParameters mockMutableRequest = new MockGetItemsByIdParameters(); mockMutableRequest.ItemId = homeId; mockMutableRequest.QueryParameters = payload; mockMutableRequest.ItemSource = this.itemSource; try { Task <ScItemsResponse> loadItemsTask = this.session.ReadItemAsync(mockMutableRequest); // await Task.Factory.StartNew(() => mockMutableRequest.ItemId = this.env.Items.MediaLibrary.Id); ScItemsResponse response = await loadItemsTask; var item = response[0]; Assert.AreEqual(homeId, item.Id.ToUpperInvariant()); } catch (LoadDataFromNetworkException) { //IDLE } catch (Exception ex) { Debug.WriteLine(ex.Message); } finally { Assert.AreEqual(1, this.itemSource.CopyInvocationCount); Assert.AreEqual(1, mockMutableRequest.CopyInvocationCount); } }
private async void SendRequest() { try { using (ISitecoreSSCSession session = this.instanceSettings.GetSession()) { this.ShowLoader(); var request = ItemSSCRequestBuilder.SitecoreSearchRequest(queryTextField.Text) .AddDescendingFieldsToSort("title") .AddAscendingFieldsToSort("title") .AddDescendingFieldsToSort("text") .Build(); ScItemsResponse response = await session.RunSearchAsync(request); this.HideLoader(); if (response.ResultCount > 0) { this.ShowItemsList(response); } else { AlertHelper.ShowLocalizedAlertWithOkOption("Message", "No items found"); } } } catch (Exception e) { this.HideLoader(); AlertHelper.ShowLocalizedAlertWithOkOption("Error", e.Message); } }
private async void SendRequest() { try { using (ISitecoreWebApiSession session = this.instanceSettings.GetSession()) { var builder = ItemWebApiRequestBuilder.ReadItemsRequestWithId(itemIdTextField.Text) .Payload(this.currentPayloadType) .AddFieldsToRead(this.fieldNameTextField.Text); if (this.parentScopeButton.Selected) { builder = builder.AddScope(ScopeType.Parent); } if (this.selfScopeButton.Selected) { builder = builder.AddScope(ScopeType.Self); } if (this.childrenScopeButton.Selected) { builder = builder.AddScope(ScopeType.Children); } var request = builder.Build(); this.ShowLoader(); ScItemsResponse response = await session.ReadItemAsync(request); if (response.Any()) { this.ShowItemsList(response); //items serialization test ScItem item = response[0] as ScItem; string json = JsonConvert.SerializeObject(item); ScItem restoredItem = JsonConvert.DeserializeObject <ScItem>(json); Console.WriteLine(restoredItem.DisplayName); } else { AlertHelper.ShowLocalizedAlertWithOkOption("Message", "Item is not exist"); } } } catch (Exception e) { this.CleanupTableViewBindings(); AlertHelper.ShowLocalizedAlertWithOkOption("Error", e.Message); } finally { BeginInvokeOnMainThread(delegate { this.HideLoader(); this.FieldsTableView.ReloadData(); }); } }
public void TestParseNullResponse() { ScItemsResponse response = ScItemsParser.Parse(null, "web", CancellationToken.None); Assert.NotNull(response); Assert.AreEqual(0, response.ResultCount); Assert.AreEqual(0, response.StatusCode); }
public async Task <ScItemsResponse> GetAllRegions() { string query = "/sitecore/content/Home//*[@@templatename='Region Item']"; ScItemsResponse response = await this.GetItemsByQyery(query); return(response); }
public static async Task <ScItemsResponse> GetAllCountries() { string query = "/sitecore/content/Home//*[@@templatename='Country Item']"; ScItemsResponse response = await NetworkHelper.GetItemsByQyery(query); return(response); }
private ISitecoreItem CheckCreatedItem(ScItemsResponse createResponse, TestEnvironment.Item expectedItem) { this.testData.AssertItemsCount(1, createResponse); ISitecoreItem resultItem = createResponse[0]; this.testData.AssertItemsAreEqual(expectedItem, resultItem); return(resultItem); }
public void TestParseResponseWithEmptyItems() { string rawResponse = "{\n \"statusCode\": 200,\n \"result\": {\n \"totalCount\": 0,\n \"resultCount\": 0,\n \"items\": []\n }\n}"; ScItemsResponse response = ScItemsParser.Parse(rawResponse, CancellationToken.None); Assert.AreEqual(0, response.TotalCount); Assert.AreEqual(0, response.ResultCount); Assert.AreEqual(0, response.ResultCount); }
private async void UploadRegions() { if (dataSource == null) { ScItemsResponse response = await NetworkHelper.GetAllRegions(); TableView.Source = dataSource = new DataSource(this, response); } TableView.ReloadData(); }
public async void GetCountriesForRegion(ISitecoreItem region) { if (dataSource == null) { ScItemsResponse response = await NetworkHelper.GetCountriesForRegion(region); TableView.Source = dataSource = new DataSource(this, response); } TableView.ReloadData(); }
public async void GetCitiesForCountry(ISitecoreItem country) { if (dataSource == null) { ScItemsResponse response = await NetworkHelper.GetCitiesForCountry(country); TableView.Source = dataSource = new DataSource(this, response); } TableView.ReloadData(); }
private async void SendRequest() { try { using (ISitecoreWebApiSession session = this.instanceSettings.GetSession()) { var builder = ItemWebApiRequestBuilder.ReadItemsRequestWithPath(this.ItemPathField.Text) .Payload(this.currentPayloadType) .AddFieldsToRead(this.fieldNameTextField.Text); if (this.parentScopeButton.Selected) { builder = builder.AddScope(ScopeType.Parent); } if (this.selfScopeButton.Selected) { builder = builder.AddScope(ScopeType.Self); } if (this.childrenScopeButton.Selected) { builder = builder.AddScope(ScopeType.Children); } var request = builder.Build(); this.ShowLoader(); ScItemsResponse response = await session.ReadItemAsync(request); if (response.Any()) { this.ShowItemsList(response); } else { AlertHelper.ShowLocalizedAlertWithOkOption("Message", "Item is not exist"); } } } catch (Exception e) { this.CleanupTableViewBindings(); AlertHelper.ShowLocalizedAlertWithOkOption("Error", e.Message); } finally { BeginInvokeOnMainThread(delegate { this.FieldsTableView.ReloadData(); this.HideLoader(); }); } }
public static async Task <ISitecoreItem> GetRegionNamed(string gerionTitle) { string query = "/sitecore/content/Home//*[@@templatename='Region Item' and contains(@Title, '" + gerionTitle + "')]"; ScItemsResponse response = await NetworkHelper.GetItemsByQyery(query); if (response == null || response.ResultCount == 0) { return(null); } return(response[0]); }
public static async Task <ScItemsResponse> GetCountriesForRegion(string regionTitle) { ISitecoreItem region = await NetworkHelper.GetRegionNamed(regionTitle); if (region == null) { return(null); } ScItemsResponse response = await NetworkHelper.GetCountriesForRegion(region); return(response); }
public void TestAll20XCodesAreValid() { string responseBegin = "{\"statusCode\":"; string responseEnd = ",\"result\":{\"totalCount\":0,\"resultCount\":0,\"items\":[]}}"; for (int i = 200; i < 300; ++i) { string rawResponse = responseBegin + i.ToString() + responseEnd; ScItemsResponse response = ScItemsParser.Parse(rawResponse, CancellationToken.None); Assert.AreEqual(0, response.ResultCount); } }
public static async Task <ScItemsResponse> GetCitiesForCountry(string countryTitle) { ISitecoreItem country = await NetworkHelper.GetCountryNamed(countryTitle); if (country == null) { return(null); } ScItemsResponse response = await NetworkHelper.GetCitiesForCountry(country); return(response); }
public async Task <ScItemsResponse> GetCitiesForCountry(string countryTitle) { ISitecoreItem country = await this.GetCountryNamed(countryTitle); if (country == null) { return(null); } ScItemsResponse response = await this.GetItemChildren(country); return(response); }
public async Task <ISitecoreItem> GetCityNamed(string cityTitle) { string query = "/sitecore/content/Home//*[@@templatename='City Item' and contains(@Title, '" + cityTitle + "')]"; ScItemsResponse response = await this.GetItemsByQyery(query); if (response == null || response.ResultCount == 0) { return(null); } return(response[0]); }
public async Task <ScItemsResponse> GetCountriesForRegion(string regionTitle) { ISitecoreItem region = await this.GetRegionNamed(regionTitle); if (region == null) { return(null); } ScItemsResponse response = await this.GetItemChildren(region); return(response); }
public async void TestOutOfRangeRequestReturnsEmptyDataset() { var request = ItemWebApiRequestBuilder.ReadItemsRequestWithPath(this.testData.Items.Home.Path) .AddScope(ScopeType.Children) .PageNumber(10) .ItemsPerPage(5) .Build(); ScItemsResponse response = await this.session.ReadItemAsync(request); Assert.IsNotNull(response); Assert.AreEqual(0, response.ResultCount); Assert.AreEqual(4, response.TotalCount); }
public async void TestGetPage2WithSize3ByItemIdWithChildrenScope() { var request = ItemWebApiRequestBuilder.ReadItemsRequestWithId(this.testData.Items.MediaImagesItem.Id) .AddScope(ScopeType.Children) .PageNumber(2) .ItemsPerPage(3) .Build(); ScItemsResponse response = await this.session.ReadItemAsync(request); Assert.IsNotNull(response); Assert.AreEqual(2, response.ResultCount); Assert.AreEqual(8, response.TotalCount); }
public async void TestGetPage0WithSize3ByQuery() { var request = ItemWebApiRequestBuilder.ReadItemsRequestWithSitecoreQuery("/sitecore/content/Home/*") .AddScope(ScopeType.Self) .PageNumber(0) .ItemsPerPage(3) .Build(); ScItemsResponse response = await this.session.ReadItemAsync(request); Assert.IsNotNull(response); Assert.AreEqual(3, response.ResultCount); Assert.AreEqual(4, response.TotalCount); }
public async Task <ScDeleteItemsListResponse> DeleteItemsAsync(IDeleteItemsBySitecoreQueryRequest deleteItemsBySitecoreQueryRequest, CancellationToken cancelToken = default(CancellationToken)) { var getItemsRequest = ExtendedSSCRequestBuilder.SitecoreQueryRequest(deleteItemsBySitecoreQueryRequest.sitecoreQuery) .Database(deleteItemsBySitecoreQueryRequest.Database) .Build(); ScItemsResponse getItemsResponse = await this.SearchBySitecoreQueryAsync(getItemsRequest, cancelToken); var deleteItemsRequest = ExtendedSSCRequestBuilder.DeleteItemsListRequest(getItemsResponse) .Database(deleteItemsBySitecoreQueryRequest.Database) .Build(); var deleteItemsResponse = await this.DeleteItemsAsync(deleteItemsRequest); return(deleteItemsResponse); }
private static void Main(string[] args) { using (var demoCredentials = new SecureStringPasswordProvider("admin", "b")) { string instanceUrl = "http://mobiledev1ua1.dk.sitecore.net:7220"; using ( var session = SitecoreWebApiSessionBuilder.AuthenticatedSessionWithHost(instanceUrl) .Credentials(demoCredentials) .Site("/sitecore/shell") .DefaultDatabase("web") .DefaultLanguage("en") .MediaLibraryRoot("/sitecore/media library") .MediaPrefix("~/media/") .DefaultMediaResourceExtension("ashx") .BuildReadonlySession() ) { var request = ItemWebApiRequestBuilder.ReadItemsRequestWithPath("/sitecore/content/home") .AddScope(ScopeType.Self) .Payload(PayloadType.Content) .Build(); var readHomeItemTask = session.ReadItemAsync(request); // @adk : cannot use "await" in main Task.WaitAll(readHomeItemTask); ScItemsResponse items = readHomeItemTask.Result; string fieldText = items[0]["Text"].RawValue; Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Clear(); Console.WriteLine("Home Item Text"); Console.WriteLine(); Console.WriteLine(fieldText); Console.ReadKey(); } } }
private async Task DeleteAllItems(string database) { var getItemsToDelet = ItemSSCRequestBuilder.ReadChildrenRequestWithId(this.testData.Items.CreateItemsHere.Id) .Database(database) .Build(); ScItemsResponse items = await this.noThrowCleanupSession.ReadChildrenAsync(getItemsToDelet); if (items != null && items.ResultCount > 0) { foreach (var item in items) { var deleteFromMaster = ItemSSCRequestBuilder.DeleteItemRequestWithId(item.Id) .Database(database) .Build(); await this.noThrowCleanupSession.DeleteItemAsync(deleteFromMaster); } } }
public void TestParseValidResponse() { string rawResponse = VALID_RESPONSE; ScItemsResponse response = ScItemsParser.Parse(rawResponse, "web", CancellationToken.None); Assert.AreEqual(1, response.ResultCount); ISitecoreItem item1 = response[0]; Assert.AreEqual("Home", item1.DisplayName); Assert.AreEqual("web", item1.Source.Database); Assert.AreEqual(true, item1.HasChildren); Assert.AreEqual("en", item1.Source.Language); Assert.AreEqual("110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9", item1.Id.ToUpperInvariant()); Assert.AreEqual("/sitecore/content/Home", item1.Path); Assert.AreEqual(1, item1.Source.VersionNumber); Assert.AreEqual(16, item1.FieldsCount); }
private async void SendRequest() { try { using (ISitecoreWebApiSession session = this.instanceSettings.GetSession()) { var request = ItemWebApiRequestBuilder.CreateItemRequestWithParentId(this.pathField.Text) .ItemTemplatePath("Sample/Sample Item") .ItemName(this.nameField.Text) .AddFieldsRawValuesByNameToSet("Title", titleField.Text) .AddFieldsRawValuesByNameToSet("Text", textField.Text) .Build(); this.ShowLoader(); ScItemsResponse response = await session.CreateItemAsync(request); if (response.Any()) { ISitecoreItem item = response[0]; this.CreatedItemId = item.Id; AlertHelper.ShowLocalizedAlertWithOkOption("The item created successfully", "Item path: " + item.Path); } else { AlertHelper.ShowLocalizedAlertWithOkOption("Message", "Item is not exist"); } } } catch (Exception e) { AlertHelper.ShowLocalizedAlertWithOkOption("Error", e.Message); } finally { BeginInvokeOnMainThread(delegate { this.HideLoader(); }); } }
public void AssertItemsCount(int itemCount, ScItemsResponse response) { Assert.AreEqual(itemCount, response.TotalCount); Assert.AreEqual(itemCount, response.ResultCount); }
private ISitecoreItem CheckCreatedItem(ScItemsResponse createResponse, TestEnvironment.Item expectedItem) { this.testData.AssertItemsCount(1, createResponse); ISitecoreItem resultItem = createResponse[0]; this.testData.AssertItemsAreEqual(expectedItem, resultItem); return resultItem; }