public IList <SubscriptionObject> GetSubscriptions([FromUri] string dataId = null) { log.Info("Incoming request to " + GetCurrentMethod()); if (!string.IsNullOrEmpty(dataId) && !FormatValidation.IsValidUvid(dataId)) { throw CreateHttpResponseException(HttpStatusCode.BadRequest, "Invalid UVID format"); } try { // Find all ACL objects for specified MessageID IEnumerable <VisSubscription> subList; if (string.IsNullOrEmpty(dataId)) { subList = _subscriptionService.Get(includeProperties: "SubscriberIdentity"); } else { subList = _subscriptionService.Get(s => s.MessageID == dataId, includeProperties: "SubscriberIdentity"); } // Create result list var response = new List <SubscriptionObject>(); if (subList != null) { foreach (var item in subList) { var subObj = new SubscriptionObject { EndpointURL = new Uri(item.CallbackEndpoint), IdentityId = item.SubscriberIdentity.UID, IdentityName = item.SubscriberIdentity.Name }; response.Add(subObj); } } SetLastInteractionTime(); _context.SaveChanges(); return(response); } catch (HttpResponseException ex) { log.Error(ex.Message, ex); throw; } catch (Exception ex) { log.Error(ex.Message, ex); string msg = "VIS internal server error. " + ex.Message; throw CreateHttpResponseException(HttpStatusCode.InternalServerError, msg); } }
/// <summary> /// /// </summary> /// <param name="subscription"></param> /// <param name="member"></param> /// <param name="embed"></param> /// <param name="description"></param> public NotificationItem(SubscriptionObject subscription, DiscordMember member, DiscordEmbed embed, string description, string city, PokemonData pokemon = null) { Subscription = subscription; Member = member; Embed = embed; Description = description; City = city; Pokemon = pokemon; }
public IList <SubscriptionObject> GetSubscriptions([FromUri] string dataId = null) { log.Info("Incoming request to " + GetCurrentMethod()); try { // Find all ACL objects for specified MessageID IEnumerable <SpisSubscription> subList; if (string.IsNullOrEmpty(dataId)) { subList = _SpisSubscriptionService.Get(includeProperties: "SubscriberIdentity"); } else { subList = _SpisSubscriptionService.Get(s => s.MessageID == dataId, includeProperties: "SubscriberIdentity"); } // Create result list var response = new List <SubscriptionObject>(); if (subList != null) { foreach (var item in subList) { var subObj = new SubscriptionObject { MbEndpointURL = new Uri(item.MbEndpoint), AmssEndpointURL = new Uri(item.AmssEndpoint), IdentityId = item.SubscriberIdentity.UID, IdentityName = item.SubscriberIdentity.Name }; response.Add(subObj); //_logEventService.LogSuccess(string.Format("Identity {0} found.", item.SubscriberIdentity.UID), InstanceContext.ServiceId, "STM Module", // dataId, EventCategory.Success); } } return(response); } catch (HttpResponseException ex) { log.Error(ex.Message, ex); throw; } catch (Exception ex) { log.Error(ex.Message, ex); string msg = "SPIS internal server error. " + ex.Message; //_logEventService.LogError(msg, InstanceContext.ServiceId, "STM Module", dataId, EventCategory.InternalError); throw CreateHttpResponseException(HttpStatusCode.InternalServerError, msg); } }
/// <summary> /// Saves the subscription to the database. /// </summary> /// <param name="subscription">Subscription to save.</param> public void Save(SubscriptionObject subscription) { if (!IsDbConnectionOpen()) { throw new Exception("Not connected to database."); } var conn = GetConnection(); conn.Save(subscription, true); }
private VisSubscription ConvertToEntity(SubscriptionObject subscriptionObject, string dataId) { var to = new VisSubscription(); to.MessageID = dataId; to.IsAuthorized = true; to.CallbackEndpoint = subscriptionObject.EndpointURL.ToString(); to.MessageType = _messageTypeService.Get(x => x.Name.ToLower() == "rtz").FirstOrDefault(); to.SubscriberIdentity = _identityService.Get(x => x.UID == subscriptionObject.IdentityId).FirstOrDefault(); return(to); }
private void btnCreate_Click(object sender, RoutedEventArgs e) { if (this.txtRN.Text.Trim().Length > 0 && (this.chbNet1.IsChecked.Value || this.chbNet2.IsChecked.Value || this.chbNet3.IsChecked.Value || this.chbNet4.IsChecked.Value) && this.lstUrls.Items.Count > 0) { SUB = new SubscriptionObject(); this.SUB.RN = this.txtRN.Text; List <string> lstNets = new List <string>(); if (this.chbNet1.IsChecked.Value) { lstNets.Add("1"); } if (this.chbNet2.IsChecked.Value) { lstNets.Add("2"); } if (this.chbNet3.IsChecked.Value) { lstNets.Add("3"); } if (this.chbNet4.IsChecked.Value) { lstNets.Add("4"); } this.SUB.NET = lstNets.ToArray(); List <string> lstNus = new List <string>(); for (int i = 0; i < this.lstUrls.Items.Count; i++) { lstNus.Add((this.lstUrls.Items[i] as ListBoxItem).Content.ToString()); } this.SUB.NU = lstNus.ToArray(); this.DialogResult = true; this.Close(); } else { MessageBox.Show("Please input the necessary information for Subscription", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public string GetUserIconStyle(SubscriptionObject user) { var styles = _whConfig.IconStyles; var keys = styles.Keys.ToList(); for (var i = 0; i < keys.Count; i++) { var key = keys[i]; if (string.Compare(key, user.IconStyle, true) == 0) { return(key); } } return("Default"); }
public async Task <IList <SubscriptionObject> > GetSubscriptions() { if (azureADAuthResult == null) { throw new Exception(Properties.Resources.AzureADAuthResult); } // Common subscription object to host subscriptions from RDFE & ARM IList <SubscriptionObject> subscriptionList = new List <SubscriptionObject>(); subscriptionCredentials = new Microsoft.Azure.TokenCloudCredentials(azureADAuthResult.AccessToken); subscriptionClient = new Microsoft.Azure.Subscriptions.SubscriptionClient(subscriptionCredentials, new Uri(Properties.Settings.Default.appIdURI)); var cancelToken = new CancellationToken(); var tenants = subscriptionClient.Tenants.ListAsync(cancelToken).Result; // Get subscriptions for each tenant foreach (var tenant in tenants.TenantIds) { try { AuthenticationResult tenantTokenCreds = AuthenticateHelper.RefreshTokenByAuthority(tenant.TenantId, Properties.Settings.Default.appIdURI); subscriptionCredentials = new Microsoft.Azure.TokenCloudCredentials(tenantTokenCreds.AccessToken); var tenantSubscriptionClient = new Microsoft.Azure.Subscriptions.SubscriptionClient(subscriptionCredentials, new Uri(Properties.Settings.Default.appIdURI)); var subscriptionListResults = tenantSubscriptionClient.Subscriptions.ListAsync(cancelToken).Result; foreach (var subscription in subscriptionListResults.Subscriptions) { var subList = new SubscriptionObject(); subList.Name = subscription.DisplayName; subList.SubscriptionId = subscription.SubscriptionId; subList.Authority = tenant.TenantId; subscriptionList.Add(subList); } } catch (Exception ex) { // ignored } } return(subscriptionList); }
public static string GetName(SubscriptionObject @object) { if (@object == SubscriptionObject.Default) { return("по умолчанию"); } if (@object == SubscriptionObject.ComponentType) { return("на тип компонента"); } if (@object == SubscriptionObject.Component) { return("на компонент"); } return("?"); }
public async Task <IList <SubscriptionObject> > GetSubscriptions() { if (azureADAuthResult == null) { throw new Exception(Properties.Resources.AzureADAuthResult); } // Common subscription object to host subscriptions from RDFE & ARM IList <SubscriptionObject> subscriptionList = new List <SubscriptionObject>(); subscriptionCredentials = new Microsoft.Azure.TokenCloudCredentials(azureADAuthResult.AccessToken); subscriptionClient = new Microsoft.Azure.Subscriptions.SubscriptionClient(subscriptionCredentials); var cancelToken = new CancellationToken(); Microsoft.Azure.Subscriptions.Models.SubscriptionListResult subscriptionResults = await subscriptionClient.Subscriptions.ListAsync(cancelToken); // Add any ARM subscriptions to the common subscription object foreach (var subscription in subscriptionResults.Subscriptions) { var subList = new SubscriptionObject(); subList.Name = subscription.DisplayName; subList.SubscriptionId = subscription.SubscriptionId; subList.Authority = "common"; subscriptionList.Add(subList); } // Add any RDFE subscriptions to the common subscription object IList <Microsoft.WindowsAzure.Subscriptions.Models.SubscriptionListOperationResponse.Subscription> RDFEsubscriptions = await GetRDFESubscriptions(); foreach (var subscription in RDFEsubscriptions) { // Only add subscriptions that are not already in the subscription list if (subscriptionList.Where(x => x.SubscriptionId == subscription.SubscriptionId).Count() == 0) { var subList = new SubscriptionObject(); subList.Name = subscription.SubscriptionName; subList.SubscriptionId = subscription.SubscriptionId; subList.Authority = subscription.ActiveDirectoryTenantId; subscriptionList.Add(subList); } } return(subscriptionList); }
public SubscriptionColumnData GetColumnData(SubscriptionObject subscriptionObject, SubscriptionChannel channel) { var column = new SubscriptionColumnData() { Channel = channel, SubscriptionObject = subscriptionObject }; // находим подписку var channelSubscriptions = AllSubscriptions.Where(x => x.Channel == channel).ToArray(); if (subscriptionObject == SubscriptionObject.Default) { column.Subscription = channelSubscriptions.SingleOrDefault(x => x.Object == SubscriptionObject.Default); column.Selected = column.Subscription != null && channelSubscriptions.Length == 1; // единственная подписка column.Title = "Подписка по умолчанию"; column.CreateUrl = $"/Subscriptions/Add?userId={User.Id}&object={subscriptionObject}&channel={channel}"; } else if (subscriptionObject == SubscriptionObject.ComponentType) { column.Subscription = channelSubscriptions.SingleOrDefault(x => x.Object == SubscriptionObject.ComponentType && x.ComponentTypeId == Component.ComponentTypeId); // если нет подписки на компонент column.Selected = column.Subscription != null && channelSubscriptions.FirstOrDefault(x => x.Object == SubscriptionObject.Component) == null; column.Title = "Подписка на тип компонента"; column.CreateUrl = $"/Subscriptions/Add?userId={User.Id}&object={subscriptionObject}&channel={channel}&componentTypeId={Component.ComponentTypeId}"; } else if (subscriptionObject == SubscriptionObject.Component) { column.Subscription = channelSubscriptions.SingleOrDefault(x => x.Object == SubscriptionObject.Component && x.ComponentId == Component.Id); column.Selected = column.Subscription != null; column.Title = "Подписка на компонент"; column.CreateUrl = $"/Subscriptions/Add?userId={User.Id}&object={subscriptionObject}&channel={channel}&componentId={Component.Id}"; } else { throw new Exception("Неизвестный тип подписки " + subscriptionObject); } return(column); }
public async Task<IList<SubscriptionObject>> GetSubscriptions() { if (azureADAuthResult == null) throw new Exception(Properties.Resources.AzureADAuthResult); // Common subscription object to host subscriptions from RDFE & ARM IList<SubscriptionObject> subscriptionList = new List<SubscriptionObject>(); subscriptionCredentials = new Microsoft.Azure.TokenCloudCredentials(azureADAuthResult.AccessToken); subscriptionClient = new Microsoft.Azure.Subscriptions.SubscriptionClient(subscriptionCredentials); var cancelToken = new CancellationToken(); Microsoft.Azure.Subscriptions.Models.SubscriptionListResult subscriptionResults = await subscriptionClient.Subscriptions.ListAsync(cancelToken); // Add any ARM subscriptions to the common subscription object foreach (var subscription in subscriptionResults.Subscriptions) { var subList = new SubscriptionObject(); subList.Name = subscription.DisplayName; subList.SubscriptionId = subscription.SubscriptionId; subList.Authority = "common"; subscriptionList.Add(subList); } // Add any RDFE subscriptions to the common subscription object IList<Microsoft.WindowsAzure.Subscriptions.Models.SubscriptionListOperationResponse.Subscription> RDFEsubscriptions = await GetRDFESubscriptions(); foreach (var subscription in RDFEsubscriptions) { // Only add subscriptions that are not already in the subscription list if (subscriptionList.Where(x => x.SubscriptionId == subscription.SubscriptionId).Count() == 0) { var subList = new SubscriptionObject(); subList.Name = subscription.SubscriptionName; subList.SubscriptionId = subscription.SubscriptionId; subList.Authority = subscription.ActiveDirectoryTenantId; subscriptionList.Add(subList); } } return subscriptionList; }
public SubscriptionsTableModel GetTable(SubscriptionObject obj) { var model = new SubscriptionsTableModel() { Object = obj, UserId = UserId }; var subscriptions = Subscriptions.Where(x => x.Object == obj).ToArray(); // подписки по умолчанию if (obj == SubscriptionObject.Default) { var emails = subscriptions.Where(x => x.Channel == SubscriptionChannel.Email).ToArray(); var sms = subscriptions.Where(x => x.Channel == SubscriptionChannel.Sms).ToArray(); var row = new SubscriptionsTableRowModel() { Email = new ShowSubscriptionCellModel() { Channel = SubscriptionChannel.Email, Object = SubscriptionObject.Default }, Sms = new ShowSubscriptionCellModel() { Channel = SubscriptionChannel.Sms, Object = SubscriptionObject.Default } }; row.Email.Subscription = emails.SingleOrDefault(x => x.Object == SubscriptionObject.Default); row.Sms.Subscription = sms.SingleOrDefault(x => x.Object == SubscriptionObject.Default); model.Rows = new[] { row }; } // подписки на тип компонента if (obj == SubscriptionObject.ComponentType) { var componentTypeGroups = subscriptions.GroupBy(x => x.ComponentTypeId).Select(x => new { ComponentType = x.First().ComponentType, Subscriptions = x.ToArray() }) .OrderBy(x => x.ComponentType.DisplayName) .ToArray(); var rows = new List <SubscriptionsTableRowModel>(); foreach (var componentTypeGroup in componentTypeGroups) { var row = new SubscriptionsTableRowModel() { Email = new ShowSubscriptionCellModel() { Channel = SubscriptionChannel.Email, Object = SubscriptionObject.ComponentType, ObjectId = componentTypeGroup.ComponentType.Id }, Sms = new ShowSubscriptionCellModel() { Channel = SubscriptionChannel.Sms, Object = SubscriptionObject.ComponentType, ObjectId = componentTypeGroup.ComponentType.Id } }; row.Email.Subscription = componentTypeGroup.Subscriptions.SingleOrDefault(x => x.Channel == SubscriptionChannel.Email); row.Sms.Subscription = componentTypeGroup.Subscriptions.SingleOrDefault(x => x.Channel == SubscriptionChannel.Sms); rows.Add(row); } model.Rows = rows.ToArray(); } // подписки на компонент if (obj == SubscriptionObject.Component) { var componentGroups = subscriptions.GroupBy(x => x.ComponentId).Select(x => new { Component = x.First().Component, FullName = ComponentHelper.GetComponentPathText(x.First().Component), Subscriptions = x.ToArray() }) .OrderBy(x => x.FullName) .ToArray(); var rows = new List <SubscriptionsTableRowModel>(); foreach (var componentGroup in componentGroups) { var row = new SubscriptionsTableRowModel() { Email = new ShowSubscriptionCellModel() { Channel = SubscriptionChannel.Email, Object = SubscriptionObject.Component, ObjectId = componentGroup.Component.Id }, Sms = new ShowSubscriptionCellModel() { Channel = SubscriptionChannel.Sms, Object = SubscriptionObject.Component, ObjectId = componentGroup.Component.Id } }; row.Email.Subscription = componentGroup.Subscriptions.SingleOrDefault(x => x.Channel == SubscriptionChannel.Email); row.Sms.Subscription = componentGroup.Subscriptions.SingleOrDefault(x => x.Channel == SubscriptionChannel.Sms); rows.Add(row); } model.Rows = rows.ToArray(); } // родительские связи foreach (var row in model.Rows) { row.Table = model; row.Email.Row = row; row.Sms.Row = row; } return(model); }
public static string GetEditTitle(SubscriptionObject @object) { return("Настройка подписки " + GetName(@object)); }
public static string GetAddTitle(SubscriptionObject @object) { return("Добавление подписки " + GetName(@object)); }