public async Task <IActionResult> Edit(int id, Transportadora transportadora)
        {
            if (!ModelState.IsValid)
            {
                TransportadoraFormViewModel viewModel = new TransportadoraFormViewModel {
                    Transportadora = transportadora
                };
                return(View(viewModel));
            }
            if (id != transportadora.Id)
            {
                return(BadRequest());
            }
            try
            {
                transportadora.EmpresaId = int.Parse(EmpresaId);
                await _transportadoraService.UpdateAsync(transportadora);

                return(RedirectToAction(nameof(Index)));
            }
            catch (ApplicationException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
        }
        public async Task <IActionResult> Create()
        {
            var empresas = await _empresaService.FindAllAsync();

            TransportadoraFormViewModel viewModel = new TransportadoraFormViewModel {
                Empresas = empresas
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Create(Transportadora transportadora)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new TransportadoraFormViewModel();
                return(View(viewModel));
            }
            transportadora.EmpresaId = int.Parse(EmpresaId);
            await _transportadoraService.InsertAsync(transportadora);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não informado!" }));
            }

            var obj = await _transportadoraService.FindByIdAsync(EmpresaId, id.Value);

            if (obj == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não encontrado!" }));
            }

            TransportadoraFormViewModel viewModel = new TransportadoraFormViewModel {
                Transportadora = obj
            };

            return(View(viewModel));
        }