本文整理汇总了C#中ModelStateDictionary.GetPropertyErrors方法的典型用法代码示例。如果您正苦于以下问题:C# ModelStateDictionary.GetPropertyErrors方法的具体用法?C# ModelStateDictionary.GetPropertyErrors怎么用?C# ModelStateDictionary.GetPropertyErrors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModelStateDictionary
的用法示例。
在下文中一共展示了ModelStateDictionary.GetPropertyErrors方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoDateAndTimeValidation
private void DoDateAndTimeValidation(AppointmentViewModel viewModel, DateTime localNow, int? excludeAppointmentId)
{
if (viewModel.LocalDateTime != viewModel.LocalDateTime.Date)
throw new ArgumentException("viewModel.Date must be the date alone, without time data.");
var inconsistencyMessages = new ModelStateDictionary();
if (!string.IsNullOrEmpty(viewModel.Start) && !string.IsNullOrEmpty(viewModel.End))
{
var startTimeLocal = viewModel.LocalDateTime + DateTimeHelper.GetTimeSpan(viewModel.Start);
var endTimeLocal = viewModel.LocalDateTime + DateTimeHelper.GetTimeSpan(viewModel.End);
var startTimeUtc = ConvertToUtcDateTime(this.DbPractice, startTimeLocal);
var endTimeUtc = ConvertToUtcDateTime(this.DbPractice, endTimeLocal);
var isTimeAvailable = IsTimeAvailableUtc(startTimeUtc, endTimeUtc, this.Doctor.Appointments, excludeAppointmentId);
if (!isTimeAvailable)
{
inconsistencyMessages.AddModelError(
() => viewModel.LocalDateTime,
"A data e hora já está marcada para outro compromisso.");
}
}
// Setting the error message to display near the date and time configurations.
var emptyErrors = new ModelErrorCollection();
var errorsList = new List<ModelError>();
errorsList.AddRange(this.ModelState.GetPropertyErrors(() => viewModel.LocalDateTime) ?? emptyErrors);
errorsList.AddRange(this.ModelState.GetPropertyErrors(() => viewModel.Start) ?? emptyErrors);
errorsList.AddRange(this.ModelState.GetPropertyErrors(() => viewModel.End) ?? emptyErrors);
// Flag that tells whether the time and date are valid ot not.
viewModel.DateAndTimeValidationState =
errorsList.Any() ? DateAndTimeValidationState.Failed :
!inconsistencyMessages.IsValid ? DateAndTimeValidationState.Warning :
DateAndTimeValidationState.Passed;
// Continue filling error list with warnings.
errorsList.AddRange(inconsistencyMessages.GetPropertyErrors(() => viewModel.LocalDateTime) ?? emptyErrors);
errorsList.AddRange(inconsistencyMessages.GetPropertyErrors(() => viewModel.Start) ?? emptyErrors);
errorsList.AddRange(inconsistencyMessages.GetPropertyErrors(() => viewModel.End) ?? emptyErrors);
if (errorsList.Any())
{
viewModel.TimeValidationMessage = errorsList.First().ErrorMessage;
}
}