public void OnPostView(string startDate, string endDate) { if (DateTime.TryParse(startDate, out DateTime sd) && DateTime.TryParse(endDate, out DateTime ed)) { StartDate = sd; if ((DateTime.Today.AddDays(8) - StartDate).Days > 0) { ErrorMessages.Add($"Start Date must be beyond { DateTime.Today.AddDays(7).ToLongDateString()}"); } if (ed.Ticks > 0) { EndDate = ed; if (StartDate.DayOfWeek != EndDate.DayOfWeek) { ErrorMessages.Add($"Day of week for Start Date ({StartDate.DayOfWeek.ToString()}) does not match day of week for End Date({EndDate.DayOfWeek.ToString()})"); } } else { ErrorMessages.Add("Please select an End Date"); } if (!(ErrorMessages?.Any() ?? false)) { TempData[nameof(StartDate)] = StartDate; TempData[nameof(EndDate)] = EndDate; Domain.CBS requestDirector = new Domain.CBS(userManager.FindByNameAsync(User.Identity.Name).GetAwaiter().GetResult().Id, Startup.ConnectionString); STTRequests = requestDirector.ViewStandingTeeTimeRequests(StartDate, EndDate); TempData.Put("PermissableTimes", from time in STTRequests where time.Members is null select time.RequestedTime.ToString("HH:mm")); return; } } TempData.Put(nameof(ErrorMessages), ErrorMessages); }
public void GenerateResolver(GeneratedAssembly generatedAssembly) { if (_resolverType != null) return; // got some kind of loop in here we need to short circuit if (ErrorMessages.Any() || Dependencies.SelectMany(x => x.ErrorMessages).Any()) return; var typeName = (ServiceType.FullNameInCode() + "_" + Name).Sanitize(); var buildType = ServiceType.MustBeBuiltWithFunc() || ImplementationType.MustBeBuiltWithFunc() ? typeof(object) : ServiceType; _resolverType = generatedAssembly.AddType(typeName, ResolverBaseType.MakeGenericType(buildType)); var method = _resolverType.MethodFor("Build"); var frame = CreateBuildFrame(); method.Frames.Add(frame); }
protected void SetValidationMessage(string message, [CallerMemberName] string propertyName = null) { if (propertyName == null) { throw new ArgumentNullException("propertyName"); } if (message == null) { ErrorMessages.Remove(propertyName); if (!ErrorMessages.Any()) { IsValid = true; } } else if (message != null) { ErrorMessages[propertyName] = message; IsValid = false; } }
/// <summary> /// This should be call before doing final storage, will reduce the size of /// unused fields /// </summary> public void SetEmptyValueToNull() { foreach (var err in ErrorMessages) { err.SetEmptyValueToNull(); } if (String.IsNullOrEmpty(MessageId)) { MessageId = null; } if (!Log.Any()) { Log = null; } if (!OutputCommands.Any()) { OutputCommands = null; } if (!OutgoingMessages.Any()) { OutgoingMessages = null; } if (!ErrorMessages.Any()) { ErrorMessages = null; } if (!InfoMessages.Any()) { InfoMessages = null; } if (!WarningMessages.Any()) { WarningMessages = null; } if (Envelope.SetEmptyValueToNull()) { Envelope = null; } }
private void buildResolver(Scope scope) { if (_resolver != null) { return; } if (ErrorMessages.Any() || Dependencies.Any(x => x.ErrorMessages.Any())) { _resolver = new ErrorMessageResolver(this); } else { if (scope.ServiceGraph.CachedResolverTypes.TryGetValue(GetResolverTypeName(), out var resolverType)) { _resolver = (IResolver)scope.Root.QuickBuild(resolverType); } else { var assembly = scope.ServiceGraph.ToGeneratedAssembly(); GenerateResolver(assembly); if (_resolverType == null) { _resolver = new ErrorMessageResolver(this); } else { assembly.CompileAll(); _resolver = (IResolver)scope.Root.QuickBuild(_resolverType.CompiledType); _resolverType.ApplySetterValues(_resolver); } } } _resolver.Hash = GetHashCode(); _resolver.Name = Name; }
private void SerializeData(HttpResponseBase response) { if (ErrorMessages.Any()) { Data = new { ErrorMessage = string.Join("\n", ErrorMessages), ErrorMessages = ErrorMessages.ToArray() }; // Bad Request // The request could not be understood by the server due to malformed syntax. // The client SHOULD NOT repeat the request without modifications. response.StatusCode = 400; } if (Data == null) { return; } response.Write(Data.ToJson(IncludeNull, MaxDepth)); }
protected virtual void SerializeData(HttpResponseBase response) { var originalData = Data; if (ErrorMessages.Any()) { Data = new { Success = false, Content = originalData, ErrorMessages = ErrorMessages.ToArray(), RequestTime = DateTime.Now, }; response.StatusCode = (int)HttpStatusCode.BadRequest; } else { Data = new { Success = true, Content = originalData, ErrorMessages = String.Empty, RequestTime = DateTime.Now, }; response.StatusCode = (int)HttpStatusCode.OK; } var settings = new JsonSerializerSettings { ContractResolver = new MundiPagg.Infra.Utils.CamelCasePropertyNamesContractResolver(), DateTimeZoneHandling = DateTimeZoneHandling.Local }; response.Write(JsonConvert.SerializeObject(Data, settings)); }
public override string ToString() { StringBuilder result = new StringBuilder(); if (ErrorMessages != null && ErrorMessages.Any()) { foreach (string errormessage in ErrorMessages) { if (result.Length > 0) { result.Append(Environment.NewLine); } result.Append(errormessage); } } if (Errors != null) { foreach (PropertyInfo propertyInfo in Errors.GetType().GetProperties()) { if (propertyInfo.CanRead) { if (propertyInfo.GetValue(Errors, null) != null) { string propertyName = propertyInfo.Name; string propertyValue = propertyInfo.GetValue(Errors, null).ToString(); if (typeof(IEnumerable).IsAssignableFrom(propertyInfo.PropertyType) && propertyInfo.PropertyType.IsGenericType && propertyInfo.PropertyType.GetGenericArguments().Length > 0) { if (propertyName.ToLower() == "customfields") { if (result.Length > 0) { result.Append(Environment.NewLine); } foreach (KeyValuePair <string, string> customFieldError in Errors.CustomFields) { result.Append(string.Format("{0}: {1}", customFieldError.Key, customFieldError.Value)); } } } else { if (result.Length > 0) { result.Append(Environment.NewLine); } result.Append(string.Format("{0}: {1}", propertyName, propertyValue)); } } } } } return(result.ToString()); }
public bool HasErrors() { return(ErrorMessages.Any()); }
/// <summary> /// Validates all of the properties of the model /// </summary> public bool ValidateAll() { ErrorMessages.Clear(); _validations.ForEach(PerformValidation); return(!ErrorMessages.Any()); }
public override bool IsSatisfiedBy(IOptions obj) { Preconditions.ThrowIfNull(obj, nameof(obj)); if (!obj.Features.Any()) { return(true); } var featureExpression = new Regex(@"\d{4}.*?"); if (obj.Features.Any(f => featureExpression.IsMatch(f))) { ErrorMessages.Add("Feature names must not start with four digits"); } string engineTypeDirectory = obj.Engine.Directory(); // to assist in debugging if (obj.FilePaths.Any()) { foreach (string feature in obj.Features) { foreach (string path in obj.FilePaths) { TestFeatureDirectory(path, DatabaseConventions.StructureDirectory, feature); TestFeatureDirectory(path, DatabaseConventions.DataDirectory, feature); } } } return(!ErrorMessages.Any()); void TestFeatureDirectory(string path, string structureOrDataDirectory, string feature) { string databaseTypeDirectory = obj.DatabaseType.Directory(ArtifactsFolderStructureType.NewVersion); string featurePath = Path.GetFullPath( Path.Combine( path, DatabaseConventions.ArtifactsDirectory, engineTypeDirectory, structureOrDataDirectory, databaseTypeDirectory, feature)); if (!Directory.Exists(featurePath)) { _logger.Debug($"Feature {structureOrDataDirectory} {feature} does not exist in path {path}"); databaseTypeDirectory = obj.DatabaseType.Directory(ArtifactsFolderStructureType.LegacyVersion); featurePath = Path.GetFullPath( Path.Combine( path, DatabaseConventions.DatabaseDirectory, structureOrDataDirectory, databaseTypeDirectory, feature)); if (!Directory.Exists(featurePath)) { _logger.Debug($"Feature {structureOrDataDirectory} {feature} does not exist in path {path}"); } // If config.Path test fails for v3.3, engine should not be PostgreSql // only if folder exists if (!obj.AreFeaturesValidForLegacyDatabaseDirectoryStructure()) { _logger.Debug("Currently only SqlServer is supported to deploy features for Ed-Fi ODS/API."); } } } }
public bool IsValid() => !ErrorMessages?.Any() ?? true;