public ActionResult Settings() { SettingsVm sc = SettingsManager.Instance.LoadSettings(Db); string view = IsNxs ? "SettingsNXS" : "Settings"; return(View(view, sc)); }
public void LoggedInEvent(bool?_) { updateTimer.Elapsed -= UpdateConnectText; automation.ResetStatusTimers(); OnPropertyChanged("RecentChannels"); OnPropertyChanged("RecentCharacters"); SettingsVm.OnSettingsLoaded(); }
/// <summary> /// Navigates to the settings page, and performs an intra-navigation /// to the specified settings page. /// </summary> /// <param name="page">Page to navigate to.</param> public void NavigateToSettings(SettingsCategoryEnum page) { lock (_mainWindowLock) { RequireMainWindow(); CurrentPage = NavigationPageEnum.Settings; SettingsVm.Navigate(page); } }
// GET: Settings public async Task <IActionResult> Index() { var vm = new SettingsVm { Profile = await _userAccountManager.GetUserProfile(), NotificationSettings = await _userAccountManager.GetNotificationSettings(), IssueSettings = await _userAccountManager.GetIssueSettingsForUser() }; return(View(vm)); }
public void TestSettingsVm() { var settingsVm = new SettingsVm(new DatabaseServiceMock(), _resource); Assert.AreEqual(1, settingsVm.MenuItems.Count()); var firstGroup = settingsVm.MenuItems.FirstOrDefault(); // All groups have an empty title, so all settings are put inside the empty group Assert.AreEqual(4, firstGroup?.Count()); Assert.IsNotNull(settingsVm.SelectedItem); var selectedItem = (ListMenuItemVm)settingsVm.SelectedItem; Assert.AreEqual(typeof(SettingsNewDatabasePage), selectedItem.PageType); }
public SettingsWindow(SettingsVm settingsVm) { InitializeComponent(); DataContext = settingsVm; }
private static void SaveNotification(WfpictContext db, SettingsVm settings, Guid?campaignId, string orderNumber, string segmentNumber, DateTime?deployDate, string responseStatus, CampaignTracking campaignTracking) { if (!deployDate.HasValue) { return; } string message; int hoursPassed = DateTime.Now.Subtract(deployDate.Value).Hours; // QC Rule 1 if (responseStatus == ProDataResponseStatus.NotFound.ToString() && hoursPassed >= settings.NotStartedInXHoursValue) { //message = $"{hoursPassed}Hrs passed and not yet started. Max allowed time {settings.NotStartedInXHoursValue}Hrs"; message = $"Campaign started {deployDate.Value} as of {DateTime.Now}, Campaign has no traffic."; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotStartedInFirstXHours, message); } else // If Started { // QC Rule 10 if (campaignTracking.OpenedPercentage < 0.01 && hoursPassed > 0) // less than 1% and deploy date time passed { message = $"Number of Opens in last 24hrs, No Open Traffic in 24hrs."; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.OpenTrafficInLast1Day, message); } // QC Rule 10 if (campaignTracking.ClickedPercentage < 0.01 && hoursPassed > 0) // less than 1% and deploy date time passed { message = $"Number of Clicks in last 24hrs, No Click Traffic in 24hrs."; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.ClickTrafficInLast1Day, message); } } if (hoursPassed >= 24) { // QC Rule 2 if (campaignTracking.OpenedPercentage < (settings.NotHitOpenRateIn24HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Less than required value {settings.NotHitOpenRateIn24HoursValue}% in first 24hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitOpenRateIn1Day, message); } // QC Rule 4 if (campaignTracking.ClickedPercentage < (settings.NotHitClickRateIn24HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Less than required value {settings.NotHitClickRateIn24HoursValue}% in first 24hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitClickRateIn1Day, message); } // QC Rule 6 if (campaignTracking.OpenedPercentage > (settings.ExceededOpenRateIn24HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Greater than required value {settings.ExceededOpenRateIn24HoursValue}% in first 24hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.ExceededOpenRateIn24Hours, message); } // QC Rule 8 if (campaignTracking.ClickedPercentage > (settings.ExceededClickRateIn24HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Greater than required value {settings.ExceededClickRateIn24HoursValue}% in first 24hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.ExceededClickRateIn24Hours, message); } } else if (hoursPassed >= 72) { // QC Rule 3 if (campaignTracking.OpenedPercentage < (settings.NotHitOpenRateIn72HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Less than required value {settings.NotHitOpenRateIn72HoursValue}% in first 72hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitOpenRateIn3Days, message); } // QC Rule 5 if (campaignTracking.ClickedPercentage < (settings.NotHitClickRateIn72HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Less than required value {settings.NotHitClickRateIn72HoursValue}% in first 72hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitClickRateIn3Days, message); } // QC Rule 7 if (campaignTracking.OpenedPercentage > (settings.ExceededOpenRateIn72HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Greater than required value {settings.ExceededOpenRateIn72HoursValue}% in first 72hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.ExceededOpenRateIn72Hours, message); } // QC Rule 9 if (campaignTracking.ClickedPercentage > (settings.ExceededClickRateIn72HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Greater than required value {settings.ExceededClickRateIn72HoursValue}% in first 72hrs"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.ExceededClickRateIn72Hours, message); } } }
private static void SaveNotificationNXS(WfpictContext db, SettingsVm settings, Guid?campaignId, string orderNumber, string segmentNumber, DateTime?deployDate, string responseStatus, CampaignTracking campaignTracking) { if (!deployDate.HasValue) { return; } string message; int hoursPassed = (int)DateTime.Now.Subtract(deployDate.Value).TotalHours; // If Started if (hoursPassed < 96 && hoursPassed >= 72) // < 4 days { // QC Rule 3 if (campaignTracking.OpenedPercentage < (settings.NotHitOpenRateIn72HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Less than required value {settings.NotHitOpenRateIn72HoursValue}% in 3 days"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitOpenRateIn3Days, message); } // QC Rule 5 if (campaignTracking.ClickedPercentage < (settings.NotHitClickRateIn72HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Less than required value {settings.NotHitClickRateIn72HoursValue}% in 3 days"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitClickRateIn3Days, message); } return; } if (hoursPassed < 72 && hoursPassed >= 48) { // QC Rule 3 if (campaignTracking.OpenedPercentage < (settings.NotHitOpenRateIn48HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Less than required value {settings.NotHitOpenRateIn48HoursValue}% in 2 days"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitOpenRateIn2Days, message); } // QC Rule 5 if (campaignTracking.ClickedPercentage < (settings.NotHitClickRateIn48HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Less than required value {settings.NotHitClickRateIn48HoursValue}% in 2 days"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitClickRateIn2Days, message); } return; } if (hoursPassed < 48 && hoursPassed >= 24) { // QC Rule 2 if (campaignTracking.OpenedPercentage < (settings.NotHitOpenRateIn24HoursValue / 100.0)) { message = $"{campaignTracking.Opened} / {campaignTracking.Quantity} is Less than required value {settings.NotHitOpenRateIn24HoursValue}% in 1 day"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitOpenRateIn1Day, message); } // QC Rule 4 if (campaignTracking.ClickedPercentage < (settings.NotHitClickRateIn24HoursValue / 100.0)) { message = $"{campaignTracking.Clicked} / {campaignTracking.Quantity} is Less than required value {settings.NotHitClickRateIn24HoursValue}% in 1 day"; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotHitClickRateIn1Day, message); } } //if (hoursPassed < 24 && hoursPassed >= settings.NotStartedInXHoursValue) //{ // if (campaignTracking.OpenedPercentage < 0.001 && hoursPassed > 0) // less than 0.1% and deploy date time passed // { // message = $"Number of Opens in last 24hrs, No Open Traffic in 24hrs."; // SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.OpenTrafficInLast24Hours, message); // } // // QC Rule 10 // if (campaignTracking.ClickedPercentage < 0.001 && hoursPassed > 0) // less than 0.1% and deploy date time passed // { // message = $"Number of Click in last 24hrs, No Click Traffic in 24hrs."; // SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.ClickTrafficInLast24Hours, message); // } // return; //} // QC Rule 1, Not Started if (responseStatus == ProDataResponseStatus.NotFound.ToString() && hoursPassed >= settings.NotStartedInXHoursValue) { message = $"Campaign to be started {deployDate.Value} as of {DateTime.Now}, Campaign has not started within {settings.NotStartedInXHoursValue} hours."; SaveNotificationRecord(db, campaignId, orderNumber, segmentNumber, QcRule.NotStartedInFirstXHours, message); } }
public async Task <IActionResult> Update([FromBody] SettingsVm settings) { await Mediator.Send(new UpdateSettings(settings)); return(NoContent()); }
public async Task SaveSettings() { await SettingsVm.SaveSettings(); }
public ActionResult Settings(SettingsVm sc) { SettingsManager.Instance.SaveSettings(Db, sc); TempData["Success"] = "Notification Settings has been saved sucessfully."; return(RedirectToAction("Settings")); }
public UpdateSettings(SettingsVm settings) { Settings = settings; }