예제 #1
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);
        }
예제 #2
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);
        }