public override string ToString()
        {
            var bindtype = UseCache ? $"usando cache {CacheName}" : Value != null ? $"o valor {Value}" : "";

            return($"{base.ToString()} no type {Type}.{PropertyToBind} {bindtype}, mascara {Mask}, customMask: {CustomMask.GetDescription()}, customType: {CustomType.GetDescription()}");
        }
 public virtual IPositionalBindAction SetCustomMask(CustomMask mask)
 {
     CustomMask = mask;
     return(this);
 }
Exemplo n.º 3
0
        /// <summary>
        ///     Formata o valor de acordo com o tipo do dado.
        /// </summary>
        /// <param name="valueDatatype">Tipo do dado.</param>
        /// <param name="substring">Valor a ser formatado.</param>
        /// <param name="value">Máscara a ser aplicada no momento do format.</param>
        /// <param name="customMask">Máscara customizada a ser aplicada.<seealso cref="CustomMask" /></param>
        /// <returns></returns>
        private object FormatValue(Type valueDatatype, string value, string valueMask, CustomMask customMask)
        {
            object data = null;

            if (valueDatatype.IsAssignableFrom(typeof(DateTime)))
            {
                data = DateTime.ParseExact(value, valueMask, CultureInfo.CurrentCulture);
            }
            else if (valueDatatype.IsEnum)
            {
                var enumValue = valueDatatype.GetEnumValues();
                foreach (var x in enumValue)
                {
                    if (x.ToString().Equals(value))
                    {
                        return(x);
                    }
                }
            }
            else if (valueDatatype.IsAssignableFrom(typeof(Period)))
            {
                if (customMask == CustomMask.CompleteMonthYear)
                {
                    data = new Period
                    {
                        Month = GetMonthNumber(value.Split('/')[0]),
                        Year  = Convert.ToInt32(value.Split('/')[1])
                    };
                }
            }
            else if (valueDatatype.IsAssignableFrom(typeof(int)))
            {
                try
                {
                    if (customMask == CustomMask.MonthAsText)
                    {
                        data = GetMonthNumber(value);
                    }
                    else
                    {
                        data = Convert.ToInt32(value);
                    }
                }
                catch (Exception e)
                {
                    Log.Error($"erro durante a conversao do objeto {value} para o type {valueDatatype}");
                }
            }
            else if (valueDatatype.IsAssignableFrom(typeof(long)))
            {
                data = Convert.ToInt64(value);
            }
            else if (valueDatatype.IsAssignableFrom(typeof(bool)))
            {
                data = value.EqualsIgnoreCase("TRUE") ||
                       value.EqualsIgnoreCase("T") ||
                       value.EqualsIgnoreCase("S") ||
                       value.EqualsIgnoreCase("SIM") ||
                       value.EqualsIgnoreCase("YES") ||
                       value.EqualsIgnoreCase("Y") ||
                       value.EqualsIgnoreCase("1");
            }
            else if (valueDatatype.IsAssignableFrom(typeof(decimal)))
            {
                if (customMask == CustomMask.Monetary)
                {
                    var provider = new NumberFormatInfo
                    {
                        NumberDecimalDigits    = 6,
                        NumberDecimalSeparator = ",",
                        NumberGroupSeparator   = "."
                    };
                    data = Convert.ToDecimal(Convert.ToDecimal(value, provider));
                }
                else
                {
                    data = Convert.ToDecimal(Convert.ToDecimal(value).ToString(valueMask));
                }
            }
            else
            {
                data = value;
            }
            return(data);
        }
Exemplo n.º 4
0
 public IColumnBindAction SetCustomMask(CustomMask mask)
 {
     CustomMask = mask;
     return(this);
 }
Exemplo n.º 5
0
        private void własnaMaskaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CustomMask customMask = new CustomMask(this);

            customMask.Show();
        }