public SummaryRepositoryItemsContext Check(ISummaryRepositoryItem item)
        {
            var itemKey = item.Key;

            if (Key != itemKey)
            {
                throw new ArgumentException(
                    "Переданный на проверку элемент не соответствует общему контексту по ключу:\r\n" +
                    "ItemsContext.Key = '{0}'\r\n".FillWith(Key) +
                    "Item.Key = '{0}'".FillWith(itemKey)
                );
            }

            var itemType = item.GetType();

            if (ItemsType != itemType)
            {
                throw new ArgumentException(
                    "Переданный на проверку элемент не соответствует общему контексту по типу:\r\n" +
                    "ItemsContext.ItemsType = '{0}'\r\n".FillWith(ItemsType.TypeName()) +
                    "Item.GetType() = '{0}'".FillWith(itemType.TypeName())
                );
            }

            return this;
        }
Ejemplo n.º 2
0
        private static void SUMAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (SimpleSummaryRepositoryItem)result;
            var y = (SimpleSummaryRepositoryItem)item;

            x.Value = x.Value == null ? y.Value : Convert.ChangeType(x.Value.As <decimal>() + y.Value.As <decimal>(), x.Value.GetType());
        }
        private static void COUNTAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (SimpleSummaryRepositoryItem)result;
            var y = (SimpleSummaryRepositoryItem)item;

            x.Value = x.Value == null ? y.Value : x.Value.As<int>() + y.Value.As<int>();
        }
Ejemplo n.º 4
0
        public SummaryRepositoryItemsContext Check(ISummaryRepositoryItem item)
        {
            var itemKey = item.Key;

            if (Key != itemKey)
            {
                throw new ArgumentException(
                          "Переданный на проверку элемент не соответствует общему контексту по ключу:\r\n" +
                          "ItemsContext.Key = '{0}'\r\n".FillWith(Key) +
                          "Item.Key = '{0}'".FillWith(itemKey)
                          );
            }


            var itemType = item.GetType();

            if (ItemsType != itemType)
            {
                throw new ArgumentException(
                          "Переданный на проверку элемент не соответствует общему контексту по типу:\r\n" +
                          "ItemsContext.ItemsType = '{0}'\r\n".FillWith(ItemsType.TypeName()) +
                          "Item.GetType() = '{0}'".FillWith(itemType.TypeName())
                          );
            }


            return(this);
        }
Ejemplo n.º 5
0
        private static void COUNTAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (SimpleSummaryRepositoryItem)result;
            var y = (SimpleSummaryRepositoryItem)item;


            x.Value = x.Value == null ? y.Value : x.Value.As <int>() + y.Value.As <int>();
        }
Ejemplo n.º 6
0
        private static void MINAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (SimpleSummaryRepositoryItem)result;
            var y = (SimpleSummaryRepositoryItem)item;

            var xValue = (IComparable)x.Value;
            var yValue = (IComparable)y.Value;

            x.Value = xValue == null ? yValue : xValue.CompareTo(yValue) > 0 ? yValue : xValue;
        }
Ejemplo n.º 7
0
        private static void AVGAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (AVGSummaryRepositoryItem)result;
            var y = (AVGSummaryRepositoryItem)item;

            x.Sum   += y.Sum;
            x.Count += y.Count;

            x.Value = x.Sum / x.Count;
        }
        private static void MAXAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (SimpleSummaryRepositoryItem)result;
            var y = (SimpleSummaryRepositoryItem)item;

            var xValue = (IComparable)x.Value;
            var yValue = (IComparable)y.Value;

            x.Value = xValue == null ? yValue : xValue.CompareTo(yValue) > 0 ? xValue : yValue;
        }
        private static void AVGAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (AVGSummaryRepositoryItem)result;
            var y = (AVGSummaryRepositoryItem)item;

            x.Sum += y.Sum;
            x.Count += y.Count;

            x.Value = x.Sum / x.Count;
        }
        private static void SUMAggregateAction(ISummaryRepositoryItem result, ISummaryRepositoryItem item)
        {
            var x = (SimpleSummaryRepositoryItem)result;
            var y = (SimpleSummaryRepositoryItem)item;

            x.Value = x.Value == null ? y.Value : Convert.ChangeType(x.Value.As<decimal>() + y.Value.As<decimal>(), x.Value.GetType());
        }