Exemple #1
0
        public virtual void RealizarAgendamento(int idAgendamento)
        {
            AgendamentoDeCarga agendamento = Agendamentos.Single(x => x.Id == idAgendamento);

            agendamento.Realizar();
            CalculaPesoRealizado();
        }
Exemple #2
0
        public virtual void RemoverAgendamento(int idAgendamento)
        {
            if (DateTime.Today >= Data)
            {
                throw new DataDeAgendamentoExpiradaException("Não é permitido remover um agendamento com data igual ou anterior ou à data atual.");
            }

            var agendamento = Agendamentos.Single(x => x.Id == idAgendamento);

            if (agendamento.Realizado)
            {
                throw new OperacaoNaoPermitidaParaAgendamentoRealizadoException("Não é permitido remover um agendamento que já foi realizado.");
            }
            Agendamentos.Remove(agendamento);
            CalculaPesoAgendado();
        }
Exemple #3
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);
        }
Exemple #4
0
        public virtual AgendamentoDeDescarregamento InformarAgendamento(AgendamentoDeDescarregamentoSalvarVm agendamentoDeDescarregamentoSalvarVm)
        {
            AgendamentoDeDescarregamento agendamento;

            if (agendamentoDeDescarregamentoSalvarVm.IdAgendamento == 0)
            {
                var factory = new AgendamentoDeDescarregamentoFactory();
                foreach (var notaFiscal in agendamentoDeDescarregamentoSalvarVm.NotasFiscais)
                {
                    factory.AdicionarNotaFiscal(notaFiscal);
                }
                agendamento = (AgendamentoDeDescarregamento)factory.Construir(this, agendamentoDeDescarregamentoSalvarVm.Placa);
                Agendamentos.Add(agendamento);
            }
            else
            {
                agendamento = (AgendamentoDeDescarregamento)Agendamentos.Single(x => x.Id == agendamentoDeDescarregamentoSalvarVm.IdAgendamento);

                agendamento.Atualizar(agendamentoDeDescarregamentoSalvarVm);
            }
            VerificaSeExisteApenasUmAgendamentoParaCadaPlaca();
            CalculaPesoAgendado();
            return(agendamento);
        }