public JsonResult AtualizarProdutoMaterialAdicional(string ListaProduto, string ListaMateraial, int IdPedido) { try { if (ModelState.IsValid) { using (var manterPedido = new ManterPedido()) { var listaProdutoModel = JsonConvert.DeserializeObject<IList<PedidoProdutoModel>>(ListaProduto); var listaProduto = listaProdutoModel.Select(x => new PedidoProduto() { Pedido = manterPedido.GetPedidoById(IdPedido), PrecoTotal = x.Quantidade * x.PrecoUnitario, Produto = manterPedido.GetProdutoById(x.IdProduto), Quantidade = x.Quantidade, PrecoUnitario = x.PrecoUnitario, Status = StatusPedidoProduto.Pendente }).ToList(); var listaMaterialAdicional = JsonConvert.DeserializeObject<IList<PedidoMaterialAdiconalModel>>(ListaMateraial).Select(x => new PedidoMaterialAdiconal() { Pedido = manterPedido.GetPedidoById(IdPedido), Material = manterPedido.GetMaterialAdcionalById(x.Material.IdMaterialAdicional), PrecoTotal = x.Quantidade * x.PrecoUnitario, Quantidade = x.Quantidade, PrecoUnitario = x.PrecoUnitario, TipoAquisicao = (TipoAquisicaoTemporaria)x.TipoAquisicao.IdTipoAquisicaoTemporaria }).ToList(); manterPedido.AtualizarProdutoMaterialAdicional(listaProduto, listaMaterialAdicional, manterPedido.GetPedidoById(IdPedido)); return Json( new { TipoMensagem = TipoMensagemRetorno.Ok, Mensagem = "Pedido Inserido com sucesso!" }, "text/html", JsonRequestBehavior.AllowGet); } } else { return Json( new { TipoMensagem = TipoMensagemRetorno.Erro, Mensagem = "Erro ao Inserir o Pedido. Verifique o dados informados." }, "text/html", JsonRequestBehavior.AllowGet); } } catch (Exception ex) { return Json( new { TipoMensagem = TipoMensagemRetorno.Erro, Mensagem = ex.Message }, "text/html", JsonRequestBehavior.AllowGet); } }