Example #1
0
 /// <summary>
 /// Gets the entity collection of one criteria.
 /// </summary>
 /// <param name="oneCriteria">The one criteria.</param>
 /// <param name="func_GetEntityCollectionOfOneCriteria">The func_ get entity collection of one criteria.</param>
 /// <returns>entity Collection meets criteria</returns>
 public virtual TCollection GetEntityCollectionOfOneCriteria(
     Framework.Queries.QuerySystemDateTimeRangeCriteria oneCriteria
     , Func <Framework.Queries.QuerySystemDateTimeRangeCriteria, TCollection, TCollection> func_GetEntityCollectionOfOneCriteria)
 {
     this.Func_GetEntityCollectionOfOneCriteria = func_GetEntityCollectionOfOneCriteria;
     return(this.GetEntityCollectionOfOneCriteria(oneCriteria));
 }
Example #2
0
        public async Task <Elmah.DataSourceEntities.ELMAH_Error.DataAccessLayerMessageOfDefaultCollection> GetCollectionOfDefaultByCommon(
            Framework.Queries.QuerySystemStringEqualsCriteria application
            , Framework.Queries.QuerySystemStringEqualsCriteria host
            , Framework.Queries.QuerySystemStringEqualsCriteria source
            , Framework.Queries.QuerySystemInt32EqualsCriteria statusCode
            , Framework.Queries.QuerySystemStringEqualsCriteria type
            , Framework.Queries.QuerySystemStringEqualsCriteria user
            , Framework.Queries.QuerySystemStringContainsCriteria message
            , Framework.Queries.QuerySystemStringContainsCriteria allXml
            , Framework.Queries.QuerySystemDateTimeRangeCriteria timeUtcRange
            , int currentIndex = -1
            , int pageSize     = -1
            , Framework.Queries.QueryOrderBySettingCollection queryOrderBySettingCollection = null
            )
        {
            const string logMessageKey = "GetCollectionOfDefaultByCommon";
            IQueryable <Elmah.DataSourceEntities.ELMAH_Error.Default> _Query = _GetQueryOfDefaultByCommon(
                application
                , host
                , source
                , statusCode
                , type
                , user
                , message
                , allXml
                , timeUtcRange
                , queryOrderBySettingCollection
                );

            return(await Elmah.EntityFrameworkDAL.IQueryableHelper.GetCollectionMessageAsync <
                       Elmah.DataSourceEntities.ELMAH_Error.DataAccessLayerMessageOfDefaultCollection,
                       List <Elmah.DataSourceEntities.ELMAH_Error.Default>,
                       Elmah.DataSourceEntities.ELMAH_Error.Default>(_Query, currentIndex, pageSize, logMessageKey));
        }
Example #3
0
        public async Task <Framework.Models.DataAccessLayerMessageOfBoolean> ExistsOfNameValuePairByCommon(
            Framework.Queries.QuerySystemStringEqualsCriteria application
            , Framework.Queries.QuerySystemStringEqualsCriteria host
            , Framework.Queries.QuerySystemStringEqualsCriteria source
            , Framework.Queries.QuerySystemInt32EqualsCriteria statusCode
            , Framework.Queries.QuerySystemStringEqualsCriteria type
            , Framework.Queries.QuerySystemStringEqualsCriteria user
            , Framework.Queries.QuerySystemStringContainsCriteria message
            , Framework.Queries.QuerySystemStringContainsCriteria allXml
            , Framework.Queries.QuerySystemDateTimeRangeCriteria timeUtcRange
            , int currentIndex = -1
            , int pageSize     = -1
            , Framework.Queries.QueryOrderBySettingCollection queryOrderBySettingCollection = null
            )
        {
            const string logMessageKey = "ExistsOfNameValuePairByCommon";
            IQueryable <Framework.Models.NameValuePair> _Query = _GetQueryOfNameValuePairByCommon(
                application
                , host
                , source
                , statusCode
                , type
                , user
                , message
                , allXml
                , timeUtcRange
                , queryOrderBySettingCollection
                );

            return(await Elmah.EntityFrameworkDAL.IQueryableHelper.GetExistsMessageAsync(_Query, currentIndex, pageSize, logMessageKey));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DateTimePivotCollection&lt;TCollection, T, TCategoryCollection, TCategory, TSubSummary&gt;"/> class.
        /// </summary>
        /// <param name="categoryCollection">The category collection.</param>
        /// <param name="entityCollection">The entity collection.</param>
        /// <param name="func_GetEntityCollectionOfOneCategory">The func_ get entity collection of one category.</param>
        /// <param name="dateTimePivotSetting">The date time pivot setting.</param>
        /// <param name="func_GetEntityCollectionOfOneCriteria">The func_ get entity collection of one criteria.</param>
        /// <param name="func_CalculateSubSummary">The func_ calculate sub summary.</param>
        public DateTimePivotCollection(
            TCategoryCollection categoryCollection
            , TCollection entityCollection
            , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
            , Func <TCategory, TCollection, TCollection> func_GetEntityCollectionOfOneCategory
            , Framework.DateTimePivotEntities.DateTimePivotSetting dateTimePivotSetting
            , Func <Framework.Queries.QuerySystemDateTimeRangeCriteria, TCollection, TCollection> func_GetEntityCollectionOfOneCriteria
            , Func <TCollection, TSubSummary> func_CalculateSubSummary
            )
        {
            Framework.Queries.QuerySystemDateTimeRangeCriteria[] _ConsecutiveDistributionCriteria = dateTimePivotSetting.CalculateConsecutiveDistributionCriteria(criteria);
            // some problems here.
            foreach (TCategory _Category in categoryCollection)
            {
                this.Add(_Category, func_GetEntityCollectionOfOneCategory(_Category, entityCollection), criteria, dateTimePivotSetting.DateTimeUnitOfInterval, dateTimePivotSetting.Interval);
            }

            foreach (var _OneItem in this)
            {
                List <TCollection> _Distributed = new List <TCollection>();
                foreach (var _OneCriteria in _ConsecutiveDistributionCriteria)
                {
                    _Distributed.Add(_OneItem.GetEntityCollectionOfOneCriteria(_OneCriteria, func_GetEntityCollectionOfOneCriteria));
                }
                _OneItem.DistributedEntityCollection = _Distributed.ToArray();
                _OneItem.SubSummary = _OneItem.CalculateSubSummary(func_CalculateSubSummary);
            }
        }
Example #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DateTimePivot&lt;TCollection, T, TCategory, TSubSummary&gt;"/> class.
 /// </summary>
 /// <param name="category">The category.</param>
 /// <param name="entityCollection">The entity collection.</param>
 /// <param name="dateTimePivotSetting">The date time pivot setting.</param>
 public DateTimePivot(
     TCategory category
     , TCollection entityCollection
     , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
     , Framework.DateTimePivotEntities.DateTimePivotSetting dateTimePivotSetting)
     : this(category, entityCollection, dateTimePivotSetting.CalculateConsecutiveDistributionCriteria(criteria))
 {
 }
        /// <summary>
        /// Adds the specified category.
        /// </summary>
        /// <param name="category">The category.</param>
        /// <param name="entityCollection">The entity collection.</param>
        /// <param name="criteria">The criteria.</param>
        protected void Add(
            TCategory category
            , TCollection entityCollection
            , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
            , Framework.Queries.DateTimeUnit dateTimeUnitOfInterval
            , int interval
            )
        {
            if (category != null && criteria != null)
            {
                Framework.DateTimePivotEntities.DateTimePivot <TCollection, T, TCategory, TSubSummary> _One = new Framework.DateTimePivotEntities.DateTimePivot <TCollection, T, TCategory, TSubSummary>(category, entityCollection, (new DateTimePivotSetting(dateTimeUnitOfInterval, interval)).CalculateConsecutiveDistributionCriteria(criteria));

                this.Add(_One);
            }
        }
Example #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DateTimePivotContextByNameValuePairBase&lt;TCollection, T, TSubSummary, TSummary&gt;"/> class.
 /// </summary>
 /// <param name="categoryCollection">The category collection.</param>
 /// <param name="entityCollection">The entity collection.</param>
 /// <param name="criteria">The criteria.</param>
 /// <param name="func_GetEntityCollectionOfOneCategory">The func_ get entity collection of one category.</param>
 /// <param name="func_CalculateSummary">The func_ calculate summary.</param>
 /// <param name="func_GetEntityCollectionOfOneCriteria">The func_ get entity collection of one criteria.</param>
 /// <param name="func_CalculateSubSummary">The func_ calculate sub summary.</param>
 public DateTimePivotContextByNameValuePairBase(
     List <Framework.Models.NameValuePair> categoryCollection
     , TCollection entityCollection
     , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
     , Func <Framework.Models.NameValuePair, TCollection, TCollection> func_GetEntityCollectionOfOneCategory
     , Func <TCollection, TSummary> func_CalculateSummary
     , Func <Framework.Queries.QuerySystemDateTimeRangeCriteria, TCollection, TCollection> func_GetEntityCollectionOfOneCriteria
     , Func <TCollection, TSubSummary> func_CalculateSubSummary
     )
     : base(
         categoryCollection
         , entityCollection
         , criteria
         , func_GetEntityCollectionOfOneCategory
         , func_CalculateSummary
         , func_GetEntityCollectionOfOneCriteria
         , func_CalculateSubSummary)
 {
 }
Example #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DateTimePivotContextByAlphabeticalOrderCategoryBase&lt;TCollection, T, TSubSummary, TSummary&gt;"/> class.
 /// </summary>
 /// <param name="categoryCollection">The category collection.</param>
 /// <param name="entityCollection">The entity collection.</param>
 /// <param name="criteria">The criteria.</param>
 /// <param name="func_GetEntityCollectionOfOneCategory">The func_ get entity collection of one category.</param>
 /// <param name="func_CalculateSummary">The func_ calculate summary.</param>
 /// <param name="func_GetEntityCollectionOfOneCriteria">The func_ get entity collection of one criteria.</param>
 /// <param name="func_CalculateSubSummary">The func_ calculate sub summary.</param>
 public DateTimePivotContextByAlphabeticalOrderCategoryBase(
     Framework.Queries.AlphabeticalOrderCategoryCollection categoryCollection
     , TCollection entityCollection
     , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
     , Func <Framework.Queries.AlphabeticalOrderCategory, TCollection, TCollection> func_GetEntityCollectionOfOneCategory
     , Func <TCollection, TSummary> func_CalculateSummary
     , Func <Framework.Queries.QuerySystemDateTimeRangeCriteria, TCollection, TCollection> func_GetEntityCollectionOfOneCriteria
     , Func <TCollection, TSubSummary> func_CalculateSubSummary
     )
     : base(
         categoryCollection
         , entityCollection
         , criteria
         , func_GetEntityCollectionOfOneCategory
         , func_CalculateSummary
         , func_GetEntityCollectionOfOneCriteria
         , func_CalculateSubSummary)
 {
 }
Example #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DateTimePivotContextByDateTimePivotSettingBase&lt;TCollection, T, TSubSummary, TSummary&gt;"/> class.
 /// </summary>
 /// <param name="dateTimePivotSetting">The date time pivot setting.</param>
 /// <param name="func_GetNameValueCollection">The func_ get name value collection.</param>
 /// <param name="entityCollection">The entity collection.</param>
 /// <param name="criteria">The criteria.</param>
 /// <param name="func_GetEntityCollectionOfOneCategory">The func_ get entity collection of one category.</param>
 /// <param name="func_CalculateSummary">The func_ calculate summary.</param>
 /// <param name="func_GetEntityCollectionOfOneCriteria">The func_ get entity collection of one criteria.</param>
 /// <param name="func_CalculateSubSummary">The func_ calculate sub summary.</param>
 protected DateTimePivotContextByDateTimePivotSettingBase(
     Framework.DateTimePivotEntities.DateTimePivotSetting dateTimePivotSetting
     , Func <Framework.DateTimePivotEntities.DateTimePivotSetting, List <Framework.Models.NameValuePair> > func_GetNameValueCollection
     , TCollection entityCollection
     , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
     , Func <Framework.Models.NameValuePair, TCollection, TCollection> func_GetEntityCollectionOfOneCategory
     , Func <TCollection, TSummary> func_CalculateSummary
     , Func <Framework.Queries.QuerySystemDateTimeRangeCriteria, TCollection, TCollection> func_GetEntityCollectionOfOneCriteria
     , Func <TCollection, TSubSummary> func_CalculateSubSummary
     )
     : base(
         func_GetNameValueCollection(dateTimePivotSetting)
         , entityCollection
         , criteria
         , func_GetEntityCollectionOfOneCategory
         , func_CalculateSummary
         , func_GetEntityCollectionOfOneCriteria
         , func_CalculateSubSummary)
 {
 }
Example #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DateTimePivotContextBase&lt;TCollection, T, TCategoryCollection, TCategory, TSubSummary, TSummary&gt;"/> class.
        /// </summary>
        /// <param name="categoryCollection">The category collection.</param>
        /// <param name="entityCollection">The entity collection.</param>
        /// <param name="dateTimePivotSetting">The date time pivot setting.</param>
        /// <param name="func_GetEntityCollectionOfOneCategory">The func_ get entity collection of one category.</param>
        /// <param name="func_CalculateSummary">The func_ calculate summary.</param>
        /// <param name="func_GetEntityCollectionOfOneCriteria">The func_ get entity collection of one criteria.</param>
        /// <param name="func_CalculateSubSummary">The func_ calculate sub summary.</param>
        protected DateTimePivotContextBase(
            TCategoryCollection categoryCollection
            , TCollection entityCollection
            , Framework.Queries.QuerySystemDateTimeRangeCriteria criteria
            , Func <TCategory, TCollection, TCollection> func_GetEntityCollectionOfOneCategory
            , Func <TCollection, TSummary> func_CalculateSummary
            , Func <Framework.Queries.QuerySystemDateTimeRangeCriteria, TCollection, TCollection> func_GetEntityCollectionOfOneCriteria
            , Func <TCollection, TSubSummary> func_CalculateSubSummary
            )
        {
            this.CategoryCollection = categoryCollection;
            this.EntityCollection   = entityCollection;
            this.Criteria           = criteria;

            this.Func_CalculateSubSummary = func_CalculateSubSummary;
            this.Func_CalculateSummary    = func_CalculateSummary;
            this.Func_GetEntityCollectionOfOneCategory = func_GetEntityCollectionOfOneCategory;
            this.Func_GetEntityCollectionOfOneCriteria = func_GetEntityCollectionOfOneCriteria;

            this.Summary = this.Func_CalculateSummary(this.EntityCollection);
        }
 /// <summary>
 /// Calculates the consecutive distribution criteria.
 /// </summary>
 /// <returns></returns>
 public Framework.Queries.QuerySystemDateTimeRangeCriteria[] CalculateConsecutiveDistributionCriteria(Framework.Queries.QuerySystemDateTimeRangeCriteria criteria)
 {
     return(criteria.CalculateConsecutiveDistributionCriteria(this.DateTimeUnitOfInterval, this.Interval));
 }
Example #12
0
        /// <param name="queryOrderBySettingCollection">query OrderBy setting</param>
        /// <returns>IQueryable&lt;...&gt; of Common</returns>
        internal IQueryable <Elmah.DataSourceEntities.ELMAH_Error.Default> _GetQueryOfDefaultByCommon(
            Framework.Queries.QuerySystemStringEqualsCriteria application
            , Framework.Queries.QuerySystemStringEqualsCriteria host
            , Framework.Queries.QuerySystemStringEqualsCriteria source
            , Framework.Queries.QuerySystemInt32EqualsCriteria statusCode
            , Framework.Queries.QuerySystemStringEqualsCriteria type
            , Framework.Queries.QuerySystemStringEqualsCriteria user
            , Framework.Queries.QuerySystemStringContainsCriteria message
            , Framework.Queries.QuerySystemStringContainsCriteria allXml
            , Framework.Queries.QuerySystemDateTimeRangeCriteria timeUtcRange
            , Framework.Queries.QueryOrderBySettingCollection queryOrderBySettingCollection
            )
        {
            var _ResultFromDataSource =
                (
                    from t in this.LinqContext.ELMAH_Error
                    join ElmahApplication in this.LinqContext.ElmahApplication on t.Application equals ElmahApplication.Application
                    join ElmahHost in this.LinqContext.ElmahHost on t.Host equals ElmahHost.Host
                    join ElmahSource in this.LinqContext.ElmahSource on t.Source equals ElmahSource.Source
                    join ElmahStatusCode in this.LinqContext.ElmahStatusCode on t.StatusCode equals ElmahStatusCode.StatusCode
                    join ElmahType in this.LinqContext.ElmahType on t.Type equals ElmahType.Type
                    join ElmahUser in this.LinqContext.ElmahUser on t.User equals ElmahUser.User
                    where
                    (
                        (
                            (application.IsToCompare == false || application.IsToCompare && ElmahApplication.Application == application.ValueToCompare)
                            &&
                            (host.IsToCompare == false || host.IsToCompare && ElmahHost.Host == host.ValueToCompare)
                            &&
                            (source.IsToCompare == false || source.IsToCompare && ElmahSource.Source == source.ValueToCompare)
                            &&
                            (statusCode.IsToCompare == false || statusCode.IsToCompare && ElmahStatusCode.StatusCode == statusCode.ValueToCompare)
                            &&
                            (type.IsToCompare == false || type.IsToCompare && ElmahType.Type == type.ValueToCompare)
                            &&
                            (user.IsToCompare == false || user.IsToCompare && ElmahUser.User == user.ValueToCompare)
                        )
                        &&
                        (
                            !message.IsToCompare
                            &&
                            !allXml.IsToCompare
                            ||
                            message.IsToCompare && t.Message.Contains(message.ValueToBeContained)
                            ||
                            allXml.IsToCompare && t.AllXml.Contains(allXml.ValueToBeContained)
                        )
                        &&
                        (
                            !timeUtcRange.IsToCompare
                            ||
                            timeUtcRange.IsToCompare && (timeUtcRange.IsToCompareLowerBound == false || timeUtcRange.IsToCompareLowerBound && t.TimeUtc > timeUtcRange.LowerBound) && (timeUtcRange.IsToCompareUpperBound == false || timeUtcRange.IsToCompareUpperBound && t.TimeUtc <= timeUtcRange.UpperBound)
                        )
                    )
                    select new Elmah.DataSourceEntities.ELMAH_Error.Default {
                ElmahApplication_Name = ElmahApplication.Application, ErrorId = t.ErrorId, ElmahHost_Name = ElmahHost.Host, ElmahSource_Name = ElmahSource.Source, ElmahStatusCode_Name = ElmahStatusCode.Name, ElmahType_Name = ElmahType.Type, ElmahUser_Name = ElmahUser.User, Application = t.Application, Host = t.Host, Type = t.Type, Source = t.Source, Message = t.Message, User = t.User, StatusCode = t.StatusCode, TimeUtc = t.TimeUtc, Sequence = t.Sequence, AllXml = t.AllXml
            } into vD2
                    select vD2
                );
            var _retval = _ResultFromDataSource;

            if (queryOrderBySettingCollection == null || queryOrderBySettingCollection.Count == 0)
            {
                return(_retval);
            }
            return(_retval.OrderBy(queryOrderBySettingCollection.GetOrderByExpression()));
        }
Example #13
0
 /// <summary>
 /// Gets the entity collection of one criteria.
 /// </summary>
 /// <param name="oneCriteria">The one criteria.</param>
 /// <returns>entity Collection meets criteria</returns>
 public virtual TCollection GetEntityCollectionOfOneCriteria(Framework.Queries.QuerySystemDateTimeRangeCriteria oneCriteria)
 {
     return(this.Func_GetEntityCollectionOfOneCriteria(oneCriteria, this.EntityCollection));
 }