Exemple #1
0
        public async Task <HttpResponseMessage> Guardar(HttpRequestMessage request, [FromBody] JObject data)
        {
            return(await CreateHttpResponseAsync(request, async() =>
            {
                HttpResponseMessage response = null;
                string message = String.Empty;
                try
                {
                    List <ProductosDetalleKit> productoKits = new List <ProductosDetalleKit>();
                    var producto = data["producto"].ToObject <Producto>();
                    if (producto?.Kit ?? false)
                    {
                        productoKits = data["productoskit"].ToObject <List <ProductosDetalleKit> >();
                    }

                    var result = _productoService.InsertUpdateProducto(producto, out message, producto?.Kit ?? false ? productoKits : null);
                    if (result)
                    {
                        response = request.CreateResponse(HttpStatusCode.OK, new { ID = result });
                    }
                    else
                    {
                        response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                          new
                        {
                            error = "ERROR",
                            message = message
                        });
                    }
                }
                catch (Exception ex)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      new
                    {
                        error = "ERROR",
                        message = ex.Message
                    });
                }

                return await Task.FromResult(response);
            }));
        }