public GuardarDetalleResponse Guardar(Detalle detalle)
 {
     try
     {
         Detalle detalleBuscado = testWebContext.Detalles.Find(detalle.Id);
         if (detalleBuscado != null)
         {
             return(new GuardarDetalleResponse("Detalle ya registrado."));
         }
         detalle.CalcularTotal();
         testWebContext.Detalles.Add(detalle);
         testWebContext.SaveChanges();
         productoService.Guardar(detalle.Producto);
         return(new GuardarDetalleResponse(detalle, "Detalle guardada correctamente"));
     }
     catch (Exception e)
     {
         return(new GuardarDetalleResponse($"Ocurrió un error {e.Message}"));
     }
 }
 public GuardarDetalleResponse Guardar(Detalle detalle)
 {
     try
     {
         Producto productoBuscado = productoService.ConsultarPorId(detalle.IdProducto);
         if (productoBuscado == null)
         {
             return(new GuardarDetalleResponse("No se encontró el producto", true));
         }
         if (detalle.Tipo.ToLower() == "aumento")
         {
             if (productoService.AumentarCantidad(productoBuscado, detalle.Cantidad).Error)
             {
                 var mensajeModificacion = productoService.AumentarCantidad(productoBuscado, detalle.Cantidad).Mensaje;
                 return(new GuardarDetalleResponse(detalle, mensajeModificacion, true));
             }
             ;
         }
         if (detalle.Tipo.ToLower() == "resta")
         {
             if (productoService.ReducirCantidad(productoBuscado, detalle.Cantidad).Error)
             {
                 var mensajeModificacion = productoService.ReducirCantidad(productoBuscado, detalle.Cantidad).Mensaje;
                 return(new GuardarDetalleResponse(detalle, mensajeModificacion, true));
             }
             ;
         }
         detalle.CalcularTotal();
         context.Detalles.Add(detalle);
         context.SaveChanges();
         return(new GuardarDetalleResponse(detalle, "Detalle guardado con éxito", false));
     }
     catch (Exception e)
     {
         return(new GuardarDetalleResponse($"Ha ocurrido un error en el servidor. {e.Message} Por favor, vuelva a internar más tarde", true));
     }
 }