public async Task <long> AdicionarAsync(Checagem instancia)
        {
            var validationResult = await ValidarAsync(instancia);

            if (validationResult.Any())
            {
                throw new AppException(validationResult.First().ErrorMessage, validationResult);
            }

            var resultado = await ChecagemRepositorio.AdicionarAsync(instancia);

            return(resultado);
        }
        public long Adicionar(Checagem instancia)
        {
            var validationResult = Validar(instancia);

            if (validationResult.Any())
            {
                throw new AppException(validationResult.First().ErrorMessage, validationResult);
            }

            var result = ChecagemRepositorio.Adicionar(instancia);

            return(result);
        }
        public bool Alterar(Checagem instancia)
        {
            var atualInstancia = ChecagemRepositorio.Pegar(instancia.ChecagemId);

            Mesclar(atualInstancia, instancia);

            var validationResult = Validar(atualInstancia);

            if (validationResult.Any())
            {
                throw new AppException(validationResult.First().ErrorMessage, validationResult);
            }
            var result = ChecagemRepositorio.Alterar(atualInstancia);

            return(result);
        }
        public IEnumerable <ValidationResult> Validar(Checagem instancia)
        {
            if (DateTime.Now - instancia.ChecagemEm > TimeSpan.FromHours(1))
            {
                yield return(new ValidationResult("Hora inválida", new string[] { "ChecagemEm" }));
            }

            if (string.IsNullOrWhiteSpace(instancia.ChecagemRfid))
            {
                yield return(new ValidationResult("Rfid inválido", new string[] { "ChecagemRfid" }));
            }

            if (!(instancia.ChecagemReceptorId > 0))
            {
                yield return(new ValidationResult("Informe o Receptor", new string[] { "ChecagemReceptorId" }));
            }
        }
示例#5
0
        public void PegarTeste()
        {
            var instancia = new Checagem()
            {
                ChecagemEm = DateTime.Now, ChecagemRfid = "AISIM"
            };

            try
            {
                var result = ChecagemServico.Adicionar(instancia);

                Assert.IsTrue(result > 0);
            }
            catch (AppException ex)
            {
                Assert.IsTrue(ex.ValidationResults.Any());
            }
        }
 private void Mesclar(Checagem atualInstancia, Checagem novaInstancia)
 {
     atualInstancia.ChecagemRfid = novaInstancia.ChecagemRfid;
     atualInstancia.ChecagemEm   = novaInstancia.ChecagemEm;
 }
        public async Task <IEnumerable <ValidationResult> > ValidarAsync(Checagem instancia)
        {
            await Task.Yield();

            return(Validar(instancia));
        }