public async Task <ISaida> ObterPeriodoPorId(int idPeriodo, int idUsuario) { this.NotificarSeMenorOuIgualA(idPeriodo, 0, PeriodoMensagem.Id_Periodo_Invalido); this.NotificarSeMenorOuIgualA(idUsuario, 0, Mensagem.Id_Usuario_Invalido); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var periodo = await _periodoRepositorio.ObterPorId(idPeriodo); // Verifica se o período existe this.NotificarSeNulo(periodo, string.Format(PeriodoMensagem.Id_Periodo_Nao_Existe, idPeriodo)); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se o período pertece ao usuário informado. this.NotificarSeDiferentes(periodo.IdUsuario, idUsuario, PeriodoMensagem.Periodo_Nao_Pertence_Usuario); return(this.Invalido ? new Saida(false, this.Mensagens, null) : new Saida(true, new[] { PeriodoMensagem.Periodo_Encontrado_Com_Sucesso }, new PeriodoSaida(periodo))); }
public void Nao_Deve_Obter_Periodo_Por_Id_De_Outro_Usuario() { var idPeriodo = 2; var idUsuario = 1; _periodoRepositorio.ObterPorId(idPeriodo) .Returns(new Periodo(new CadastrarPeriodoEntrada(idUsuario, "Período 1", DateTime.Now.Date, DateTime.Now.Date.AddDays(5)))); _periodoServico = Substitute.For <PeriodoServico>(_periodoRepositorio, _uow); var saida = _periodoServico.ObterPeriodoPorId(idPeriodo, 2).Result; Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == PeriodoMensagem.Periodo_Nao_Pertence_Usuario), string.Join(", ", saida.Mensagens)); }
public async Task <ISaida> ObterPeriodoGraficoRelacaoValorCategoriaPorAno(int idPeriodo, int ano, int idCategoria, int idUsuario) { this .NotificarSeMenorQue(ano, 2019, "O ano informado é inválido. Informe um ano maior ou igual a 2019") .NotificarSeMenorOuIgualA(idCategoria, 0, CategoriaMensagem.Id_Categoria_Invalido) .NotificarSeMenorOuIgualA(idUsuario, 0, Mensagem.Id_Usuario_Invalido); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } this.NotificarSeFalso(await _categoriaRepositorio.VerificarExistenciaPorId(idUsuario, idCategoria), CategoriaMensagem.Categoria_Nao_Pertence_Usuario); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var periodo = await _periodoRepositorio.ObterPorId(idPeriodo); this.NotificarSeNulo(periodo, PeriodoMensagem.Id_Periodo_Nao_Existe); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var periodoGrafico = await ObterPeriodoGraficoRelacaoValorCategoriaPorAnoSaida(ano, idCategoria, new PeriodoSaida(periodo), idUsuario); return(new Saida(true, new[] { "Informações do período obtidas com sucesso." }, periodoGrafico)); }