public static async Task Run([TimerTrigger("0 */5 * * * *")] TimerInfo myTimer, TraceWriter log) { using (BotService.Initialize()) { var subscriptionFacade = new SubscriptionFacade(); var reportsFacade = new ReportsFacade(); var unavailableDevices = await reportsFacade.GetUnavailableDeviceReports(); var subscriptions = (await subscriptionFacade.GetAllSubscriptions()).ToArray(); foreach (var subscription in subscriptions.Where(t => t.LastActivity != null && DateTime.UtcNow.Subtract(t.LastActivity.Created) > TimeSpan.FromDays(1))) { var connector = new ConnectorClient(new Uri(subscription.ServiceUrl), Environment.GetEnvironmentVariable("MicrosoftAppId"), Environment.GetEnvironmentVariable("MicrosoftAppPassword")); await connector.Conversations.DeleteActivityAsync(subscription.LastActivity.ConversationId, subscription.LastActivity.ActitityId); subscription.LastActivity = null; await subscriptionFacade.UpdateBotSubscription(subscription); } foreach (var deviceGroup in unavailableDevices.GroupBy(t => t.Group)) { var message = new DeviceStatusMessage(deviceGroup.ToList()); var recipients = subscriptions.Where(t => t.GroupName == deviceGroup.Key); await message.SendMessageToChannel("Found unavailable devices!", recipients); } } }
public IEnumerable <CustomerNote> GetActveUserGuides() { Log.Information("Executing GetActveUserGuides..."); SubscriptionFacade facade = new SubscriptionFacade(); var subs = facade.ActiveUserGuideFacade(); var results = subs.Result.ToList(); return(results.AsEnumerable()); }
protected void BtnAddSubscriptions_Click(object sender, EventArgs e) { List <Subscription> selectedSubscriptions = new List <Subscription>(); //Iterate over each row in the gridview control foreach (GridViewRow currentRow in GvNewSubscriptions.Rows) { //Get a handle to the checkbox control in the current row CheckBox cbxSubscribe = (CheckBox)currentRow.FindControl("cbxSubscribe"); //If it is checked if (cbxSubscribe.Checked) { //Create a new subscription object Subscription subscriptionDto = new Subscription(); //Populate the articleId subscriptionDto.ArticleId = (Int32)GvNewSubscriptions.DataKeys[currentRow.RowIndex].Value; subscriptionDto.VolumeIssueId = Convert.ToInt32(ddlIssues.SelectedValue); subscriptionDto.UserId = Convert.ToInt32(_UserIdParam); //TextBox tbDateEffective = (TextBox)currentRow.FindControl("tbDateEffective"); //TextBox tbDateExpiration = (TextBox)currentRow.FindControl("tbDateExpiration"); CheckBox cbxActive = (CheckBox)currentRow.FindControl("cbxActive"); subscriptionDto.EffectiveDate = DateTime.Parse(tbDateEffective.Text); subscriptionDto.ExpirationDate = DateTime.Parse(tbDateExpiration.Text); subscriptionDto.IsActive = (Boolean)cbxActive.Checked; subscriptionDto.CreationUserId = UserInfo.UserDto.UserId; //add it to list selectedSubscriptions.Add(subscriptionDto); } } SubscriptionFacade facade = new SubscriptionFacade(BusinessFacadeBehavior.TRANSACTIONAL); ActionStatus status = facade.AddSubscriptions(selectedSubscriptions); //If subscription added successfully then reload available and existing //subscriptions if (status.IsSuccessful) { LoadAvailableSubscriptions(); LoadExistingSubscriptions(); } LblStatus.Text = GetFormattedMessages(status); }
private void LoadExistingSubscriptions() { SubscriptionFacade facade = new SubscriptionFacade(); Subscription subscriptionDto = new Subscription(); subscriptionDto.UserId = Convert.ToInt32(_UserIdParam); GvExistingSubscriptions.DataSource = facade.GetUserSubscriptions(subscriptionDto); GvExistingSubscriptions.DataBind(); }
private async Task <string> ListSubscriptions(string messageChannelId) { var subscriptionFacade = new SubscriptionFacade(); var sb = new StringBuilder(); foreach (var subscription in await subscriptionFacade.GetAllSubscriptionsWithChannelId(messageChannelId)) { sb.AppendLine($"{subscription.GroupName}"); } return(sb.ToString()); }
protected async Task RegisterSubscription(IMessageActivity message, string groupName) { var subscriptionFacade = new SubscriptionFacade(); var botSubscription = new BotSubscription() { ChannelId = message.ChannelData.channel.id, TeamId = message.ChannelData.team.id, TenantId = message.ChannelData.tenant.id, ServiceUrl = message.ServiceUrl, GroupName = groupName }; await subscriptionFacade.RegisterBotSubscription(botSubscription); }
public async Task SendMessageToChannel(string title, BotSubscription subscription) { var subscriptionFacade = new SubscriptionFacade(); var channelData = new TeamsChannelData { Channel = new ChannelInfo(subscription.ChannelId), Team = new TeamInfo(subscription.TeamId), Tenant = new TenantInfo(subscription.TenantId) }; var newMessageText = await Build(); var newMessage = new Activity { Type = ActivityTypes.Message, Text = newMessageText.FixNewLines(), }; var conversationParams = new ConversationParameters( isGroup: true, bot: null, members: null, topicName: title, activity: (Activity)newMessage, channelData: channelData); var connector = new ConnectorClient(new Uri(subscription.ServiceUrl), Environment.GetEnvironmentVariable("MicrosoftAppId"), Environment.GetEnvironmentVariable("MicrosoftAppPassword")); MicrosoftAppCredentials.TrustServiceUrl(subscription.ServiceUrl, DateTime.MaxValue); if (subscription.LastActivity == null) { var result = await connector.Conversations.CreateConversationAsync(conversationParams); subscription.LastActivity = new LastActivity { ConversationId = result.Id, ActitityId = result.ActivityId }; } else { var result = await connector.Conversations.UpdateActivityAsync(subscription.LastActivity.ConversationId, subscription.LastActivity.ActitityId, newMessage); subscription.LastActivity.ActitityId = result.Id; } await subscriptionFacade.UpdateBotSubscription(subscription); }
protected void GvExistingSubscriptions_RowUpdating(object sender, GridViewUpdateEventArgs e) { TextBox tbEffectiveDate = GvExistingSubscriptions.Rows[e.RowIndex].Cells[7].Controls[0] as TextBox; TextBox tbExpirationDate = GvExistingSubscriptions.Rows[e.RowIndex].Cells[8].Controls[0] as TextBox; CheckBox cbxActive = GvExistingSubscriptions.Rows[e.RowIndex].Cells[9].Controls[0] as CheckBox; if (null != tbEffectiveDate && null != tbExpirationDate && null != cbxActive) { //Init subscription object DataTransferObjects.Subscription subscriptionDto = new DataTransferObjects.Subscription(); //Init facade SubscriptionFacade facade = new SubscriptionFacade(BusinessFacadeBehavior.TRANSACTIONAL); //populate subscription object subscriptionDto.SubscriptionId = Convert.ToInt32(GvExistingSubscriptions.DataKeys[e.RowIndex]["SubscriptionId"]); subscriptionDto.UserId = Convert.ToInt32(_UserIdParam); subscriptionDto.VolumeIssueId = Convert.ToInt32(GvExistingSubscriptions.DataKeys[e.RowIndex]["VolumeIssueId"]); subscriptionDto.ArticleId = Convert.ToInt32(GvExistingSubscriptions.DataKeys[e.RowIndex]["ArticleId"]); subscriptionDto.EffectiveDate = DateTime.Parse(tbEffectiveDate.Text); subscriptionDto.ExpirationDate = DateTime.Parse(tbExpirationDate.Text); subscriptionDto.IsActive = cbxActive.Checked; subscriptionDto.UpdateUserId = UserInfo.UserDto.UserId; ActionStatus status = facade.UpdateSubscription(subscriptionDto); if (status.IsSuccessful) { GvExistingSubscriptions.EditIndex = -1; LoadExistingSubscriptions(); } LblStatus.Text = GetFormattedMessages(status); } }
private void LoadAvailableSubscriptions() { if (ddlVolumes.SelectedIndex > 0 && ddlIssues.SelectedIndex > 0) { Subscription subscriptionDto = new Subscription(); subscriptionDto.VolumeIssueId = Convert.ToInt32(ddlIssues.SelectedValue); subscriptionDto.UserId = Convert.ToInt32(_UserIdParam); SubscriptionFacade facade = new SubscriptionFacade(); GvNewSubscriptions.DataSource = facade.GetUserAvailableSubscriptions(subscriptionDto); GvNewSubscriptions.DataBind(); } }
protected void GvExistingSubscriptions_RowDeleting(object sender, GridViewDeleteEventArgs e) { Subscription subscriptionDto = new Subscription(); subscriptionDto.SubscriptionId = Convert.ToInt32(GvExistingSubscriptions.DataKeys[e.RowIndex].Value); SubscriptionFacade subscriptionFacade = new SubscriptionFacade(BusinessFacadeBehavior.TRANSACTIONAL); ActionStatus status = subscriptionFacade.DeleteSubscription(subscriptionDto); if (status.IsSuccessful) { LoadExistingSubscriptions(); LoadAvailableSubscriptions(); } LblStatus.Text = GetFormattedMessages(status); }
//public IActionResult Error() //{ // return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); //} public PartialViewResult Test() { _logger.LogInformation("\n#### Using AppLogger Warning####\n"); ViewData["Message"] = "Test Ajax"; ServiceLocatorTool serviceLocator = new ServiceLocatorTool(); SubscriptionFacade facade = new SubscriptionFacade(); var subs = facade.SubscriptionFacade1(); var res = PartialView(new HomePageViewModel { Test1 = "Acc No.:-" + subs.Result[0].parentAccountNo.ToString(), Test2 = "Test 2" }); return(res); //catch (Exception ex) //{ // var result = PartialView(new ErrorViewModel { RequestId = "RequestId" + ex.StackTrace.ToString()}); // return result; //} }
public IEnumerable <Subscription> GetSubscriptions() { Log.Error("Executing GetSubscription.."); Log.Warning("THIS IS A WARNING FROM MY CODE..."); try { var i = 10; i = i / 0; } catch (Exception ex) { Log.Fatal(ex.Message); } ServiceLocatorTool serviceLocator = new ServiceLocatorTool(); // SubscriptionFacade facade = new SubscriptionFacade(serviceLocator.ObjServiceLocator); SubscriptionFacade facade = new SubscriptionFacade(); var subs = facade.SubscriptionFacade1(); var results = subs.Result.ToList(); return(results.AsEnumerable()); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var subscriptionInfo = new DaSubscriptionInfo() { Email = model.Email, UserName = model.Email, TenantType = DaTenantType.Organization, OrganizationName = model.CompanyName, SubscriptionPlanId = (int)model.SubscriptionPlanId, BillingCycleId = (int)model.BillingCycleId, Address1 = model.Address, State = model.State, ZipCode = model.ZipCode }; // Examples of how to use attributes with arbitary keys and values. subscriptionInfo.UserProfileAttributes.Add("Avatar", "Images/Photo.jpg"); subscriptionInfo.OrganizationProfileAttributes.Add("Logo", "Images/Logo.jpg"); subscriptionInfo.SubscriptionAttributes.Add("Code", "65372"); subscriptionInfo.SubscriptionAttributes.Add("PlatformID", "HLHHIJJ214"); var result = await SubscriptionFacade.SubscribeAsync(subscriptionInfo, model.Password); if (result.Succeeded) { return(RedirectToAction("Login", "Account")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public Intialization() { var configPath = Path.Join(Directory.GetCurrentDirectory(), "configs.json"); configContent = new JsonFileContent(configPath); consumer = new Consumer( configContent.Value("RabbitUrl").ToString(), configContent.Value("RabbitLogin").ToString(), configContent.Value("RabbitPassword").ToString() ); publisher = new Publisher( configContent.Value("RabbitUrl").ToString(), configContent.Value("RabbitLogin").ToString(), configContent.Value("RabbitPassword").ToString() ); connection = new MySqlDatabaseConnection( configContent.Value("MySqlServer").ToString(), configContent.Value("MySqlDatabase").ToString(), configContent.Value("MySqlLogin").ToString(), configContent.Value("MySqlPassword").ToString() ); databaseClient = new MySqlDatabaseClient(connection); facade = new SubscriptionFacade("configs.json", consumer, publisher, databaseClient); }
protected void BtnRemoveAllSubscriptions_Click(object sender, EventArgs e) { ActionStatus status = null; if (GvExistingSubscriptions.Rows.Count > 0) { List <dto.Subscription> subscriptionsToDelete = new List <dto.Subscription>(); //Iterate over each row in the gridview control foreach (GridViewRow currentRow in GvExistingSubscriptions.Rows) { //Create a new subscription object dto.Subscription subscriptionDto = new dto.Subscription(); //Populate the subscriptionId subscriptionDto.SubscriptionId = Convert.ToInt32(GvExistingSubscriptions.DataKeys[currentRow.RowIndex]["SubscriptionId"]); subscriptionsToDelete.Add(subscriptionDto); } SubscriptionFacade facade = new SubscriptionFacade(BusinessFacadeBehavior.TRANSACTIONAL); status = facade.DeleteSubscriptions(subscriptionsToDelete); LoadExistingSubscriptions(); } else { status = new ActionStatus(); status.Messages.Add(new ActionMessage("No subscriptions available to delete.")); } LblStatus.Text = GetFormattedMessages(status); }
private async Task UnregisterSubscription(IMessageActivity message, string group) { var subscriptionFacade = new SubscriptionFacade(); string teamId = message.ChannelData.team.id; await subscriptionFacade.UnregisterBotSubscription(teamId, group); }