public IActionResult InsertOrderDetail(ApiProducts.Library.Models.PedidoCabDet value) { int id = 0; int idPedido = 0; var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(value); int insertCodigo = 0; ApiProducts.Library.Models.Producto objProducto = new ApiProducts.Library.Models.Producto(); ApiProducts.Library.Models.PedidoCab objPedido = new ApiProducts.Library.Models.PedidoCab(); //string json = @"[ {""idPedido"": 1, ""idProducto"": 1, ""cantidad"": 1 }]"; //Deserialize the data //var obj = JsonConvert.DeserializeObject<List<ApiProducts.Library.Models.PedidoCabDet>>(value.ToString()); //Loop thrrouch values and save the details into database using (IOrder Order = Factorizador.CrearConexionServicioOrder(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { idPedido = Order.InsertOrder(value.ClienteId, value.Total, "TC", ""); } foreach (int p in value.ListaProductos) { using (ICode Code = Factorizador.CrearConexionServicioCode(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { insertCodigo = Code.InsertCode(idPedido, p, Functions.RandomCodigo()); } using (IProduct producto = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { objProducto = producto.GetProduct(p); } using (IOrder Order = Factorizador.CrearConexionServicioOrder(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = Order.InsertDetail(idPedido, p, insertCodigo, 1, objProducto.PrecioVenta); } using (IOrder order = Factorizador.CrearConexionServicioOrder(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { objPedido = order.GetOrder(idPedido); } } if (id > 0) { return(Ok(new { Id = objPedido, Estatus = "success", Code = 200, Msg = "Detalle del pedido insertado correctamente!!" })); } return(NotFound()); }