public void CallContextAlwaysReturnsClientUiCulture()
        {
            UmaConnCallContext cnt = new UmaConnCallContext();

            cnt.ClientUiCulture.Should().NotBeNull();
            cnt.ClientUiCulture.Name.Should().Be("en-US");
        }
        public void CallContextSetUiCultureIsPreserved()
        {
            UmaConnCallContext cnt = new UmaConnCallContext { ClientUiCulture = CultureInfo.GetCultureInfo("de-DE") };

            cnt.ClientUiCulture.Should().NotBeNull();
            cnt.ClientUiCulture.Name.Should().Be("de-DE");
            cnt.ClientCulture.Should().NotBeNull();
            cnt.ClientCulture.Name.Should().NotBe("de-DE");
        }
        public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
        {
            CurrentSessionContext.Bind(this.SessionFactory.OpenSession());

            // Saves all that can be passed via common header to call context for easier life on normal operation development.
            // This Context can be extended to contain User information, environment, claims (security) and other general values
            UmaConnCallContext wcfCallContext = new UmaConnCallContext();
            var header = request.Headers.GetHeader<UmaConnHeader>("UmaConnHeader", NS.ServiceNamespaceV1);
            if (header != null)
            {
                wcfCallContext.ClientCulture = CultureInfo.GetCultureInfo(header.ClientCulture);
                wcfCallContext.ClientUiCulture = CultureInfo.GetCultureInfo(header.ClientUiCulture);
            }

            // wcfCallContext = this.SetUserPersonIds(wcfCallContext);
            OperationContext.Current.Extensions.Add(wcfCallContext);

            return null;
        }