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" })); } }
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)); }