private Uri GetPartnerHomePageUrl(string siteCollectionUrl, string queryStringParameterValue, Uri redirectUrl) { // If the querystring parameter equals 'home', then the user is redirected to it's home page. if (!string.IsNullOrEmpty(queryStringParameterValue) && !string.Equals(queryStringParameterValue, "home", StringComparison.OrdinalIgnoreCase)) { IBusinessEventTypeConfigurationRepository businessEventConfigRepository = SharePointServiceLocator.Current.GetInstance <IBusinessEventTypeConfigurationRepository>(); BusinessEventTypeConfiguration businessEventConfig = null; RunElevated(delegate { businessEventConfig = businessEventConfigRepository.GetBusinessEventTypeConfiguration(queryStringParameterValue); }); if (businessEventConfig != null) { using (SPSite site = new SPSite(siteCollectionUrl)) { using (SPWeb web = site.OpenWeb(businessEventConfig.TopLevelSiteRelativeUrl)) { if (web.Exists) { redirectUrl = new Uri(web.Url); } } } } } return(redirectUrl); }
public BusinessEventTypeConfiguration GetBusinessEventTypeConfiguration(string businessEvent) { BusinessEventTypeConfiguration configuration = new BusinessEventTypeConfiguration(); configuration.BusinessEventIdKey = "unittestkey"; configuration.SiteTemplate = "unittesttemplate"; configuration.TopLevelSiteRelativeUrl = "/unittest"; return(configuration); }
public void BusinessEventIdKeyTest() { BusinessEventTypeConfiguration target = new BusinessEventTypeConfiguration(); string expected = "test"; string actual; target.BusinessEventIdKey = expected; actual = target.BusinessEventIdKey; Assert.AreEqual(expected, actual); }
public void SiteTemplateTest() { BusinessEventTypeConfiguration target = new BusinessEventTypeConfiguration(); string expected = "test"; string actual; target.SiteTemplate = expected; actual = target.SiteTemplate; Assert.AreEqual(expected, actual); }
public void TopLevelSiteRelativeUrlTest() { BusinessEventTypeConfiguration target = new BusinessEventTypeConfiguration(); string expected = "test"; string actual; target.TopLevelSiteRelativeUrl = expected; actual = target.TopLevelSiteRelativeUrl; Assert.AreEqual(expected, actual); }
/// <summary> /// Executes the workflow activity. This will query the Business Event type configuration list through the /// <see cref="IBusinessEventTypeConfigurationRepository"/>. /// </summary> /// <param name="executionContext">The excecution context.</param> /// <returns>Returns the status after the workflow activity has run. </returns> protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { IBusinessEventTypeConfigurationRepository configurationRepository = SharePointServiceLocator.Current.GetInstance <IBusinessEventTypeConfigurationRepository>(); BusinessEventTypeConfiguration configuration = configurationRepository.GetBusinessEventTypeConfiguration(this.BusinessEventName); this.SiteTemplateName = configuration.SiteTemplate; this.TopLevelSiteRelativeUrl = configuration.TopLevelSiteRelativeUrl; this.BusinessEventIdKey = configuration.BusinessEventIdKey; return(ActivityExecutionStatus.Closed); }
public void GetBusinessEventTypeConfigurationTest() { MockConfigManager.ReturnValue = "http://localhost"; SharePointServiceLocator.ReplaceCurrentServiceLocator(new ActivatingServiceLocator().RegisterTypeMapping <IHierarchicalConfig, MockConfigManager>()); SPSite fakeSite = Isolate.Fake.Instance <SPSite>(Members.ReturnRecursiveFakes); Isolate.Swap.NextInstance <SPSite>().With(fakeSite); SPWeb fakeWeb = Isolate.Fake.Instance <SPWeb>(Members.ReturnRecursiveFakes); Isolate.WhenCalled(() => fakeSite.OpenWeb()).WillReturn(fakeWeb); Guid SiteTemplateFieldId = new Guid("84267e40-7f47-4f40-b3be-4004312eb467"); Guid BusinessEventIdKeyFieldId = new Guid("3D6B9777-FDA5-4639-9316-B39D3E060573"); Guid TopLevelSiteRelativeUrlFieldId = new Guid("E87A0DE5-29D7-461e-9C83-67C2D291B54C"); SPList fakeList = fakeWeb.Lists["Business Event Type Configuration"]; SPListItemCollection fakeItems = fakeList.GetItems(new SPQuery()); Isolate.WhenCalled(() => fakeItems.Count).WillReturn(1); var fakeItem = fakeItems[0]; Isolate.WhenCalled(() => fakeItem[SiteTemplateFieldId]).WithExactArguments().WillReturn("TESTSTP"); Isolate.WhenCalled(() => fakeItem[BusinessEventIdKeyFieldId]).WithExactArguments().WillReturn("TESTKEY"); Isolate.WhenCalled(() => fakeItem[TopLevelSiteRelativeUrlFieldId]).WithExactArguments().WillReturn("http://testurl"); SPFarmPropertyBag spFarmPropertyBag = Isolate.Fake.Instance <SPFarmPropertyBag>(); Isolate.Swap.NextInstance <SPFarmPropertyBag>().With(spFarmPropertyBag); string businessEvent = string.Empty; BusinessEventTypeConfiguration expected = new BusinessEventTypeConfiguration(); expected.BusinessEventIdKey = "TESTKEY"; expected.SiteTemplate = "TESTSTP"; expected.TopLevelSiteRelativeUrl = "http://testurl"; BusinessEventTypeConfigurationRepository target = new BusinessEventTypeConfigurationRepository(); BusinessEventTypeConfiguration actual; actual = target.GetBusinessEventTypeConfiguration(businessEvent); Assert.AreEqual(expected.BusinessEventIdKey, actual.BusinessEventIdKey); Assert.AreEqual(expected.SiteTemplate, actual.SiteTemplate); Assert.AreEqual(expected.TopLevelSiteRelativeUrl, actual.TopLevelSiteRelativeUrl); }