ExtractSplitCollectionsFromFeatureSet(ICollection <ManagedFeature> featureSet, BeatBarSettingsData settings, List <MarkCollection> otherMarks = null) { List <MarkCollection> retVal = new List <MarkCollection>(); string[] collectionNames = settings.BeatCollectionNames(true); KeyValuePair <int, double>[] tsValuePairs = new KeyValuePair <int, double> [(featureSet.Count * 2)]; int count = 0; double featureMS = -1; double lastFeatureMS = -1; int labelVal = 0; ManagedFeature lastFeature = null; foreach (ManagedFeature feature in featureSet) { if (lastFeature == null) { lastFeature = feature; continue; } labelVal = (Convert.ToInt32(lastFeature.label) * 2) - 1; lastFeatureMS = lastFeature.timestamp.totalMilliseconds(); tsValuePairs[count++] = new KeyValuePair <int, double>(labelVal, lastFeatureMS); featureMS = feature.timestamp.totalMilliseconds(); tsValuePairs[count] = new KeyValuePair <int, double>(labelVal + 1, lastFeatureMS + ((featureMS - lastFeatureMS) / settings.Divisions)); count++; lastFeature = feature; } for (int j = 1; j <= collectionNames.Length; j++) { MarkCollection mc = new MarkCollection(); mc.Enabled = true; mc.Name = collectionNames[j - 1]; foreach (KeyValuePair <int, double> tsValue in tsValuePairs) { if (tsValue.Key == j) { mc.Marks.Add(TimeSpan.FromMilliseconds(tsValue.Value)); } } RemoveDuplicateMarks(ref mc, otherMarks); retVal.Add(mc); } return(retVal); }
public TransitFeature GetLatestAccountFeedItemFeatureByAccountFeedId(string ticket, int id) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); Feature feature = ManagedAccountFeedItem.GetLatestFeatureByAccountFeedId(session, id); if (feature == null) { return(null); } ManagedFeature m_feature = new ManagedFeature(session, feature); return(m_feature.GetTransitInstance(sec)); } }
public TransitFeature FindLatestFeature(string ticket, string featuretype, int objectid) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); int feature_id = ManagedFeature.GetLatestFeatureId(session, featuretype, objectid); if (feature_id == 0) { return(null); } return(new ManagedFeature(session, feature_id).GetTransitInstance(sec)); } }
public void DeleteAllFeatures(string ticket, TransitFeature token) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); if (!sec.IsAdministrator()) { throw new ManagedAccount.AccessDeniedException(); } ManagedFeature.Delete(session, token.DataObjectName, token.DataRowId); SnCore.Data.Hibernate.Session.Flush(); } }
public TransitFeature GetLatestAccountFeedItemFeatureByAccountFeedId(string ticket, int id) { using (SnCore.Data.Hibernate.Session.OpenConnection()) { ISession session = SnCore.Data.Hibernate.Session.Current; ManagedSecurityContext sec = new ManagedSecurityContext(session, ticket); Feature feature = ManagedAccountFeedItem.GetLatestFeatureByAccountFeedId(session, id); if (feature == null) return null; ManagedFeature m_feature = new ManagedFeature(session, feature); return m_feature.GetTransitInstance(sec); } }