Esempio n. 1
0
        public override string this[string columnName]
        {
            get
            {
                if (!WasEdited)
                {
                    return(string.Empty);
                }

                var results = uom.SelfValidate();
                if (results == null)
                {
                    return(string.Empty);
                }

                var message = results.Errors
                              .Where(x => x.PropertyName == columnName)
                              .Select(x => x.ErrorMessage)
                              .FirstOrDefault();

                // оригинальная ошибка валидации остается
                if (message == null && HasExistingValue && TestExistingFor.Contains(columnName))
                {
                    message = "Такая единица уже есть.";
                }

                if (columnName == "ValueInBase" && ValueInBase.CompareTo(0) <= 0)
                {
                    return("Число единиц должно быть больше 0.");
                }

                return(message != null ? message : string.Empty);
            }
        }
Esempio n. 2
0
        private void uom_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            OnPropertyChanged(e.PropertyName);

            // validate linked fields
            if (TestExistingFor.Contains(e.PropertyName))
            {
                OnPropertyChanged(TestExistingFor);
            }

            WasEdited = true;
        }