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(); }
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); }