public JsonResult PostPedido(FormCollection formCollection) { try { #region Pegando os itens do pedido var i = 0; var itens = new List<ItemPedidoDataModel>(); while (i < formCollection.Count - 2) { var item = new ItemPedidoDataModel(); while (i < formCollection.Count - 1) { item.CodProd = int.Parse(formCollection[i]); item.PrecoCusto = decimal.Parse(formCollection[i + 1].Replace('.', ',')); item.Qnt = decimal.Parse(formCollection[i + 2]); i += 3; if (i % 3 == 0) { itens.Add(item); break; } } } #endregion var cod = formCollection["codFornecedor"]; var pedido = new Pedido(); pedido.Cod_Forn = int.Parse(formCollection["codFornecedor"]); if (formCollection["previsaoChegada"] == "") pedido.DatPrevisaoCheg_Ped = null; else pedido.DatPrevisaoCheg_Ped = Convert.ToDateTime(formCollection["previsaoChegada"]); pedido.Itens = itens; pedido.Cod_Func = CodUsuarioLogado; _pedidoRepository.Post(pedido); return Json("ok", JsonRequestBehavior.AllowGet); } catch (Exception ex) { return Json(ex.Message, JsonRequestBehavior.AllowGet); } }
public void Post(Pedido pedido) { _connection.ExecuteProcedure(Procedures.InsPedido); _connection.AddParameter("CodForn_Ped", pedido.Cod_Forn); _connection.AddParameter("Cod_Func", pedido.Cod_Func); _connection.AddParameter("DatPrevisaoCheg_Ped", pedido.DatPrevisaoCheg_Ped); var codPedido = 0; using (var reader = _connection.ExecuteReader()) { if (reader.Read()) { codPedido = (int)reader["Cod_Ped"]; } } foreach (var item in pedido.Itens) { PostItem(item, codPedido); } }