Esempio n. 1
0
        public ValidationResult SetValue <T>(Field <T> field, T item, object value, int row, int column, MessageErrors messageErrors)
        {
            var validationColumn = new ValidationResult();

            try
            {
                value = converter.Convert(field.PropertyInfo.Type, value);
            }
            catch
            {
                var error = new Error(messageErrors.InvalidParseValue(field.Name), row, column);
                validationColumn.AddError(error);
            }

            if (!validationColumn.IsSuccess)
            {
                return(validationColumn);
            }

            validationColumn.AddResult(IsValueValid(field, item, value, row, column, messageErrors));

            try
            {
                if (validationColumn.IsSuccess)
                {
                    SetValue(field, item, field.PropertyInfo.Name, value);
                }
            }
            catch
            {
                var error = new Error(messageErrors.InvalidItemValue(field.Name, value), row, column);
                validationColumn.AddError(error);
            }

            return(validationColumn);
        }