public async Task UpdateAsync(PedidoAdmViewModel pedidoAdmViewModel, string rastreio, string newTipoEnvio) { _unitOfWork.BeginTransaction(); await _pedidoService.UpdateAsync(_mapper.Map <PedidoModel>(pedidoAdmViewModel), rastreio, newTipoEnvio); await _unitOfWork.CommitAsync(); }
public async Task <IActionResult> Edit(PedidoAdmViewModel pedidoAdmViewModel, string newRastreio, string newTipoEnvio) { try { var usuario = await _usuarioAppServices.GetByIdAsync(pedidoAdmViewModel.UsuarioId); var user = await _userManager.FindByIdAsync(usuario.UserId); await _pedidoAppServices.UpdateAsync(pedidoAdmViewModel, newRastreio, newTipoEnvio); if ((pedidoAdmViewModel.Rastreio == null && newRastreio != null) || (newTipoEnvio == "proprio" && pedidoAdmViewModel.TipoDeEnvio == null)) { var anexoBytes = await GerarAnexoPDF(pedidoAdmViewModel.Id); if (anexoBytes == null) { TempData["ErrorModel"] = "Erro ao gerar o PDF do pedido, o email não foi enviado ao cliente."; return(RedirectToAction("Edit", new { id = pedidoAdmViewModel.Id })); } await _pedidoAppServices.EnviarEmailPedidoDespachado(user.Email, pedidoAdmViewModel.Id, newRastreio, usuario.NomeCompleto, anexoBytes); } TempData["Success"] = "Atualizado com sucesso"; } catch (Exception) { TempData["ErrorModel"] = "Erro ao atualizar pedido"; } return(RedirectToAction("Edit", new { id = pedidoAdmViewModel.Id })); }