Esempio n. 1
0
        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));
        }
Esempio n. 6
0
 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));
 }