Esempio n. 1
0
        protected void MapCostCodeColumns(params string[] columns)
        {
            if ((columns == null) || (columns.Length == 0))
            {
                columns = DefaultCostCodeColumns.ToArray();
            }

            ColumnMappings
            .AddMapping(
                contract => contract.CostCode,
                (c, o) =>
            {
                var number = TryParser.Nullable <decimal>(o);
                if (number == null)
                {
                    c.CostCode = string.Format("{0}", o).Trim();
                }
                else
                {
                    number     = Math.Floor(number.Value);
                    c.CostCode = string.Format("{0:000000000}", number);
                }
            },
                columns);
        }
Esempio n. 2
0
        public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
        {
            var model = (DashboardRequest)bindingContext.Model ?? new DashboardRequest();

            var hasPrefix = bindingContext
                            .ValueProvider
                            .ContainsPrefix(bindingContext.ModelName);

            var searchPrefix = (hasPrefix) ? bindingContext.ModelName + "." : string.Empty;

            Dimension dimension;
            Section   section;

            Enum.TryParse(actionContext.ActionDescriptor.ActionName, out dimension);
            Enum.TryParse(GetValue(bindingContext, searchPrefix, "Section"), out section);

            model.ActivityGroupId =
                TryParser.Nullable <Guid>(GetValue(bindingContext, searchPrefix, "ActivityGroupId"));
            model.CostCode  = GetValue(bindingContext, searchPrefix, "CostCode");
            model.StartDate = GetDateTime(bindingContext, searchPrefix, "StartDate");
            model.EndDate   = GetDateTime(bindingContext, searchPrefix, "EndDate");
            model.Dimension = dimension;
            model.Section   = section;

            bindingContext.Model = model;

            return(true);
        }
Esempio n. 3
0
        private static void DateConversion(TravelDataContract contract, object value)
        {
            var datetime = TryParser.DateTime(value);

            contract.StartDate = datetime;
            contract.EndDate   = datetime;
        }
Esempio n. 4
0
        public static double?Double(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <double> parser = (string v, out double result)
                                        => System.Double.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
Esempio n. 5
0
        public static int?Int32(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <int> parser = (string v, out int result)
                                     => System.Int32.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
Esempio n. 6
0
        public static decimal?Decimal(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <decimal> parser = (string v, out decimal result)
                                         => System.Decimal.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
Esempio n. 7
0
        public static ulong?UInt64(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <ulong> parser = (string v, out ulong result)
                                       => System.UInt64.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
Esempio n. 8
0
        public static ushort?UInt16(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <ushort> parser = (string v, out ushort result)
                                        => System.UInt16.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
    public static T TryParse <T>(this string str, TryParser <T> tryParser)
    {
        T outResult;

        tryParser(str, out outResult);
        return(outResult);
    }
Esempio n. 10
0
        public static T?ParseOrDefault <T>(
            this string s, TryParser <T> parser) where T : struct
        {
            T result;

            return(parser(s, out result) ? result : default(T?));
        }
Esempio n. 11
0
        public static float?Single(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <float> parser = (string v, out float result)
                                       => System.Single.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
Esempio n. 12
0
        public static byte?Byte(string value, NumberStyles style, IFormatProvider provider)
        {
            TryParser <byte> parser = (string v, out byte result)
                                      => System.Byte.TryParse(v, style, provider, out result);

            return(parser.NullInvoke(value));
        }
Esempio n. 13
0
        public static T TryParse <T>(this string value, TryParser <T> parser)
        {
            T val;

            parser.Invoke(value, out val);
            return(val);
        }
Esempio n. 14
0
        public static T?TryParseNullable <T>(this string value, TryParser <T> parser)
            where T : struct
        {
            T val;

            return(parser.Invoke(value, out val) ? val : null as T?);
        }
Esempio n. 15
0
        public void DateTimeMustBeNullForMMDDYYYSlashFormat()
        {
            //Arrange+Act
            var result = TryParser.DateTime("05/13/2013");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 16
0
        public void DateTimeMustWorkWithDDMMYYYSlashFormat()
        {
            //Arrange+Act
            var result = TryParser.DateTime("13/05/2013");

            //Assert
            Assert.AreEqual(new DateTime(2013, 5, 13), result);
        }
Esempio n. 17
0
        public void DateTimeMustReturnNullWhenLargeNegativeDouble()
        {
            //Arrange+Act
            var result = TryParser.DateTime("-693594");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 18
0
        public void DateTimeMustReturnValidDateForSmallestDouble()
        {
            //Arrange+Act
            var result = TryParser.DateTime("-693593");

            //Assert
            Assert.AreEqual(DateTime.MinValue, result);
        }
Esempio n. 19
0
        public void DateTimeMustReturnValidDateForLargestDouble()
        {
            //Arrange+Act
            var result = TryParser.DateTime("2958465");

            //Assert
            Assert.AreEqual(DateTime.MaxValue.Date, result);
        }
Esempio n. 20
0
        public void DoubleDateTimeMustAlsoWork()
        {
            //Arrange+Act
            var result = TryParser.DateTime(41407);

            //Assert
            Assert.AreEqual(new DateTime(2013, 5, 13), result);
        }
Esempio n. 21
0
        public void InvalidEnumValueMustBeNull()
        {
            //Arrange+Act
            var result = TryParser.Nullable <CultureTypes>("AllCltures");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 22
0
        public void EnumValueMustBeConvertable()
        {
            //Arrange+Act
            var result = TryParser.Nullable <CultureTypes>("AllCultures");

            //Assert
            Assert.AreEqual(CultureTypes.AllCultures, result);
        }
Esempio n. 23
0
        public void DecimalEmptyStringMustBeNull()
        {
            //Arrange+Act
            var result = TryParser.Nullable <decimal>("");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 24
0
        public void DecimalValueMustBeConvertable()
        {
            //Arrange+Act
            var result = TryParser.Nullable <decimal>("1234.12345");

            //Assert
            Assert.AreEqual(1234.12345M, result);
        }
Esempio n. 25
0
        public void DateTimeEmptyStringMustReturnNull()
        {
            //Arrange+Act
            var result = TryParser.DateTime("");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 26
0
        public void DateTimeMustWorkWithYYYYMMDDDashFormat()
        {
            //Arrange+Act
            var result = TryParser.DateTime("2013-05-13");

            //Assert
            Assert.AreEqual(new DateTime(2013, 5, 13), result);
        }
Esempio n. 27
0
        public void EmptyStringForEnumValueMustBeNull()
        {
            //Arrange+Act
            var result = TryParser.Nullable <CultureTypes>("");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 28
0
        public void DateTimeMustReturnNullWhenLargeDouble()
        {
            //Arrange+Act
            var result = TryParser.DateTime("20120401.0");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 29
0
        public void InvalidValueForDecimalMustBeNull()
        {
            //Arrange+Act
            var result = TryParser.Nullable <decimal>("1234.12345M");

            //Assert
            Assert.IsNull(result);
        }
Esempio n. 30
0
        public void DateTimeMustBeNullForIncorrectFormat()
        {
            //Arrange+Act
            var result = TryParser.DateTime("13-13-2013");

            //Assert
            Assert.IsNull(result);
        }