Example #1
0
 public ChangeLogger(IFrameLogContext <TChangeSet, TPrincipal> context,
                     IChangeSetFactory <TChangeSet, TPrincipal> factory,
                     ILoggingFilter filter)
 {
     this.context  = context;
     this.factory  = factory;
     this.recorder = new Recorder <TChangeSet, TPrincipal>(factory);
     this.filter   = filter;
 }
Example #2
0
 public FrameLogModule(IChangeSetFactory <TChangeSet, TPrincipal> factory,
                       IFrameLogContext <TChangeSet, TPrincipal> context,
                       ILoggingFilterProvider filter = null)
 {
     this.factory = factory;
     this.context = context;
     this.filter  = (filter ?? Filters.Default).Get(context);
     Enabled      = true;
 }
Example #3
0
 public FrameLog(ContextInfo contextInfo,
                 IChangeSetFactory <TChangeSet, TPrincipal> factory,
                 ILoggingFilterProvider filter = null)
 {
     this.contextInfo = contextInfo;
     this.factory     = factory;
     this.filter      = (filter ?? Filter.Filters.Default).Get(contextInfo);
     Enabled          = true;
 }
Example #4
0
 public ChangeLogger(ObjectContext context,
                     IChangeSetFactory <TChangeSet, TPrincipal> factory,
                     ILoggingFilter filter, ISerializationManager serializer)
 {
     this.context  = context;
     this.factory  = factory;
     this.recorder = new Recorder <TChangeSet, TPrincipal>(factory, serializer);
     this.filter   = filter;
 }
Example #5
0
 public FrameLogModule(IChangeSetFactory <TChangeSet, TPrincipal> factory,
                       IFrameLogContext <TChangeSet, TPrincipal> context,
                       ILoggingFilterProvider filter    = null,
                       ISerializationManager serializer = null)
 {
     this.factory    = factory;
     this.context    = context;
     this.filter     = (filter ?? Filters.Default).Get(context);
     this.serializer = (serializer ?? new ValueTranslationManager(context));
     Enabled         = true;
 }
Example #6
0
        public IEnumerable <ErrorOtherOccurrence> Expanded(string AppID, DateTimeOffset StartDate, DateTimeOffset EndDate, string ClientID = "", string Environment = "any", string Type = "any", int?MinimumSeverity = null, int?FilterID = null, bool?IncludeDetail = true, string Search = "")
        {
            List <General.ErrorLogging.Model.ErrorOtherTypes> aryTypes = ParseTypes(Type);
            List <int>     aryApps   = ParseApps(AppID);
            ILoggingFilter objFilter = null;

            if (FilterID.HasValue)
            {
                objFilter = General.ErrorLogging.Data.LoggingFilter.GetFilter(FilterID.Value);
                //Set the AppID to the one assigned to the selected filter
                aryApps = new List <int>();
                aryApps.Add(objFilter.AppID);
            }
            bool DoSearch = !String.IsNullOrWhiteSpace(Search);

            SqlCommand cmd;

            if (!String.IsNullOrWhiteSpace(ClientID) || ParseEnvironment(Environment) != null || aryTypes != null || MinimumSeverity.HasValue)
            {
                cmd = General.ErrorLogging.Data.ErrorOther.FindEventLogs_GetCommand(StartDate, EndDate, aryApps, ClientID, ParseEnvironment(Environment), aryTypes, MinimumSeverity, IncludeDetail);
            }
            else
            {
                cmd = General.ErrorLogging.Data.ErrorOther.FindEventLogs_GetCommand(StartDate, EndDate, aryApps, null, null, aryTypes, null, IncludeDetail);
            }

            using (SqlConnection conn = DBConnection.GetOpenConnection(DBConnection.GetConnectionString(Data.ErrorOther.ConnectionStringName)))
            {
                cmd.Connection = conn;
                using (SqlDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        if (objFilter != null)
                        {
                            if (!Data.ErrorOther.DataRowMatchesFilter(rdr, objFilter))
                            {
                                continue;
                            }
                        }
                        var incident = Data.ErrorOther.GetErrorOtherOccurrenceModel(rdr);
                        if (!DoSearch || FullTextMatch(Search, incident))
                        {
                            yield return(incident);
                        }
                    }
                }
            }
        }
        private bool FullTextMatch(string strSearch, ILoggingFilter obj)
        {
            if (String.IsNullOrWhiteSpace(strSearch))
            {
                return(true);
            }

            var tokens = FullTextSearch.Tokenize(strSearch);

            bool blnHasNotToken      = tokens.Where(t => t.StartsWith("-")).Count() > 0;
            bool blnMatchedHardBlock = false;
            bool blnMatched          = false;

            if (tokens.Where(t => t.StartsWith("-")).Count() == tokens.Count()) //If I'm only using negative matches, then show everything that isn't eliminated.
            {
                blnMatched = true;
            }

            if (FullTextSearch.TokenContains(obj.Name, tokens, out blnMatchedHardBlock))
            {
                blnMatched = true;
            }
            if (blnHasNotToken && blnMatchedHardBlock)
            {
                return(false);
            }
            else if (!blnHasNotToken && blnMatched)
            {
                return(true);
            }

            if (obj.ClientFilter.ClientIDList != null && obj.ClientFilter.ClientIDList.Count > 0)
            {
                if (FullTextSearch.TokenEquals(obj.ClientFilter.ClientIDList.ToArray(), tokens, out blnMatchedHardBlock))
                {
                    blnMatched = true;
                }
                if (blnHasNotToken && blnMatchedHardBlock)
                {
                    return(false);
                }
                else if (!blnHasNotToken && blnMatched)
                {
                    return(true);
                }
            }
            if (obj.UserFilter.UserIDList != null && obj.UserFilter.UserIDList.Count > 0)
            {
                if (FullTextSearch.TokenEquals(obj.UserFilter.UserIDList.ToArray(), tokens, out blnMatchedHardBlock))
                {
                    blnMatched = true;
                }
                if (blnHasNotToken && blnMatchedHardBlock)
                {
                    return(false);
                }
                else if (!blnHasNotToken && blnMatched)
                {
                    return(true);
                }
            }
            if (!String.IsNullOrWhiteSpace(obj.Custom1))
            {
                if (FullTextSearch.TokenContains(obj.Custom1, tokens, out blnMatchedHardBlock))
                {
                    blnMatched = true;
                }
                if (blnHasNotToken && blnMatchedHardBlock)
                {
                    return(false);
                }
                else if (!blnHasNotToken && blnMatched)
                {
                    return(true);
                }
            }
            if (!String.IsNullOrWhiteSpace(obj.Custom2))
            {
                if (FullTextSearch.TokenContains(obj.Custom2, tokens, out blnMatchedHardBlock))
                {
                    blnMatched = true;
                }
                if (blnHasNotToken && blnMatchedHardBlock)
                {
                    return(false);
                }
                else if (!blnHasNotToken && blnMatched)
                {
                    return(true);
                }
            }
            if (!String.IsNullOrWhiteSpace(obj.Custom3))
            {
                if (FullTextSearch.TokenContains(obj.Custom3, tokens, out blnMatchedHardBlock))
                {
                    blnMatched = true;
                }
                if (blnHasNotToken && blnMatchedHardBlock)
                {
                    return(false);
                }
                else if (!blnHasNotToken && blnMatched)
                {
                    return(true);
                }
            }


            return(blnMatched);
        }