public void SaveMediaServiceAccountToSingleDeploymentTest() { // var deploymentToTest = App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections[0]; MediaServicesAccount acct = new MediaServicesAccount { AccountName = App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections[0].AcctName, Location = "US West", SubscriptionName = "AMSLiveStream", AccountCreated = DateTime.Now }; _dataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections); try { var acctList = _dataAccess.SaveMediaServiceAccount(acct, deploymentToTest);//, true); Assert.IsTrue((acctList != null), "Data Connection / Configuration Error"); } catch (Exception ex) { Assert.Fail(ex.Message, ex); } }
public void SaveMediaServiceAccountToMultipleDeploymentTest() { string deploymentToTest = string.Empty; _dataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections); var acct = App.Config.Content.ContentProviders[0].MediaServicesSets[1].MediaServicesAccounts[0]; decimal acctCount = (decimal)_dataAccess.GetAccounts().Distinct().Count(); //MediaServicesAccount acct = new MediaServicesAccount //{ // AccountName = App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections[0].AcctName, // Location = "US West", // SubscriptionName = "AMSLiveStream", // AccountCreated = DateTime.Now //}; try { var acctListCount = _dataAccess.SaveMediaServiceAccount(acct);//, true); Assert.IsTrue((acctListCount != 0), "Data Connection / Configuration Error"); Assert.GreaterOrEqual(acctListCount, acctCount); } catch (Exception ex) { Assert.Fail(ex.Message, ex); } }
protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); //any preprocessing before displaying main app screen put here azureDataAccess = new AzureDataAccess(); azureDataAccess.loadUserFromCache(); //switch from splash to our main view once done loading SetContentView(Resource.Layout.Main); //initialize action bar initActionBar(); findViews(); handleEvents(); //retreive schools from DB and display them schools = await azureDataAccess.getSchools(); //update list view with data displayAvailableSchools(schools); //hide loading spinner spinner.Visibility = Android.Views.ViewStates.Gone; }
private IEnumerable <MetricAlert> Get(MediaServicesSetConfig config, string channelId, AlertsQuery query) { var chid = channelId.NimbusIdToGuid(); var channelAlerts = GetAlertsFromCache <ChannelAlert>(chid.ToString()); if (channelAlerts == null) { var dataAccess = new AzureDataAccess(config.DataStorageConnections); channelAlerts = dataAccess.GetChannelAlerts(chid.ToString(), query.StatusLevels, query.MetricTypes); } IEnumerable <MetricAlert> alerts = null; if (channelAlerts != null) { alerts = channelAlerts.Select(chAlt => new MetricAlert { AlertID = chAlt.AlertID, Name = chAlt.ChannelName, Date = chAlt.AlertDate.AddTicks(chAlt.AlertTime.Ticks), Description = chAlt.Details, Status = chAlt.ErrorLevel }); } return(alerts); }
private void GetCustomer(Customer customer, MediaServicesSetConfig mediaServicesSet) { var dataAccess = new AzureDataAccess(mediaServicesSet.DataStorageConnections); customer.Accounts = mediaServicesSet.MediaServicesAccounts.Select((mediaServicesAccount, index) => { var account = GetMediaAccountFromCache(customer, mediaServicesAccount); if (account == null) { if (index == 0) { FillCustomerDetails(customer, mediaServicesAccount); } // TODO: this logic is wrong and needs to be replaced. var globalAerts = dataAccess.GetAccountGlobalAlerts(mediaServicesAccount.AccountName); return(new MediaService { Id = mediaServicesAccount.Id, Name = mediaServicesAccount.AccountName, Datacenter = mediaServicesAccount.MetaData.Location, Health = GetMaxLevel(globalAerts), }); } return(account); }).ToList(); customer.Health = customer.Accounts.Max(m => m.Health); }
internal IEnumerable <MetricAlert> Get(MediaServicesSetConfig config, string originId, AlertsQuery query) { var endTime = DateTime.UtcNow; var startTime = endTime.AddHours(-1); HealthStatus[] healthLevels = null; if (query != null) { if (query.StartTime != default(DateTime)) { startTime = query.StartTime.ToUniversalTime(); } if (query.EndTime != default(DateTime)) { endTime = query.EndTime.ToUniversalTime(); } if (endTime <= startTime) { throw new HttpResponseException(System.Net.HttpStatusCode.BadRequest); } healthLevels = query.StatusLevels; } var origId = originId.GuidToOriginId(); var alertstring = CloudCache.Get(origId + "Alerts"); List <OriginAlert> alerts; if (alertstring != null) { alerts = JsonConvert.DeserializeObject <List <OriginAlert> >(alertstring); } else { var dataAccess = new AzureDataAccess(config.DataStorageConnections); alerts = dataAccess.ExecuteReadQuery(context => { var dbAlerts = context.OriginAlerts.Where(alert => alert.OriginId == originId && alert.Timestamp >= startTime && alert.Timestamp <= endTime); if (healthLevels != null) { var predicate = CreatePredicate(healthLevels, "ErrorLevel"); dbAlerts = dbAlerts.Where(predicate); } return(dbAlerts.ToList()); }); } return(alerts.Select(alert => new MetricAlert { Name = alert.OriginId, Date = alert.Timestamp, Description = alert.Details, Status = alert.ErrorLevel }).OrderByDescending(alt => alt.Date)); }
public void GetDistinctDataCenterConnectionsFromMultipleConnectionsTest() { var dbCfg = App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections[1]; _dataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections); string dbName = dbCfg.InitialCatalog; var found = _dataAccess.Connections.Where(cn => cn.StoreConnection.Database == dbName).FirstOrDefault(); Assert.IsTrue((found != null), "Connection not found for this Account Name"); }
public void GetChannelAlertsByAccountIDTest() { _dataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[0].DataStorageConnections); try { var alerts = _dataAccess.GetChannelAlerts(1); Assert.IsNotNull(alerts, "Data Problem found"); } catch (Exception ex) { Assert.Fail(ex.Message, ex); } }
public void GetSingleEntityConnectionTest() { _dataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[0].DataStorageConnections); try { Assert.IsTrue(_dataAccess != null); Assert.IsTrue(_dataAccess.Connections.Count > 0); AMSDashboardEntities1 data = new AMSDashboardEntities1(_dataAccess.Connections[0].ConnectionString); Assert.IsTrue((data.Configuration != null), "Data Configuration Problem"); } catch (EntityException dataEx) { Assert.Fail(dataEx.Message, dataEx); } }
public ControllerBase() { /* This is what pulls the configuration information (including info for the data connections) from the .json config file. * I placed it here becasue each controller is going to need it's own connection to the database(s) that it responds to, * AND I am not changing the current schema at this point in time. */ DataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[0].DataStorageConnections); MediaServiceName = App.Config.Content.ContentProviders[0].MediaServicesSets[0].MediaServicesAccounts[0].AccountName; MediaServiceKey = App.Config.Content.ContentProviders[0].MediaServicesSets[0].MediaServicesAccounts[0].AccountKey; var mediaServiceCreds = new MediaServicesCredentials(_mediaServiceName, _mediaServiceKey); MSCloudContext = new CloudMediaContext(mediaServiceCreds); //CloudContext. }
public void GetMediaServiceAccountsTest() { try { _dataAccess = new AzureDataAccess(App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections); var result = _dataAccess.GetAccounts(); Assert.IsTrue((result.Count() > 0), "Data Connection Configuration Problem"); } catch (EntityException dataEx) { Assert.Fail(dataEx.Message, dataEx); } catch (Exception ex) { Assert.Fail(ex.Message, ex); } }
public void GetMediaChannelsByDeploymentNameTest() { var dbCfg = App.Config.Content.ContentProviders[0].MediaServicesSets[1].DataStorageConnections; string acctName = App.Config.Content.ContentProviders[0].MediaServicesSets[1].MediaServicesAccounts[0].AccountName; _dataAccess = new AzureDataAccess(dbCfg); IEnumerable results = _dataAccess.GetChannels(acctName); Assert.IsNotNull(results, "Data Access Problem"); try { Assert.IsNotEmpty(results); } catch { Assert.Inconclusive("An Empty result set is a valid response", results); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); //any preprocessing before displaying main app screen put here azureDataAccess = new AzureDataAccess(); azureDataAccess.loadUserFromCache(); SetContentView(Resource.Layout.AddReviewView); initActionBar(); getViews(); classID = base.Intent.GetIntExtra("classID", -1); setViews(classID); handleEvents(); authenticateUser(); }
public async Task <IActionResult> UploadFile(IFormFile file) { if (file == null || file.Length == 0) { ViewBag.Message = "Vinsamlegast veldu skjal til að hlaða upp"; } else { var isSuccessful = await AzureDataAccess.UploadFile(file); if (isSuccessful) { ViewBag.Message = "Skjali hlaðið upp"; } else { ViewBag.Message = "Skjali EKKI hlaðið upp þar sem til er skjal með sama nafni"; } } return(View("Index")); }
public IActionResult Index() { var files = AzureDataAccess.GetFileNames(); var model = new MeasurementViewModel(); var fileList = new List <SelectListItem>(); foreach (var file in files) { fileList.Add(new SelectListItem { Text = file.Key, Value = file.Value }); } model.DataSets = fileList; //model.UseCurrent = true; //model.UseAverage = true; model.IncludeHarmonics1_16 = true; return(View(model)); }
internal List <MetricAlert> Get(MediaServicesSetConfig config, string originId, AlertsQuery query) { //var origId = originId.GuidToOriginId(); var originAlerts = GetAlertsFromCache <OriginAlert>(originId); if (originAlerts == null) { var dataAccess = new AzureDataAccess(config.DataStorageConnections); if (query.StatusLevels == null) { originAlerts = dataAccess.GetOriginAlerts(originId); } else { originAlerts = dataAccess.GetOriginAlerts(originId, query.StatusLevels); } } List <MetricAlert> alerts = new List <MetricAlert>(); if (originAlerts != null && originAlerts.Count > 0) { foreach (var orgAlt in originAlerts) { alerts.Add(new MetricAlert { AlertID = orgAlt.AlertID, Name = orgAlt.OriginName, Date = orgAlt.AlertDate.AddTicks(orgAlt.AlertTime.Ticks), Description = orgAlt.Details, Status = orgAlt.ErrorLevel }); } } return(alerts); }
internal IEnumerable <MetricAlert> Get(MediaServicesSetConfig config, string originId, AlertsQuery query) { var endTime = DateTime.UtcNow; var startTime = endTime.AddHours(-1); HealthStatus[] healthLevels = null; if (query != null) { if (query.StartTime != default(DateTime)) { startTime = query.StartTime.ToUniversalTime(); } if (query.EndTime != default(DateTime)) { endTime = query.EndTime.ToUniversalTime(); } if (endTime <= startTime) { throw new HttpResponseException(System.Net.HttpStatusCode.BadRequest); } healthLevels = query.StatusLevels; } //var origId = originId.GuidToOriginId(); string alertstring = CloudCache.Get(originId + "Alerts"); List <OriginAlert> originAlerts; if (alertstring != null) { originAlerts = JsonConvert.DeserializeObject <List <OriginAlert> >(alertstring); } else { var dataAccess = new AzureDataAccess(config.DataStorageConnections); if (healthLevels == null) { originAlerts = dataAccess.GetOriginAlerts(originId); } else { originAlerts = dataAccess.GetOriginAlerts(originId, healthLevels); } } List <MetricAlert> alerts = new List <MetricAlert>(); if (originAlerts != null && originAlerts.Count > 0) { foreach (var orgAlt in originAlerts) { alerts.Add(new MetricAlert { AlertID = orgAlt.AlertID, Name = orgAlt.OriginName, Date = orgAlt.AlertDate.AddTicks(orgAlt.AlertTime.Ticks), Description = orgAlt.Details, Status = orgAlt.ErrorLevel }); } } return(alerts); }
public IActionResult Compare([FromBody] MeasurementViewModel model) { bool isSameMeasurementComparison = string.IsNullOrEmpty(model.FileName2); List <int> harmonics = DomainLogic.DomainLogic.GetHarmonics(model.IncludeHarmonics1_16, model.IncludeHarmonics17_31, model.IncludeHarmonics32_47, model.IncludeHarmonics48_63); var phaseEnums = new List <PhaseEnum>(); if (model.IncludePhaseA) { phaseEnums.Add(PhaseEnum.A); } if (model.IncludePhaseB) { phaseEnums.Add(PhaseEnum.B); } if (model.IncludePhaseC) { phaseEnums.Add(PhaseEnum.C); } if (model.IncludePhaseNeutral) { phaseEnums.Add(PhaseEnum.Neutral); } var graphData = new List <GraphData>(); byte[] file1 = AzureDataAccess.GetFile(model.FileName1).Result; if (file1.Length == 0) { throw new ArgumentException($"Skjalið {model.FileName1} fannst ekki"); } if (isSameMeasurementComparison) { // we are comparing the same file so each phase is a datapoint foreach (var phase in phaseEnums) { var measurement1 = DomainLogic.DomainLogic.FilterData(file1, model.UseCurrent, new List <PhaseEnum> { phase }); List <DataPoint> dataPoints = DomainLogic.DomainLogic.GetDataPoints(harmonics, model.UseAverage, measurement1); graphData.Add(new GraphData { DataPoints = dataPoints, Type = GraphType, Label = "ble-" + Guid.NewGuid().ToString().Substring(0, 4) }); } } else { // we are comparing two different measurements so the sum of XXxx xxxx TBD!!!! byte[] file2 = model.FileName1 == model.FileName2 ? file1 : AzureDataAccess.GetFile(model.FileName2).Result; if (file2.Length == 0) { throw new ArgumentException($"Skjalið {model.FileName2} fannst ekki"); } var measurement1 = DomainLogic.DomainLogic.FilterData(file1, model.UseCurrent, phaseEnums); List <DataPoint> dataPoints = DomainLogic.DomainLogic.GetDataPoints(harmonics, model.UseAverage, measurement1); graphData.Add(new GraphData { DataPoints = dataPoints, Type = GraphType, Label = "ble-" + Guid.NewGuid().ToString().Substring(0, 4) }); var measurement2 = DomainLogic.DomainLogic.FilterData(file2, model.UseCurrent, phaseEnums); List <DataPoint> dataPoints2 = DomainLogic.DomainLogic.GetDataPoints(harmonics, model.UseAverage, measurement2); graphData.Add(new GraphData { DataPoints = dataPoints2, Type = GraphType, Label = "some label" }); } return(Json(graphData)); }
private static void CleanupDatabase(MediaServicesSetConfig mediaServicesSet) { var rententionPeriod = TimeSpan.FromDays(SqlRetentionPeriod); var earliestDate = DateTime.UtcNow - rententionPeriod; Trace.TraceInformation("Earliest date before which the record will be removed: {0}", earliestDate); foreach (var databaseConfig in mediaServicesSet.DataStorageConnections) { Trace.TraceInformation( "Cleaning database account on Server:{0} Accont:{1} Catalog:{2}", databaseConfig.AzureServer, databaseConfig.AcctName, databaseConfig.InitialCatalog); } // Clean channel and origin alerts older than 30 days. var dataAccess = new AzureDataAccess(mediaServicesSet.DataStorageConnections); int removed = dataAccess.CleanOutOldData(earliestDate); Trace.TraceInformation("Total of {0} records removed on {1} ", removed, DateTime.UtcNow); #region Not Used //dataAccess.ExecuteWriteQuery( dataContext => //{ // foreach (AlertType at in dataContext.AlertTypes) // { // //start with GlobalAlerts // var records = dataContext.Alerts.Where(alert => (alert.AlertDate < earliestDate.Date) && // alert.AlertTypeID == at.AlertTypeID).ToList(); // switch (at.AlertTypeID) // { // case 1: // Trace.TraceInformation("Removing {0} records from Global Alerts...", records.Count); // break; // case 2: // Trace.TraceInformation("Removing {0} records from Channel Alerts...", records.Count); // break; // case 3: // Trace.TraceInformation("Removing {0} records from Origin Alerts...", records.Count); // break; // case 4: // Trace.TraceInformation("Removing {0} records from Archive Alerts...", records.Count); // break; // } // dataContext.Alerts.RemoveRange(records); // dataContext.SaveChanges(); // } //}); //dataAccess.ExecuteWriteQuery(dataContext => //{ // var records = dataContext.Alerts.Where(alert => (alert.AlertDate < earliestDate.Date) && // alert.AlertTypeID == 2).ToList(); // dataContext.Alerts.RemoveRange(records); // dataContext.SaveChanges(); //}); //dataAccess.ExecuteWriteQuery(dataContext => //{ // var records = dataContext.Alerts.Where(alert => (alert.AlertDate < earliestDate.Date) && // alert.AlertTypeID == 3).ToList(); // dataContext.Alerts.RemoveRange(records); // dataContext.SaveChanges(); //}); //dataAccess.ExecuteWriteQuery(dataContext => //{ // var records = dataContext.Alerts.Where(alert => (alert.AlertDate < earliestDate.Date) && // alert.AlertTypeID == 4).ToList(); // dataContext.Alerts.RemoveRange(records); // dataContext.SaveChanges(); //}); #endregion }
private IEnumerable <MetricAlert> Get(MediaServicesSetConfig config, string channelId, AlertsQuery query) { var endTime = DateTime.UtcNow; var startTime = endTime.AddHours(-1); HealthStatus[] healthLevels = null; MetricType[] metricTypes = null; if (query != null) { if (query.StartTime != default(DateTime)) { startTime = query.StartTime.ToUniversalTime(); } if (query.EndTime != default(DateTime)) { endTime = query.EndTime.ToUniversalTime(); } if (endTime <= startTime) { throw new HttpResponseException(System.Net.HttpStatusCode.BadRequest); } metricTypes = query.MetricTypes; healthLevels = query.StatusLevels; } var chid = channelId.NimbusIdToGuid(); string alertstring = CloudCache.Get(chid + "Alerts"); List <ChannelAlert> channelAlerts; if (alertstring != null) { channelAlerts = JsonConvert.DeserializeObject <List <ChannelAlert> >(alertstring); } else { var dataAccess = new AzureDataAccess(config.DataStorageConnections); channelAlerts = dataAccess.GetChannelAlerts(chid.ToString(), healthLevels, metricTypes); #region Not used //channelAlerts = dataAccess.ExecuteReadQuery(context => //{ // var dbAlerts = context.ChannelAlerts.Where(alert => // alert.ChannelId == channelId && // alert.AlertDate >= startTime.AddTicks(alert.AlertTime.Ticks) && // alert.AlertDate <= endTime); // if (healthLevels != null) // { // var predicate = CreatePredicate(healthLevels, "ErrorLevel"); // dbAlerts = dbAlerts.Where(predicate); // } // if (metricTypes != null) // { // var condition = CreatePredicate(metricTypes, "MetricType"); // dbAlerts = dbAlerts.Where(condition); // } // return dbAlerts.ToList(); //}); #endregion } List <MetricAlert> alerts = new List <MetricAlert>(); if (channelAlerts != null) { foreach (var chAlt in channelAlerts) { alerts.Add(new MetricAlert { AlertID = chAlt.AlertID, Name = chAlt.ChannelName, Date = chAlt.AlertDate.AddTicks(chAlt.AlertTime.Ticks), Description = chAlt.Details, Status = chAlt.ErrorLevel }); } } return(alerts); }