public async Task <List <KeyValuePair <string, string> > > Validate(ActivityDetailModel model, CampaignSummaryModel parentCampaign) { var result = new List <KeyValuePair <string, string> >(); if (model.EndDateTime < model.StartDateTime) { result.Add(new KeyValuePair <string, string>(nameof(model.EndDateTime), "End date cannot be earlier than the start date")); } if (model.StartDateTime < parentCampaign.StartDate) { result.Add(new KeyValuePair <string, string>(nameof(model.StartDateTime), "Start date cannot be earlier than the campaign start date " + parentCampaign.StartDate.ToString("d"))); } if (model.EndDateTime > parentCampaign.EndDate) { result.Add(new KeyValuePair <string, string>(nameof(model.EndDateTime), "End date cannot be later than the campaign end date " + parentCampaign.EndDate.ToString("d"))); } var postalCodeValidation = new LocationEditModelValidator(_mediator); var postalCodeErrors = await postalCodeValidation.Validate(model.Location); postalCodeErrors.ToList().ForEach(e => result.Add(new KeyValuePair <string, string>(e.Key, e.Value))); return(result); }
public async Task<Dictionary<string, string>> Validate (CampaignSummaryModel model) { var result = new Dictionary<string, string>(); if (model.EndDate < model.StartDate) { result.Add(nameof(model.EndDate), "The end date must fall on or after the start date."); } var postalCodeValidation = new LocationEditModelValidator(_mediator); var postalCodeErrors = await postalCodeValidation.Validate(model.Location); postalCodeErrors.ToList().ForEach(e => result.Add(e.Key, e.Value)); return result; }
public async Task ReportErrorsWhenPostalCodeInvalid() { // arrage var mediator = new Mock<IMediator>(); var validator = new LocationEditModelValidator(mediator.Object); var model = new LocationEditModel() { PostalCode = "12345", State = "WA", City = "Seattle" }; // act var errors = await validator.Validate(model); // assert Assert.True(errors.ContainsKey("PostalCode")); }
public async Task<List<KeyValuePair<string, string>>> Validate(ActivityDetailModel model, CampaignSummaryModel parentCampaign) { var result = new List<KeyValuePair<string, string>>(); if (model.EndDateTime < model.StartDateTime) { result.Add(new KeyValuePair<string, string>(nameof(model.EndDateTime), "End date cannot be earlier than the start date")); } if (model.StartDateTime < parentCampaign.StartDate) { result.Add(new KeyValuePair<string, string>(nameof(model.StartDateTime), "Start date cannot be earlier than the campaign start date " + parentCampaign.StartDate.ToString("d"))); } if (model.EndDateTime > parentCampaign.EndDate) { result.Add(new KeyValuePair<string, string>(nameof(model.EndDateTime), "End date cannot be later than the campaign end date " + parentCampaign.EndDate.ToString("d"))); } var postalCodeValidation = new LocationEditModelValidator(_mediator); var postalCodeErrors = await postalCodeValidation.Validate(model.Location); postalCodeErrors.ToList().ForEach(e => result.Add(new KeyValuePair<string, string>(e.Key, e.Value))); return result; }