Пример #1
0
        public async Task UpdateAsync(PedidoAdmViewModel pedidoAdmViewModel, string rastreio, string newTipoEnvio)
        {
            _unitOfWork.BeginTransaction();
            await _pedidoService.UpdateAsync(_mapper.Map <PedidoModel>(pedidoAdmViewModel), rastreio, newTipoEnvio);

            await _unitOfWork.CommitAsync();
        }
Пример #2
0
        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 }));
        }