Catel.MVVM.ViewModelBase.OnValidated C# (CSharp) Method

OnValidated() protected method

Called when the object is validated.
protected OnValidated ( IValidationContext validationContext ) : void
validationContext IValidationContext The validation context.
return void
        protected override void OnValidated(IValidationContext validationContext)
        {
            bool updatedValidationSummaries = false;

            foreach (var validationSummaryInfo in _validationSummaries)
            {
                var isSummaryUpdateRequired = false;
                var lastUpdated = _validationSummariesUpdateStamps.ContainsKey(validationSummaryInfo.Key) ? _validationSummariesUpdateStamps[validationSummaryInfo.Key] : 0L;
                
                isSummaryUpdateRequired = this.IsValidationSummaryOutdated(lastUpdated, validationSummaryInfo.Value.IncludeChildViewModels);
                if (!isSummaryUpdateRequired)
                {
                    continue;
                }

                IValidationSummary validationSummary;
                if (validationSummaryInfo.Value.UseTagToFilter)
                {
                    validationSummary = this.GetValidationSummary(validationSummaryInfo.Value.IncludeChildViewModels, validationSummaryInfo.Value.Tag);
                }
                else
                {
                    validationSummary = this.GetValidationSummary(validationSummaryInfo.Value.IncludeChildViewModels);
                }

                PropertyHelper.SetPropertyValue(this, validationSummaryInfo.Key, validationSummary, false);
                _validationSummariesUpdateStamps[validationSummaryInfo.Key] = validationSummary.LastModifiedTicks;

                updatedValidationSummaries = true;
            }

            if (updatedValidationSummaries)
            {
                ViewModelCommandManager.InvalidateCommands();
            }

            base.OnValidated(validationContext);
        }
        #endregion