public AgendamentoDeCargaCadastroVm ConsultarAgendamento(int idQuota, int idAgendamento) { Quota quota = _quotas.BuscaPorId(idQuota); AgendamentoDeCarga agendamentoDeCarga = quota.Agendamentos.Single(x => x.Id == idAgendamento); Usuario usuarioConectado = _usuarios.UsuarioConectado(); return(_builderAgendamentoDeCargaCadastro.BuildSingle(agendamentoDeCarga, usuarioConectado)); }
public void QuandoUsuarioNaoPossuirPerfilDeAgendadorDeCargasNaoPermiteEditar() { AgendamentoDeCarga agendamento = DefaultObjects.ObtemAgendamentoDeCarregamentoComPesoEspecifico( DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(DateTime.Today.AddDays(1)), 100); Usuario usuario = DefaultObjects.ObtemUsuarioPadrao(); var verificaSePodeEditarAgendamento = ObjectFactory.GetInstance <IVerificaPermissaoAgendamento>(); Assert.IsFalse(verificaSePodeEditarAgendamento.PermiteEditar(agendamento, usuario)); }
public void QuandoDataDoAgendamentoNaoForPosteriorADataAtualNaoPermiteEditar() { AgendamentoDeCarga agendamento = DefaultObjects.ObtemAgendamentoDeCarregamentoComPesoEspecifico( DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(DateTime.Today), 100); Usuario usuario = DefaultObjects.ObtemUsuarioPadrao(); usuario.AdicionarPerfil(Enumeradores.Perfil.AgendadorDeCargas); var verificaSePodeEditarAgendamento = ObjectFactory.GetInstance <IVerificaPermissaoAgendamento>(); Assert.IsFalse(verificaSePodeEditarAgendamento.PermiteEditar(agendamento, usuario)); }
public void QuandoUsuarioPossuirPerfilDeAgendadorDeCargaADataForMenorQueADataDoAgendamentoEoAgendamentoNaoEstiverRealizadoPermiteEditar() { AgendamentoDeCarga agendamento = DefaultObjects.ObtemAgendamentoDeCarregamentoComPesoEspecifico( DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(DateTime.Today.AddDays(1)), 100); Usuario usuario = DefaultObjects.ObtemUsuarioPadrao(); usuario.AdicionarPerfil(Enumeradores.Perfil.AgendadorDeCargas); var verificaSePodeEditarAgendamento = ObjectFactory.GetInstance <IVerificaPermissaoAgendamento>(); Assert.IsTrue(verificaSePodeEditarAgendamento.PermiteEditar(agendamento, usuario)); }
public void QuandoAgendamentoJaEstiverRealizadoNaoPermiteRealizarNovamente() { AgendamentoDeCarga agendamento = DefaultObjects.ObtemAgendamentoDeCarregamentoComPesoEspecifico( DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(DateTime.Today.AddDays(1)), 100); agendamento.Realizar(); Usuario usuario = DefaultObjects.ObtemUsuarioPadrao(); usuario.AdicionarPerfil(Enumeradores.Perfil.ConferidorDeCargas); var verificaSePodeEditarAgendamento = ObjectFactory.GetInstance <IVerificaPermissaoAgendamento>(); Assert.IsFalse(verificaSePodeEditarAgendamento.PermiteRealizar(agendamento, usuario)); }
public static void PersistirAgendamentoDeCarga(AgendamentoDeCarga agendamento) { try { bool controlarTransacao = !Session.Transaction.IsActive; if (controlarTransacao) { Session.BeginTransaction(); } Session.Save(agendamento); if (controlarTransacao) { Session.Transaction.Commit(); } } catch (Exception) { RollbackSessionTransaction(); throw; } }
public bool PermiteEditar(AgendamentoDeCarga agendamentoDeCarga, Usuario usuario) { return (!agendamentoDeCarga.Realizado && agendamentoDeCarga.Quota.Data > DateTime.Today && usuario.Perfis.Contains(Enumeradores.Perfil.AgendadorDeCargas)); }
public bool PermiteRealizar(AgendamentoDeCarga agendamentoDeCarga, Usuario usuario) { return(!agendamentoDeCarga.Realizado && usuario.Perfis.Contains(Enumeradores.Perfil.ConferidorDeCargas)); }