public void QuandoCriarCarregamentoSemInformarPesoDeveGerarExcecao()
        {
            Quota quota   = DefaultObjects.ObtemQuotaDeCarregamento();
            var   factory = new AgendamentoDeCarregamentoFactory(0);

            factory.Construir(quota, "IOQ5335");
        }
        public void PesoTotalDoCarregamentoEoPesoAgendado()
        {
            Quota quota       = DefaultObjects.ObtemQuotaDeCarregamento();
            var   factory     = new AgendamentoDeCarregamentoFactory(150);
            var   agendamento = (AgendamentoDeCarregamento)factory.Construir(quota, "IOQ5335");

            Assert.AreEqual(150, agendamento.PesoTotal);
        }
        public void QuandoInformarNotaParaUmAgendamentoDeCarregamentoDeveGerarExcecao()
        {
            Quota quota   = DefaultObjects.ObtemQuotaDeCarregamento();
            var   factory = new AgendamentoDeCarregamentoFactory(150);

            factory.AdicionarNotaFiscal(DefaultObjects.ObtemNotaFiscalVmPadrao());
            factory.Construir(quota, "IOQ5335");
        }
        public void QuandoCriaUmAgendamentoDeCarregamentoIniciaComoNaoRealizado()
        {
            Quota quota = DefaultObjects.ObtemQuotaDeCarregamento();

            var factory     = new AgendamentoDeCarregamentoFactory(150);
            var agendamento = (AgendamentoDeCarregamento)factory.Construir(quota, "IOQ5335");

            Assert.IsFalse(agendamento.Realizado);
        }
        public void QuandoCriaUmAgendamentoDeCarregamentoAsPropriedadesFicamCorretas()
        {
            Quota quota       = DefaultObjects.ObtemQuotaDeCarregamento();
            var   factory     = new AgendamentoDeCarregamentoFactory(150);
            var   agendamento = (AgendamentoDeCarregamento)factory.Construir(quota, "IOQ5335");

            Assert.AreEqual(DateTime.Today, agendamento.Quota.Data);
            Assert.AreEqual("1000", agendamento.Quota.CodigoTerminal);
            Assert.AreEqual("IOQ5335", agendamento.Placa);
            Assert.AreEqual(150, agendamento.Peso);
            Assert.AreEqual(Enumeradores.MaterialDeCarga.Farelo, agendamento.Quota.Material);
        }
示例#6
0
        public virtual AgendamentoDeCarregamento InformarAgendamento(AgendamentoDeCarregamentoCadastroVm agendamentoDeCarregamentoCadastroVm)
        {
            AgendamentoDeCarregamento agendamento;

            if (agendamentoDeCarregamentoCadastroVm.IdAgendamento == 0)
            {
                var factory = new AgendamentoDeCarregamentoFactory(agendamentoDeCarregamentoCadastroVm.Peso);
                agendamento = (AgendamentoDeCarregamento)factory.Construir(this, agendamentoDeCarregamentoCadastroVm.Placa);
                Agendamentos.Add(agendamento);
            }
            else
            {
                agendamento = (AgendamentoDeCarregamento)Agendamentos.Single(x => x.Id == agendamentoDeCarregamentoCadastroVm.IdAgendamento);
                agendamento.Atualizar(agendamentoDeCarregamentoCadastroVm);
            }
            VerificaSeExisteApenasUmAgendamentoParaCadaPlaca();
            CalculaPesoAgendado();

            return(agendamento);
        }
        public static AgendamentoDeCarregamento ObtemAgendamentoDeCarregamentoComPesoEspecifico(Quota quota, decimal peso)
        {
            var factory = new AgendamentoDeCarregamentoFactory(peso);

            return((AgendamentoDeCarregamento)factory.Construir(quota, "IOQ5338"));
        }