public ISubscriptionGen AddSubscription(ISubscriptionKeyGen subscriptionRequest, out bool wasAdded) { if (subscriptionRequest.HasBeenUsed) { throw new ApplicationException("Its alread been used."); } SubscriberCollection sc = GetSubscriptions((SimpleExKey)subscriptionRequest.SourcePropRef); bool internalWasAdded = false; ISubscriptionGen result = sc.GetOrAdd ( subscriptionRequest, ( x => subscriptionRequest.CreateSubscription() ) ); if (subscriptionRequest.HasBeenUsed) { System.Diagnostics.Debug.WriteLine($"Created a new Subscription for Property:" + $" {subscriptionRequest.SourcePropRef} / Event: {result.SubscriptionKind}."); } else { System.Diagnostics.Debug.WriteLine($"The subscription for for Property:" + $" {subscriptionRequest.SourcePropRef} / Event: {result.SubscriptionKind} was not added."); } wasAdded = internalWasAdded; return(result); }
public bool RemoveSubscription(ISubscriptionKeyGen subscriptionRequest) { SubscriberCollection sc = GetSubscriptions(subscriptionRequest.SourcePropRef); bool result = sc.RemoveSubscription(subscriptionRequest); if (result) { System.Diagnostics.Debug.WriteLine($"Removed the subscription for {subscriptionRequest.SourcePropRef}."); } return(result); }
public SubscriberCollection GetSubscriptions(ExKeyType exKey) { CollectionOfSubscriberCollections propIndex = GetPropIndexForObject(exKey.Level1Key, out bool propIndexWasCreated); if (propIndexWasCreated) { System.Diagnostics.Debug.WriteLine($"Created a new CollectionOfSubscriberCollections for {exKey}."); } SubscriberCollection result = propIndex.GetOrCreate(exKey.Level2Key, out bool subcriberListWasCreated); if (subcriberListWasCreated) { System.Diagnostics.Debug.WriteLine($"Created a new SubscriberCollection for {exKey}."); } return(result); }
public ServiceBus(MessageMap messageMap, IMessageBucket bucket) { this.messageMap = messageMap; this.bucket = bucket; subscribers = new SubscriberCollection(); }
public EventService(List <EventSubscriber> subscribers, List <EventCollector> collectors) { _allSubscribers = new SubscriberCollection(subscribers, collectors); }
public void Search_Subscriber_When_Billing_Throws_Exception() { using (ShimsContext.Create()) { //Arrange var myContext = new SIMPLTestContext(); var fakeUserDto = myContext.GetFakeUserDtoObject(); ShimCurrentUser.AsUserDto = () => fakeUserDto; //search criteria var subscriberSearchViewModel = new SubscriberSearchViewModel { SubscriberID = "370001704986" }; var expectedSearchResults = new List<SubscriberSearchResult>(); var record = new SubscriberSearchResult { ID = "TESTSUBID", ExistsInBilling = false, ExistsInProvisioning = true, Phone = "999-999-9999", Name = "ProvisioningTestFirstNameLast", LocationID = "9999999", AddressLine1 = "123FakeSt.", AddressLine2 = "Apt2", CityName = "FakeCity", StateName = "WA", ZipCode = "99999", DataSource = SubscriberEnums.SubscriberDataSource.Provisioning, Environment = "" }; expectedSearchResults.Add(record); var expectedResult = new { status = "error", isModal = false, searchResults = new List<SubscriberSearchResult>(), provisioned = false }.ToJSON(); var fakeSubscriberList = new SubscriberCollection() { myContext.GetFakeRosettianSubscriber("TESTSUBID", "ProvisioningTestFirstName", "Last", "9999999999", myContext.GetFakeRosettianCustomField(), myContext.GetFakeRosettianAccountObject(), myContext.GetFakeRosettianLocationObject()) }; ShimErrorLoggingService.AllInstances.LogErrorNoContextException = delegate { }; //Search Subscriber from provisioning ShimProvisioningServiceClient.AllInstances.SearchSubscribersSearchFieldsUser = delegate { return fakeSubscriberList; }; //Search Subscriber from billing ShimBillingServiceClient.AllInstances.SearchSubscriberBillingSearchFieldsUser = delegate { throw new Exception(); }; var searchController = DependencyResolver.Current.GetService<SearchController>(); var actionResult = searchController.SearchCompositeSubscribers(subscriberSearchViewModel) as JsonResult; Assert.IsNotNull(actionResult, "SearchSubscribers returned null"); var actualJsonResult = actionResult.Data.ToJSON().Replace(" ", ""); Assert.AreEqual(expectedResult, actualJsonResult); } }
public void Search_Subscriber_Exists_Only_In_Provisioning_Using_TN_provisining_results_are_returned() { using (ShimsContext.Create()) { //Arrange var myContext = new SIMPLTestContext(); ShimCurrentUser.AsUserDto = new SIMPLTestContext().GetFakeUserDtoObject; var subscriberId = "TESTSUBID"; //search criteria var subscriberSearchViewModel = new SubscriberSearchViewModel { PhoneNumber = "999999999", State = "CT", ProvisionedSearch = true }; //expected search results var expectedSearchResults = new[] { new { ID = subscriberId, ExistsInBilling = false, ExistsInProvisioning = true, Phone = "999-999-9999", Name = "jesse", LocationID = "9999999", AddressLine1 = subscriberSearchViewModel.Address1, AddressLine2 = subscriberSearchViewModel.Address2, CityName = subscriberSearchViewModel.City, StateName = (string)null, ZipCode = subscriberSearchViewModel.Zip, DataSource=1, Environment = "", Status = 0 } }; var expectedResult = new { status = "partialsuccessprovisioning", isModal = false, searchResults = expectedSearchResults, provisioned = true }.ToJSON(); var fakeSubscriberList = new SubscriberCollection() { myContext.GetFakeRosettianSubscriber(subscriberId, "jesse", "", "9999999999", myContext.GetFakeRosettianCustomField(), myContext.GetFakeRosettianAccountObject()) }; //Search Subscriber from Triad ShimProvisioningServiceClient.AllInstances.SearchSubscribersSearchFieldsUser = delegate { return fakeSubscriberList; }; //Search Subscriber from Dpi ShimBillingServiceClient.AllInstances.SearchSubscriberBillingSearchFieldsUser = delegate { return new BillingSearchSubscriberResponse(); }; var actionResult = SearchControllerForTests.SearchCompositeSubscribers(subscriberSearchViewModel) as JsonResult; Assert.IsNotNull(actionResult, "SearchSubscribers returned null"); var actualJsonResult = actionResult.Data.ToJSON().Replace(" ", ""); Assert.AreEqual(expectedResult, actualJsonResult); } }
public void Search_Subscriber_Exists_Only_In_Provisioning_Using_Name_And_State_and_provisioning_results_are_returned() { using (ShimsContext.Create()) { //Arrange var myContext = new SIMPLTestContext(); ShimCurrentUser.AsUserDto = new SIMPLTestContext().GetFakeUserDtoObject; var subscriberid = "FakeSubscriberId"; //search criteria var subscriberSearchViewModel = new SubscriberSearchViewModel { Name = "Fake Name", State = "WA", ProvisionedSearch = true }; //expected search results - we remove spaces so that we can properly assert on the json string var expectedSearchResults = new List<SubscriberSearchResult>() { new SubscriberSearchResult { ID = subscriberid, ExistsInBilling = false, ExistsInProvisioning = true, Phone = "", Name = "FakeName", LocationID = "9999999", AddressLine1 = "123FakeSt.", AddressLine2 = "Apt2", StateName = "WA", ZipCode = "99999", CityName = "FakeCity", DataSource = SubscriberEnums.SubscriberDataSource.Provisioning, Environment = "" } }; var expectedResult = new { status = "partialsuccessprovisioning", isModal = false, searchResults = expectedSearchResults, provisioned = true }.ToJSON(); var fakeSubscriberList = new SubscriberCollection() { myContext.GetFakeRosettianSubscriber(subscriberid, "FakeName", "", "", myContext.GetFakeRosettianCustomField(), myContext.GetFakeRosettianAccountObject(), myContext.GetFakeRosettianLocationObject()) }; //Search Subscriber from Triad ShimProvisioningServiceClient.AllInstances.SearchSubscribersSearchFieldsUser = delegate { return fakeSubscriberList; }; //Search Subscriber from Dpi ShimBillingServiceClient.AllInstances.SearchSubscriberBillingSearchFieldsUser = delegate { return new BillingSearchSubscriberResponse(); }; var searchController = DependencyResolver.Current.GetService<SearchController>(); var actionResult = searchController.SearchCompositeSubscribers(subscriberSearchViewModel) as JsonResult; Assert.IsNotNull(actionResult, "SearchSubscribers returned null"); var actualJsonResult = actionResult.Data.ToJSON().Replace(" ", ""); Assert.AreEqual(expectedResult, actualJsonResult); } }