Exemple #1
0
        private void Validate(bool isValidating)
        {
            ValidationResult validationResult;

            IList <IValidationParameter> parameters = new List <IValidationParameter>();

            if (this.ParentExpression != null)
            {
                parameters = ValidationSetting.GetValidations(this.ParentExpression.Key, this.Name);
            }

            foreach (var validation in ValidationFunctions)
            {
                var parameter = parameters.FirstOrDefault(p => p.ValidationKey == validation.ValidationKey);
                validationResult = validation.Function.Invoke(this, (parameter == null) ? null : parameter.Parameters);
                if (!validationResult.IsValidate)
                {
                    if (!isValidating)
                    {
                        throw new Exception(validationResult.ValidateMessage);
                    }
                    else
                    {
                        ValidationsResult.Add(validationResult);
                    }
                }
            }
        }
        public async Task <ValidationsResult> Validacoes(string url, string validations)
        {
            var documentoFromUrl = await JsonData.GetAndReadByteArrayAsync(url);

            var validationsSelector = JsonConvert.DeserializeObject <ValidationsSelector>(validations);

            var result = new ValidationsResult();

            using (var memoryStream = new MemoryStream(documentoFromUrl))
            {
                result.IsPdf = true;
                result.PossuiRestricoesLeituraOuAlteracao = false;

                // Possui assinatura digital
                result.PossuiAssinaturaDigital = AssinaturaDigitalCore.HasDigitalSignature(memoryStream);

                // Possui carimbo edocs
                result.RegexResult = CarimboCore.BuscarExpressoesRegulares(
                    memoryStream,
                    validationsSelector.RegularExpressionsParameters.ExpressoesRegulares,
                    validationsSelector.RegularExpressionsParameters.Paginas);

                // Obter informações sobre o pdf
                result.PdfInfo = PdfInfo(memoryStream);

                memoryStream.Close();
            }

            return(result);
        }
Exemple #3
0
        public virtual void ClearValidationResult()
        {
            foreach (var parameter in Parameters)
            {
                parameter.Value.ClearValidationResult();
            }

            if (SubExpression != null)
            {
                SubExpression.ClearValidationResult();
            }

            ValidationsResult.Clear();
        }