public override ValidationResult Validate(object value, CultureInfo cultureInfo) { var val = value as string; if (val.IsEmpty()) { return(new ValidationResult(true, null)); } var ret = decimal.TryParse(val, out _); if (ret) { return(new ValidationResult(true, null)); } else { var svr = ApplicationEx.GetService <IMessageService>(); var msg = svr.Get("00010", cultureInfo.Name, "", decimal.MinValue.ToString(), decimal.MaxValue.ToString()); var msgsvr = ApplicationEx.GetService <IShowMessageService>(); if (Enum.TryParse(msg.MessageType, out MessageType msgType) == true) { msgsvr.DirectShow(msg.MessageString, msgType); } else { msgsvr.DirectShow(msg.MessageString, MessageType.Information); } return(new ValidationResult(false, msg.MessageString)); } }
public override bool IsValid(object value) { if (value.IsEmpty()) { var svr = ApplicationEx.GetService <IMessageService>(); var msg = svr.Get("00008", CultureInfo.CurrentCulture.Name, this._AddMessage); this.ErrorMessage = msg.MessageString; var msgsvr = ApplicationEx.GetService <IShowMessageService>(); if (Enum.TryParse(msg.MessageType, out MessageType msgType) == true) { msgsvr.DirectShow(msg.MessageString, msgType); } else { msgsvr.DirectShow(msg.MessageString, MessageType.Information); } //msgsvr.Show("00008", CultureInfo.CurrentCulture.Name, this._AddMessage); return(false); } else { return(true); } }
private void OwnerWindow_Closing(object sender, CancelEventArgs e) { var msg = ApplicationEx.GetService <IShowMessageService>(); var ret = msg.Show("00009", CultureInfo.CurrentCulture.Name); if (ret == MessageBoxResult.Yes) { ((Window)sender).DataContext = null; } else { e.Cancel = true; } }
public override ValidationResult Validate(object value, CultureInfo cultureInfo) { var val = value as string; if (val.IsEmpty()) { return(new ValidationResult(true, null)); } var now = Time.Now; int hour; var minute = now.Minute; var second = now.Second; var hasError = false; switch (val.Length) { case 1: // "."の場合はシステム時刻だと判断する // 上記以外の場合はシステム時刻の時とする break; case 2: // システム時刻の時だと判断する if (Time.TryParse($"{val.ToString()}:{minute.ToString()}:{second.ToString()}", out _) == false) { hasError = true; } break; case 4: // システム時刻の入力時分だと判断する hour = int.Parse(val.AsSpan(0, 2)); minute = int.Parse(val.AsSpan(2, 2)); if (Time.TryParse($"{hour.ToString()}:{minute.ToString()}:{second.ToString()}", out _) == false) { hasError = true; } break; case 6: // HHmmssの入力だと判断する hour = int.Parse(val.AsSpan(0, 2)); minute = int.Parse(val.AsSpan(2, 2)); second = int.Parse(val.AsSpan(4, 2)); if (Time.TryParse($"{hour.ToString()}:{minute.ToString()}:{second.ToString()}", out _) == false) { hasError = true; } break; default: hasError = true; break; } if (hasError) { var svr = ApplicationEx.GetService <IMessageService>(); var msg = svr.Get("00012", cultureInfo.Name); var msgsvr = ApplicationEx.GetService <IShowMessageService>(); if (Enum.TryParse(msg.MessageType, out MessageType msgType) == true) { msgsvr.DirectShow(msg.MessageString, msgType); } else { msgsvr.DirectShow(msg.MessageString, MessageType.Information); } //msgsvr.Show("00012", cultureInfo.Name); return(new ValidationResult(false, msg.MessageString)); } return(new ValidationResult(true, null)); }
public override bool IsValid(object value) { if (value.IsEmpty()) { return(true); } IComparable val = (IComparable)value; IComparable min = null; IComparable max = null; switch (this._Type) { case RangeExType.Decimal: min = decimal.Parse(this._Minimum as string); max = decimal.Parse(this._Maximum as string); break; case RangeExType.Int: min = (int)this._Minimum; max = (int)this._Maximum; break; case RangeExType.Date: min = Date.Parse(this._Minimum as string); max = Date.Parse(this._Maximum as string); break; } if (min.CompareTo(val) > 0) { var svr = ApplicationEx.GetService <IMessageService>(); var msg = svr.Get("00010", CultureInfo.CurrentCulture.Name, this._AddMessage, this._Minimum.ToString(), this._Maximum.ToString()); this.ErrorMessage = msg.MessageString; var msgsvr = ApplicationEx.GetService <IShowMessageService>(); if (Enum.TryParse(msg.MessageType, out MessageType msgType) == true) { msgsvr.DirectShow(msg.MessageString, msgType); } else { msgsvr.DirectShow(msg.MessageString, MessageType.Information); } //msgsvr.Show("00010", CultureInfo.CurrentCulture.Name, this._AddMessage, this._Minimum.ToString(), this._Maximum.ToString()); return(false); } if (max.CompareTo(val) < 0) { var svr = ApplicationEx.GetService <IMessageService>(); var msg = svr.Get("00010", CultureInfo.CurrentCulture.Name, this._AddMessage, this._Minimum.ToString(), this._Maximum.ToString()); this.ErrorMessage = msg.MessageString; var msgsvr = ApplicationEx.GetService <IShowMessageService>(); if (Enum.TryParse(msg.MessageType, out MessageType msgType) == true) { msgsvr.DirectShow(msg.MessageString, msgType); } else { msgsvr.DirectShow(msg.MessageString, MessageType.Information); } //msgsvr.Show("00010", CultureInfo.CurrentCulture.Name, this._AddMessage, this._Minimum.ToString(), this._Maximum.ToString()); return(false); } return(true); }
public override ValidationResult Validate(object value, CultureInfo cultureInfo) { var val = value as string; if (val.IsEmpty()) { return(new ValidationResult(true, null)); } var now = Date.Now; var year = now.Year; var month = now.Month; var hasError = false; int day; switch (val.Length) { case 1: // "."の場合はシステム日付だと判断する // 上記以外の場合はシステム年月の入力日とする if (val == "0") { hasError = true; } break; case 2: // システム年月の入力日だと判断する if (Date.TryParse($"{year.ToString()}/{month.ToString()}/{val}", out _) == false) { hasError = true; } break; case 4: // システム年の入力年月だと判断する month = int.Parse(val.AsSpan(0, 2)); day = int.Parse(val.AsSpan(2, 2)); if (Date.TryParse($"{year.ToString()}/{month.ToString()}/{day.ToString()}", out _) == false) { hasError = true; } break; case 8: // yyyyMMddの入力だと判断する year = int.Parse(val.AsSpan(0, 4)); month = int.Parse(val.AsSpan(4, 2)); day = int.Parse(val.AsSpan(6, 2)); if (Date.TryParse($"{year.ToString()}/{month.ToString()}/{day.ToString()}", out _) == false) { hasError = true; } break; default: hasError = true; break; } if (hasError) { var svr = ApplicationEx.GetService <IMessageService>(); var msg = svr.Get("00011", cultureInfo.Name); var msgsvr = ApplicationEx.GetService <IShowMessageService>(); if (Enum.TryParse(msg.MessageType, out MessageType msgType) == true) { msgsvr.DirectShow(msg.MessageString, msgType); } else { msgsvr.DirectShow(msg.MessageString, MessageType.Information); } return(new ValidationResult(false, msg.MessageString)); } return(new ValidationResult(true, null)); }