public async Task Nao_Deve_Excluir_Atribuicao_Excluida() { //ARRANGE var atribuicaoEsporadica = new AtribuicaoEsporadica() { Id = 1, Excluido = true }; repositorioAtribuicaoEsporadica.Setup(a => a.ObterPorId(atribuicaoEsporadica.Id)).Returns(atribuicaoEsporadica); //ACT & ASSERT await Assert.ThrowsAsync <NegocioException>(() => comandosAtribuicaoEsporadica.Excluir(1)); }
public void Nao_Deve_Consultar_Atribuicao_Nao_Existe() { //ARRANGE var atribuicaoEsporadica = new AtribuicaoEsporadica() { Id = 1, Excluido = false }; repositorioAtribuicaoEsporadica.Setup(a => a.ObterPorId(atribuicaoEsporadica.Id)).Returns(atribuicaoEsporadica); //ASSERT && //ACT Assert.Null(consultasAtribuicaoEsporadica.ObterPorId(2)); repositorioAtribuicaoEsporadica.Verify(c => c.ObterPorId(2), Times.Once); }
public async void Deve_Excluir_Atribuicao() { //ARRANGE var atribuicaoEsporadica = new AtribuicaoEsporadica() { Id = 1, Excluido = false }; repositorioAtribuicaoEsporadica.Setup(a => a.ObterPorId(atribuicaoEsporadica.Id)).Returns(atribuicaoEsporadica); //ACT await comandosAtribuicaoEsporadica.Excluir(1); //ASSERT repositorioAtribuicaoEsporadica.Verify(c => c.SalvarAsync(atribuicaoEsporadica), Times.Once); }
private AtribuicaoEsporadica ObterObjeto() { var atribuicao = new AtribuicaoEsporadica { UeId = "1", ProfessorRf = "1", DreId = "1", DataInicio = DateTime.Now, DataFim = DateTime.Now.AddDays(7) > new DateTime(DateTime.Now.Year, 12, 31) ? new DateTime(DateTime.Now.Year, 12, 31) : DateTime.Now.AddDays(7), Id = 1 }; var anoAtual = DateTime.Now.Year; if (atribuicao.DataFim.Year > anoAtual) { atribuicao.DataFim = new DateTime(anoAtual, 12, 31); } return(atribuicao); }
public async Task Salvar(AtribuicaoEsporadica atribuicaoEsporadica, int anoLetivo, bool ehInfantil) { var atribuicoesConflitantes = repositorioAtribuicaoEsporadica.ObterAtribuicoesDatasConflitantes(atribuicaoEsporadica.DataInicio, atribuicaoEsporadica.DataFim, atribuicaoEsporadica.ProfessorRf, atribuicaoEsporadica.Id); if (atribuicoesConflitantes != null && atribuicoesConflitantes.Any()) { throw new NegocioException("Já existem outras atribuições, para este professor, no periodo especificado"); } var modalidade = ehInfantil ? ModalidadeTipoCalendario.Infantil : ModalidadeTipoCalendario.FundamentalMedio; var tipoCalendario = await repositorioTipoCalendario.BuscarPorAnoLetivoEModalidade(anoLetivo, modalidade); if (tipoCalendario == null) { throw new NegocioException("Nenhum tipo de calendario para o ano letivo vigente encontrado"); } var periodosEscolares = await repositorioPeriodoEscolar.ObterPorTipoCalendario(tipoCalendario.Id); if (periodosEscolares == null || !periodosEscolares.Any()) { throw new NegocioException("Nenhum periodo escolar encontrado para o ano letivo vigente"); } bool ehPerfilSelecionadoSME = servicoUsuario.UsuarioLogadoPossuiPerfilSme(); atribuicaoEsporadica.Validar(ehPerfilSelecionadoSME, anoLetivo, periodosEscolares); using (var transacao = unitOfWork.IniciarTransacao()) { repositorioAtribuicaoEsporadica.Salvar(atribuicaoEsporadica); Guid perfilAtribuicao = ehInfantil ? Perfis.PERFIL_CJ_INFANTIL : Perfis.PERFIL_CJ; await AdicionarAtribuicaoEOL(atribuicaoEsporadica.ProfessorRf, perfilAtribuicao); unitOfWork.PersistirTransacao(); } }
private AtribuicaoEsporadicaDto EntidadeParaDto(AtribuicaoEsporadica entidade, bool buscarNome = true, string nomeProfessor = "") { if (buscarNome) { var professorResumo = servicoEOL.ObterResumoProfessorPorRFAnoLetivo(entidade.ProfessorRf, entidade.DataInicio.Year).Result; nomeProfessor = professorResumo != null ? professorResumo.Nome : "Professor não encontrado"; } return(new AtribuicaoEsporadicaDto { AnoLetivo = entidade.DataInicio.Year, DataFim = entidade.DataFim, DataInicio = entidade.DataInicio, DreId = entidade.DreId, Excluido = entidade.Excluido, Id = entidade.Id, Migrado = entidade.Migrado, ProfessorNome = nomeProfessor, ProfessorRf = entidade.ProfessorRf, UeId = entidade.UeId }); }
private AtribuicaoEsporadicaCompletaDto EntidadeParaDtoCompleto(AtribuicaoEsporadica entidade) { var professorResumo = servicoEOL.ObterResumoProfessorPorRFAnoLetivo(entidade.ProfessorRf, entidade.DataInicio.Year, true).Result; return(new AtribuicaoEsporadicaCompletaDto { AnoLetivo = entidade.DataInicio.Year, DataFim = entidade.DataFim, DataInicio = entidade.DataInicio, DreId = entidade.DreId, Excluido = entidade.Excluido, Id = entidade.Id, Migrado = entidade.Migrado, ProfessorNome = professorResumo != null ? professorResumo.Nome : "Professor não encontrado", ProfessorRf = entidade.ProfessorRf, UeId = entidade.UeId, AlteradoEm = entidade.AlteradoEm, AlteradoPor = entidade.AlteradoPor, AlteradoRF = entidade.AlteradoRF, CriadoEm = entidade.CriadoEm, CriadoPor = entidade.CriadoPor, CriadoRF = entidade.CriadoRF }); }