コード例 #1
0
 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);
 }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: ValidatingViewModel.cs プロジェクト: tobsenll/lab
        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;
            }
        }
コード例 #4
0
        /// <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;
            }
        }
コード例 #5
0
        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;
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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));
        }
コード例 #8
0
        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());
        }
コード例 #9
0
 public bool HasErrors()
 {
     return(ErrorMessages.Any());
 }
コード例 #10
0
ファイル: ModelValidator.cs プロジェクト: elaspog/FinAlyst
 /// <summary>
 /// Validates all of the properties of the model
 /// </summary>
 public bool ValidateAll()
 {
     ErrorMessages.Clear();
     _validations.ForEach(PerformValidation);
     return(!ErrorMessages.Any());
 }
コード例 #11
0
        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.");
                    }
                }
            }
        }
コード例 #12
0
 public bool IsValid() => !ErrorMessages?.Any() ?? true;