Exemplo n.º 1
0
        private void btnLoad_Click(object sender, RoutedEventArgs e)
        {
            using (CustomerServiceClient serviceClient = new CustomerServiceClient())
            {
                serviceClient.Open();

                Customer customer = serviceClient.GetCustomer(int.Parse(this.txtId.Text));
                this.txtName.Text        = customer.Name;
                this.txtStartDate.Text   = customer.StartDate.ToShortDateString();
                this.txtCreditLimit.Text = customer.CreditLimit.ToString();
                this.imgLogo.Source      = ImageFromBuffer(customer.Logo);

                IExtensibleDataObject extendedCustomer = customer as IExtensibleDataObject;
                if (extendedCustomer != null)
                {
                    //ES - ordinarily the data signature is hidden from the client,
                    //and cannot be modified; access with reflection to display it:
                    object dataSiganture = ExtensionDataHelper.GetExtensionDataMemberValue(extendedCustomer, "dataSignature");
                    this.lblDataSignature.Content = string.Format("Data Signature: {0}", dataSiganture);
                }

                this.CurrentCustomer = customer;

                serviceClient.Close();
            }
        }
        // Token: 0x0600036E RID: 878 RVA: 0x0000D874 File Offset: 0x0000BA74
        protected void UpdateAppsLinks(NavBarData navBarData, AuthZClientInfo effectiveCaller)
        {
            string domain = string.Empty;

            if (navBarData.AppsLinks == null)
            {
                return;
            }
            if (effectiveCaller != null && !string.IsNullOrWhiteSpace(effectiveCaller.PrimarySmtpAddress))
            {
                SmtpAddress smtpAddress = new SmtpAddress(effectiveCaller.PrimarySmtpAddress);
                if (smtpAddress.IsValidAddress)
                {
                    domain = smtpAddress.Domain;
                }
            }
            string deploymentId        = ExtensionDataHelper.GetDeploymentId(domain);
            List <NavBarLinkData> list = new List <NavBarLinkData>(navBarData.AppsLinks.Length);

            NavBarLinkData[] appsLinks = navBarData.AppsLinks;
            int i = 0;

            while (i < appsLinks.Length)
            {
                NavBarLinkData navBarLinkData = appsLinks[i];
                if ("ShellMarketplace".Equals(navBarLinkData.Id, StringComparison.Ordinal))
                {
                    if (Globals.IsPreCheckinApp)
                    {
                        navBarLinkData.Url          = ExtensionData.GetClientExtensionMarketplaceUrl(this.culture.LCID, HttpContext.Current.Request, false, deploymentId, null);
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_169;
                    }
                    ExchangeRunspaceConfiguration exchangeRunspaceConfiguration = ExchangeRunspaceConfigurationCache.Singleton.Get(effectiveCaller, null, false);
                    if (exchangeRunspaceConfiguration.HasRoleOfType(RoleType.MyMarketplaceApps) && (string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["OfficeStoreUnavailable"]) || StringComparer.OrdinalIgnoreCase.Equals("false", ConfigurationManager.AppSettings["OfficeStoreUnavailable"])))
                    {
                        navBarLinkData.Url          = ExtensionData.GetClientExtensionMarketplaceUrl(this.culture.LCID, HttpContext.Current.Request, exchangeRunspaceConfiguration.HasRoleOfType(RoleType.MyReadWriteMailboxApps), deploymentId, null);
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_169;
                    }
                }
                else
                {
                    if ("ShellOfficeDotCom".Equals(navBarLinkData.Id, StringComparison.Ordinal))
                    {
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_169;
                    }
                    goto IL_169;
                }
IL_171:
                i++;
                continue;
IL_169:
                list.Add(navBarLinkData);
                goto IL_171;
            }
            navBarData.AppsLinks = list.ToArray();
        }
Exemplo n.º 3
0
        private Stream DownloadDataFromOfficeMarketPlace(string marketplaceAssetID, string marketplaceQueryMarket, string marketplaceServicesUrl, string etoken)
        {
            IConfigDataProvider currentDataSession = base.DataSession;

            return(this.DownloadDataFromUri(delegate()
            {
                SynchronousDownloadData synchronousDownloadData = new SynchronousDownloadData();
                string domain = ((OWAExtensionDataProvider)currentDataSession).MailboxSession.MailboxOwner.MailboxInfo.PrimarySmtpAddress.Domain;
                string deploymentId = ExtensionDataHelper.GetDeploymentId(domain);
                return synchronousDownloadData.Execute(marketplaceServicesUrl, marketplaceAssetID, marketplaceQueryMarket, deploymentId, etoken);
            }));
        }
        /// <summary>
        /// Uses the original formatter to serialize the response, then extracts the DataSignature
        /// (if available) and adds it to the message headers of the outgoing request
        /// </summary>
        /// <remarks>
        /// Extracts DataSignature from ExtensionDataObject using non-public members, so will fail
        /// if the internal representation of ExtensionDataObject is modified
        /// </remarks>
        /// <param name="messageVersion"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public Message SerializeRequest(MessageVersion messageVersion, object[] parameters)
        {
            //create the message using the standard formatter:
            Message request = this.OrginalFormatter.SerializeRequest(messageVersion, parameters);

            //if any parameters have a data signature, add the first found
            //as a header to the outgoing message:
            foreach (object parameter in parameters)
            {
                if (parameter is IExtensibleDataObject)
                {
                    object dataSignature = ExtensionDataHelper.GetExtensionDataMemberValue((IExtensibleDataObject)parameter, DataSignature.ExtensionDataMember.Name);
                    if (dataSignature != null)
                    {
                        request.Headers.Add(MessageHeader.CreateHeader(DataSignature.Header.Name, DataSignature.Header.Namespace, dataSignature));
                        break;
                    }
                }
            }

            return(request);
        }