public Approach GetApproachByApproachID(int approachId) { var approach = (from r in _db.Approaches where r.ApproachID == approachId select r).FirstOrDefault(); if (approach != null) { return(approach); } { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent { ApplicationName = "MOE.Common", Class = "Models.Repository.ApproachRepository", Function = "GetApproachByApproachID", Description = "No approach for ID. Attempted ID# = " + approachId, SeverityLevel = ApplicationEvent.SeverityLevels.High, Timestamp = DateTime.Now }; repository.Add(error); throw new Exception("There is no Approach for this ID"); } }
public void Remove(int approachId) { var approach = _db.Approaches.Find(approachId); if (approach != null) { try { _db.Approaches.Remove(approach); _db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent { ApplicationName = "MOE.Common", Class = "Models.Repository.ApproachRepository", Function = "Remove", Description = ex.Message, SeverityLevel = ApplicationEvent.SeverityLevels.High, Timestamp = DateTime.Now }; repository.Add(error); throw ex; } } }
public void AddOrUpdate(MetricComment metricComment) { var g = (from r in db.MetricComments where r.CommentID == metricComment.CommentID select r).FirstOrDefault(); if (g != null) { try { db.Entry(g).CurrentValues.SetValues(metricComment); db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.MetricCommentRepository"; error.Function = "AddOrUpdate"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } } else { db.MetricComments.Add(metricComment); db.SaveChanges(); } }
private void AddDetectiontypestoDetector(Detector detector) { try { var g = (from r in _db.Detectors where r.ID == detector.ID select r).FirstOrDefault(); if (g == null) { detector.DetectionTypes = new List <DetectionType>(); detector.DetectionTypes = _db.DetectionTypes .Where(dt => detector.DetectionTypeIDs.Contains(dt.DetectionTypeID)).ToList(); } } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.SignalRepository"; error.Function = "Add"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } }
public void UpdateByRouteAndApproachID(int routeID, string signalId, int newOrderNumber) { var RouteDetail = (from r in db.RouteSignals where r.RouteId == routeID && r.SignalId == signalId select r).FirstOrDefault(); if (RouteDetail != null) { var newRouteDetail = new RouteSignal(); newRouteDetail.Order = newOrderNumber; try { db.Entry(RouteDetail).CurrentValues.SetValues(newRouteDetail); db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteDetailsRepository"; error.Function = "UpdateByRouteAndApproachID"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } } }
public void Add(RouteSignal newRouteDetail) { try { if (!db.RouteSignals.Any(s => s.SignalId == newRouteDetail.SignalId && s.RouteId == newRouteDetail.RouteId)) { db.RouteSignals.Add(newRouteDetail); db.SaveChanges(); } } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteDetailsRepository"; error.Function = "UpdateByRouteAndApproachID"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } }
public void Update(Route newRoute) { var route = (from r in db.Routes where r.Id == newRoute.Id select r).FirstOrDefault(); if (route != null) { var newroute = new Route(); newroute.Id = route.Id; newroute.RouteName = newroute.RouteName; try { db.Entry(route).CurrentValues.SetValues(newroute); db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteRepository"; error.Function = "UpdateByID"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } } }
public Controller_Event_Log GetFirstEventBeforeDateByEventCodeAndParameter(string signalId, int eventCode, int eventParam, DateTime date) { try { var tempDate = date.AddDays(-1); var lastEvent = _db.Controller_Event_Log.Where(c => c.SignalID == signalId && c.Timestamp >= tempDate && c.Timestamp < date && c.EventCode == eventCode && c.EventParam == eventParam) .OrderByDescending(c => c.Timestamp).FirstOrDefault(); return(lastEvent); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetEventsByEventCodesParamWithOffsetAndLatencyCorrection"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Description = ex.Message; e.Timestamp = DateTime.Now; logRepository.Add(e); return(null); } }
public List <Controller_Event_Log> GetTopNumberOfSignalEventsBetweenDates(string signalId, int numberOfRecords, DateTime startTime, DateTime endTime) { try { var events = (from r in _db.Controller_Event_Log where r.SignalID == signalId && r.Timestamp >= startTime && r.Timestamp < endTime select r).Take(numberOfRecords).ToList(); if (events != null) { return(events); } var emptyEvents = new List <Controller_Event_Log>(); return(emptyEvents); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetTopNumberOfSignalEventsBetweenDates"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }
public List <Controller_Event_Log> GetEventsByEventCodesParam(string signalId, DateTime startTime, DateTime endTime, List <int> eventCodes, int param) { try { var events = from s in _db.Controller_Event_Log where s.SignalID == signalId && s.Timestamp >= startTime && s.Timestamp <= endTime && s.EventParam == param && eventCodes.Contains(s.EventCode) select s; events = events.OrderBy(e => e.Timestamp).ThenBy(e => e.EventParam); return(events.ToList()); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetEventsByEventCodesParam"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }
public List <Controller_Event_Log> GetSignalEventsByEventCodes(string signalId, DateTime startTime, DateTime endTime, List <int> eventCodes) { try { var events = (from s in _db.Controller_Event_Log where s.SignalID == signalId && s.Timestamp >= startTime && s.Timestamp <= endTime && eventCodes.Contains(s.EventCode) select s).ToList(); events.Sort((x, y) => DateTime.Compare(x.Timestamp, y.Timestamp)); return(events); } //catch (EntityCommandExecutionException ex) //{ //} catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetSignalEventsByEventCodes"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = signalId + " - " + ex.Message; logRepository.Add(e); throw ex; } }
public void Update(RoutePhaseDirection newRoutePhaseDirection) { CheckForExistingApproach(newRoutePhaseDirection); var routePhaseDirection = db.RoutePhaseDirections.Where(r => r.Id == newRoutePhaseDirection.Id).FirstOrDefault(); if (routePhaseDirection != null) { try { db.Entry(routePhaseDirection).CurrentValues.SetValues(newRoutePhaseDirection); db.SaveChanges(); } catch (Exception e) { var errorLog = ApplicationEventRepositoryFactory.Create(); errorLog.QuickAdd(Assembly.GetExecutingAssembly().GetName().ToString(), GetType().DisplayName(), e.TargetSite.ToString(), ApplicationEvent.SeverityLevels.High, e.Message); throw new Exception(""); } } else { Add(newRoutePhaseDirection); } }
public Route GetRouteByID(int routeID) { var route = db.Routes .Include(r => r.RouteSignals.Select(s => s.PhaseDirections)).FirstOrDefault(r => r.Id == routeID); route.RouteSignals = route.RouteSignals.OrderBy(s => s.Order).ToList(); var signalRepository = Repositories.SignalsRepositoryFactory.Create(); foreach (var routeSignal in route.RouteSignals) { routeSignal.Signal = signalRepository.GetLatestVersionOfSignalBySignalID(routeSignal.SignalId); } if (route != null) { return(route); } var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteRepository"; error.Function = "GetByRouteID"; error.Description = "No Route for ID. Attempted ID# = " + routeID; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw new Exception("There is no Route for this ID"); }
public List <Controller_Event_Log> GetEventsByEventCodesParamWithLatencyCorrection(string signalId, DateTime startTime, DateTime endTime, List <int> eventCodes, int param, double latencyCorrection) { try { var events = _db.Controller_Event_Log.Where(s => s.SignalID == signalId && s.Timestamp >= startTime && s.Timestamp <= endTime && s.EventParam == param && eventCodes.Contains(s.EventCode)).ToList(); foreach (var cel in events) { cel.Timestamp = cel.Timestamp.AddSeconds(0 - latencyCorrection); } return(events.OrderBy(e => e.Timestamp).ThenBy(e => e.EventCode).ToList()); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetEventsByEventCodesParamWithLatencyCorrection"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }
public void Remove(Approach approach) { var g = (from r in _db.Approaches where r.ApproachID == approach.ApproachID select r).FirstOrDefault(); if (g != null) { try { _db.Approaches.Remove(g); _db.SaveChanges(); } catch (Exception ex) { { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent { ApplicationName = "MOE.Common", Class = "Models.Repository.ApproachRepository", Function = "Remove", Description = ex.Message, SeverityLevel = ApplicationEvent.SeverityLevels.High, Timestamp = DateTime.Now }; repository.Add(error); throw ex; } } } }
public void Remove(int ID) { var g = (from r in _db.Detectors where r.ID == ID select r).FirstOrDefault(); if (g != null) { try { _db.Detectors.Remove(g); _db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.DetectorRepository"; error.Function = "Remove"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } } }
public List <Controller_Event_Log> GetSignalEventsByEventCode(string signalId, DateTime startTime, DateTime endTime, int eventCode) { try { return((from r in _db.Controller_Event_Log where r.SignalID == signalId && r.Timestamp >= startTime && r.Timestamp < endTime && r.EventCode == eventCode select r).ToList()); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetSignalEventsByEventCode"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }
public void Add(DetectorComment detectorComment) { var g = (from r in db.DetectorComments where r.CommentID == detectorComment.CommentID select r).FirstOrDefault(); if (g == null) { try { db.DetectorComments.Add(detectorComment); db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.DetectorCommentRepository"; error.Function = "Add"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } } }
public void DeleteByRouteID(int routeID) { var routes = (from r in db.RouteSignals where r.RouteId == routeID select r).ToList(); try { db.RouteSignals.RemoveRange(routes); db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteDetailsRepository"; error.Function = "DeleteByRouteID"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } }
public void AddOrUpdate(Signal signal) { var g = (from r in _db.Signals where r.VersionID == signal.VersionID select r).FirstOrDefault(); if (g == null) { if (signal.Approaches != null) { foreach (var appr in signal.Approaches) { if (appr.Detectors != null) { foreach (var det in appr.Detectors) { AddDetectiontypestoDetector(det); } } } } _db.Signals.Add(signal); try { _db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent { ApplicationName = "MOE.Common", Class = "Models.Repository.SignalRepository", Function = "AddOrUpdate", Description = ex.Message, SeverityLevel = ApplicationEvent.SeverityLevels.High, Timestamp = DateTime.Now }; repository.Add(error); throw; } } else { Update(signal); //throw new Exception("Signal already exists in the database"); } }
public void Add(RoutePhaseDirection newRoutePhaseDirection) { try { db.RoutePhaseDirections.Add(newRoutePhaseDirection); db.SaveChanges(); } catch (Exception e) { var errorLog = ApplicationEventRepositoryFactory.Create(); errorLog.QuickAdd(Assembly.GetExecutingAssembly().GetName().ToString(), GetType().DisplayName(), e.TargetSite.ToString(), ApplicationEvent.SeverityLevels.High, e.Message); throw new Exception(""); } }
public void AddList(List <SPMWatchDogErrorEvent> SPMWatchDogErrorEvents) { try { db.SPMWatchDogErrorEvents.AddRange(SPMWatchDogErrorEvents); db.SaveChanges(); } catch (Exception ex) { var er = ApplicationEventRepositoryFactory.Create(); er.QuickAdd("MOE.Common", "SPMWatchDogErrrorEventRepository", "AddList", ApplicationEvent.SeverityLevels.Medium, ex.Message); } }
public void Add(MetricComment metricComment) { var g = (from r in db.MetricComments where r.CommentID == metricComment.CommentID select r).FirstOrDefault(); if (g == null) { if (metricComment.MetricTypes == null) { metricComment.MetricTypes = db.MetricTypes .Where(x => metricComment.MetricTypeIDs.Contains(x.MetricID)).ToList(); } try { db.MetricComments.Add(metricComment); db.SaveChanges(); } catch (DbEntityValidationException e) { var repository = ApplicationEventRepositoryFactory.Create(); var errorMessage = string.Empty; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { errorMessage += " Property:" + ve.PropertyName + " Error:" + ve.ErrorMessage; } } repository.QuickAdd("Moe.Common", "MetricCommentRepository", "Add", ApplicationEvent.SeverityLevels.Medium, errorMessage); throw new Exception(errorMessage); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); repository.QuickAdd("Moe.Common", "MetricCommentRepository", "Add", ApplicationEvent.SeverityLevels.Medium, ex.Message); throw; } } else { AddOrUpdate(metricComment); } }
public List <Controller_Event_Log> GetEventsByEventCodesParamDateTimeRange(string signalId, DateTime startTime, DateTime endTime, int startHour, int startMinute, int endHour, int endMinute, List <int> eventCodes, int param) { try { var events = (from s in _db.Controller_Event_Log where s.SignalID == signalId && s.Timestamp >= startTime && s.Timestamp <= endTime && (s.Timestamp.Hour > startHour && s.Timestamp.Hour < endHour || s.Timestamp.Hour == startHour && s.Timestamp.Hour == endHour && s.Timestamp.Minute >= startMinute && s.Timestamp.Minute <= endMinute || s.Timestamp.Hour == startHour && s.Timestamp.Hour < endHour && s.Timestamp.Minute >= startMinute || s.Timestamp.Hour < startHour && s.Timestamp.Hour == endHour && s.Timestamp.Minute <= endMinute) && s.EventParam == param && eventCodes.Contains(s.EventCode) select s).ToList(); events.Sort((x, y) => DateTime.Compare(x.Timestamp, y.Timestamp)); return(events); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetSignalEventsByEventCodesParamDateTimeRange"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }
public List <Controller_Event_Log> GetTopEventsAfterDateByEventCodesParam(string signalId, DateTime timestamp, List <int> eventCodes, int param, int top) { try { var events = _db.Controller_Event_Log.Where(c => c.SignalID == signalId && c.Timestamp > timestamp && c.EventParam == param && eventCodes.Contains(c.EventCode)) .OrderBy(s => s.Timestamp) .Take(top).ToList(); return(events); } catch (Exception e) { var errorLog = ApplicationEventRepositoryFactory.Create(); errorLog.QuickAdd(Assembly.GetExecutingAssembly().FullName, GetType().DisplayName(), e.TargetSite.ToString(), ApplicationEvent.SeverityLevels.Low, e.Message); return(null); } }
public void Add(Route newRoute) { try { db.Routes.Add(newRoute); db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteRepository"; error.Function = "Add"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } }
public bool CheckForRecords(string signalId, DateTime startTime, DateTime endTime) { try { return(_db.Controller_Event_Log.Any(r => r.SignalID == signalId && r.Timestamp >= startTime && r.Timestamp < endTime)); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "CheckForRecords"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }
public void Update(Detector detector) { var g = (from r in _db.Detectors where r.ID == detector.ID select r).FirstOrDefault(); if (g != null) { foreach (var i in detector.DetectionTypeIDs) { var t = (from r in _db.DetectionTypes where r.DetectionTypeID == i select r).FirstOrDefault(); detector.DetectionTypes.Add(t); } try { _db.Entry(g).CurrentValues.SetValues(detector); _db.SaveChanges(); } catch (Exception ex) { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.DetectorRepository"; error.Function = "Update"; error.Description = ex.Message; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw; } } }
public List <RouteSignal> GetByRouteID(int routeID) { var routes = (from r in db.RouteSignals where r.RouteId == routeID select r).ToList(); if (routes.Count > 0) { return(routes); } { var repository = ApplicationEventRepositoryFactory.Create(); var error = new ApplicationEvent(); error.ApplicationName = "MOE.Common"; error.Class = "Models.Repository.ApproachRouteDetailsRepository"; error.Function = "GetByRouteID"; error.Description = "No Route for ID. Attempted ID# = " + routeID; error.SeverityLevel = ApplicationEvent.SeverityLevels.High; error.Timestamp = DateTime.Now; repository.Add(error); throw new Exception("There is no ApproachRouteDetail for this ID"); } }
public List <Controller_Event_Log> GetEventsByEventCodesParamWithOffsetAndLatencyCorrection(string signalId, DateTime startTime, DateTime endTime, List <int> eventCodes, int param, double offset, double latencyCorrection) { try { var events = (from s in _db.Controller_Event_Log where s.SignalID == signalId && s.Timestamp >= startTime && s.Timestamp <= endTime && s.EventParam == param && eventCodes.Contains(s.EventCode) select s).ToList(); events.Sort((x, y) => DateTime.Compare(x.Timestamp, y.Timestamp)); foreach (var cel in events) { cel.Timestamp = cel.Timestamp.AddMilliseconds(offset); cel.Timestamp = cel.Timestamp.AddSeconds(0 - latencyCorrection); } return(events); } catch (Exception ex) { var logRepository = ApplicationEventRepositoryFactory.Create(); var e = new ApplicationEvent(); e.ApplicationName = "MOE.Common"; e.Class = GetType().ToString(); e.Function = "GetEventsByEventCodesParamWithOffsetAndLatencyCorrection"; e.SeverityLevel = ApplicationEvent.SeverityLevels.High; e.Timestamp = DateTime.Now; e.Description = ex.Message; logRepository.Add(e); throw; } }