public EntityCollection RetrieveTimeZones() { var request = new GetAllTimeZonesWithDisplayNameRequest {LocaleId = 1033}; var response = (GetAllTimeZonesWithDisplayNameResponse) service.Execute(request); return response.EntityCollection; }
public async Task GetAllTimeZonesWithDisplayName_Deserialize_Correct() { const string jsonContent = @" { ""value"": [ { ""timezonecode"": 0, ""timezonedefinitionid"": ""30343341-5cdc-4def-a8ac-7d76187548d2"", ""versionnumber"": 743832113, ""userinterfacename"":""(GMT-12:00) International Date Line West"", ""bias"": 720 }, { ""timezonecode"": 1, ""timezonedefinitionid"": ""a6d443d7-e9a0-406e-86a2-853d65d17098"", ""versionnumber"": 743832117, ""userinterfacename"": ""(GMT+13:00) Samoa"", ""bias"": -780 }, { ""timezonecode"": 2, ""timezonedefinitionid"": ""fa16509c-06a9-4ef1-8cb1-883f812f74e1"", ""versionnumber"": 743832127, ""userinterfacename"": ""(GMT-10:00) Hawaii"", ""bias"": 600 } ] }"; var apiResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsonContent, System.Text.Encoding.UTF8, "application/json") }; var httpClient = new HttpClient(new MockedHttpMessageHandler(apiResponse)); var crmClient = FakeCrmWebApiClient.Create(httpClient); var apiRequest = new GetAllTimeZonesWithDisplayNameRequest(localeId: 1033); var result = await crmClient.ExecuteAsync(apiRequest); result.Entities.Should().HaveCount(3); result.Entities.First(x => x.GetAttributeValue <int>("timezonecode") == 0).Should().NotBeNull(); result.Entities.First(x => x.GetAttributeValue <int>("timezonecode") == 1).Should().NotBeNull(); result.Entities.First(x => x.GetAttributeValue <int>("timezonecode") == 2).Should().NotBeNull(); result.Entities.First(x => x.GetAttributeValue <int>("timezonecode") == 2) .GetAttributeValue <double>("bias") .Should().Be(600); result.Entities.First(x => x.GetAttributeValue <int>("timezonecode") == 2) .GetAttributeValue <string>("userinterfacename") .Should().Be("(GMT-10:00) Hawaii"); result.Entities.First(x => x.GetAttributeValue <int>("timezonecode") == 2) .GetAttributeValue <Guid>("timezonedefinitionid") .Should() .Be(Guid.Parse("fa16509c-06a9-4ef1-8cb1-883f812f74e1")); }
public EntityCollection RetrieveTimeZones() { var request = new GetAllTimeZonesWithDisplayNameRequest { LocaleId = 1033 }; var response = (GetAllTimeZonesWithDisplayNameResponse)service.Execute(request); return(response.EntityCollection); }
public void GetAllTimeZonesWithDisplayName_When_LocaleId_Present_Query_IsCorrect() { var crmRequest = new GetAllTimeZonesWithDisplayNameRequest(1033); var query = crmRequest.QueryString(); query.Should() .Be( "timezonedefinitions/Microsoft.Dynamics.CRM.GetAllTimeZonesWithDisplayName(LocaleId=@LocaleId)?@LocaleId=1033"); }
/// <summary> /// Retrieve all the time zone definitions for the specified locale and to return only the <c>Display Name</c> attribute. /// <para> /// For more information look at https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.getalltimezoneswithdisplaynamerequest(v=crm.8).aspx /// </para> /// </summary> /// <param name="localeId"> /// <see cref="LocaleId"/> info. /// For more information look at https://msdn.microsoft.com/en-us/library/ms912047(WinEmbedded.10).aspx /// </param> /// <returns> /// <see cref="EntityCollection"/> for <c>Timezone</c> data /// </returns> public EntityCollection GetAllTimezoneData(LocaleId localeId) { GetAllTimeZonesWithDisplayNameRequest request = new GetAllTimeZonesWithDisplayNameRequest() { LocaleId = (int)localeId }; var serviceResponse = (GetAllTimeZonesWithDisplayNameResponse)this.OrganizationService.Execute(request); return(serviceResponse.EntityCollection); }
public async Task GetAllTimeZonesWithDisplayName_When_LocaleId_Present_Query_IsCorrect() { Uri requestUri = null; var httpClient = new HttpClient(new MockedHttpMessageHandler((request) => { requestUri = request.RequestUri; return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.NoContent))); })); var crmRequest = new GetAllTimeZonesWithDisplayNameRequest(1033); var crmClient = FakeCrmWebApiClient.Create(httpClient); await crmClient.ExecuteAsync(crmRequest); // ^2 index from end requestUri.Segments[^ 2].Should().Be("timezonedefinitions/");
protected override void OnInit(EventArgs e) { base.OnInit(e); if (Items.Count > 0) { return; } var empty = new ListItem(string.Empty, string.Empty); empty.Attributes["label"] = " "; Items.Add(empty); var context = CrmConfigurationManager.CreateContext(ContextName); if (LanguageCode == 0) { var organization = context.CreateQuery("organization").FirstOrDefault(); if (organization == null) { ADXTrace.Instance.TraceError(TraceCategory.Application, "Failed to retrieve organization."); } else { LanguageCode = organization.GetAttributeValue <int?>("languagecode") ?? 0; } } if (LanguageCode == 0) { LanguageCode = 1033; } var request = new GetAllTimeZonesWithDisplayNameRequest { LocaleId = LanguageCode }; var response = (GetAllTimeZonesWithDisplayNameResponse)context.Execute(request); foreach (var timeZoneDefinition in response.EntityCollection.Entities.OrderBy(o => o.GetAttributeValue <string>("userinterfacename"))) { Items.Add(new ListItem(timeZoneDefinition.GetAttributeValue <string>("userinterfacename"), timeZoneDefinition.GetAttributeValue <int>("timezonecode").ToString(CultureInfo.InvariantCulture))); } }