public ActionResult Agendar([Bind(Include = "MotivoId, DataPrevista, CpfCnpj, NovaViagemId, ItensCargaSolta")] AgendamentoCargaSoltaViewModel viewModel) { var agendamento = new Agendamento( viewModel.MotivoId, viewModel.DataPrevista.ToDateTime(), viewModel.CpfCnpj, viewModel.NovaViagemId, TipoAgendamento.CargaSolta, User.ObterDespachanteId()); agendamento.AdicionarItensCargaSolta(viewModel.ItensCargaSolta); if (!Validar(agendamento)) { return(RetornarErros()); } var clienteBusca = _clientesRepositorio .ObterClientePorDocumento(viewModel.CpfCnpj.ApenasNumeros()); if (clienteBusca == null) { throw new Exception($"Nenhum Cliente foi encontrado com o documento {viewModel.CpfCnpj}"); } agendamento.SetarCliente(clienteBusca.Id); agendamento.Status = StatusPosicionamento.NaoIniciado; try { var protocolo = _agendamentoRepositorio.GravarPosicionamentoCargaSolta(agendamento); viewModel.ItensCargaSoltaAgendados = _agendamentoRepositorio .ObterItensCargaSoltaAgendamento(protocolo).ToList(); viewModel.ProtocoloUnificado = protocolo; return(PartialView("_Concluido", viewModel)); } catch (Exception ex) { throw new Exception($"Falha ao Gravar o Agendamento {ex.Message}"); } }