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); }
/// <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); }
public IColumnBindAction SetCustomMask(CustomMask mask) { CustomMask = mask; return(this); }
private void własnaMaskaToolStripMenuItem_Click(object sender, EventArgs e) { CustomMask customMask = new CustomMask(this); customMask.Show(); }