public virtual void RealizarAgendamento(int idAgendamento) { AgendamentoDeCarga agendamento = Agendamentos.Single(x => x.Id == idAgendamento); agendamento.Realizar(); CalculaPesoRealizado(); }
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(); }
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 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); }