コード例 #1
0
ファイル: RoundingFactory.cs プロジェクト: ywscr/NBi
        public static Rounding Build(IColumnDefinition columnDefinition)
        {
            if (columnDefinition.Role != ColumnRole.Value)
            {
                throw new ArgumentException("The ColumnDefinition must have have a role defined as 'Value' and is defined as 'Key'", "columnDefinition");
            }

            Rounding rounding = null;

            switch (columnDefinition.Type)
            {
            case ColumnType.Text:
                break;

            case ColumnType.Numeric:
                rounding = new NumericRounding(decimal.Parse(columnDefinition.RoundingStep, NumberFormatInfo.InvariantInfo), columnDefinition.RoundingStyle);
                break;

            case ColumnType.DateTime:
                rounding = new DateTimeRounding(TimeSpan.Parse(columnDefinition.RoundingStep, NumberFormatInfo.InvariantInfo), columnDefinition.RoundingStyle);
                break;

            case ColumnType.Boolean:
                break;

            default:
                break;
            }

            return(rounding);
        }
コード例 #2
0
        public ComparerResult CompareObjects(object x, object y, DateTimeRounding rounding)
        {
            var rxDateTime = caster.Execute(x);
            var ryDateTime = caster.Execute(y);

            rxDateTime = rounding.GetValue(rxDateTime);
            ryDateTime = rounding.GetValue(ryDateTime);

            return(CompareObjects(rxDateTime, ryDateTime));
        }