public ProductResponse Create(Product product)
        {
            var response = new ProductResponse();

            if (product == null || product.Id > uint.MinValue)
            {
                return(response.BuildReponse(product, false, "Error en asignación de datos"));
            }

            var nextId = query.getAllProduct().Max(x => x.Id + 1);

            product.Id = nextId;

            var validateExists = query.getProductByCode(product.Code);

            if (validateExists != null)
            {
                return(response.BuildReponse(product, false, "Ya existe el código ingresado"));
            }

            var result = command.Create(product);

            if (result.Id == uint.MinValue)
            {
                return(response.BuildReponse(result, false, "Error al insertar"));
            }

            return(response.BuildReponse(result, true));
        }
 public Product getTipoProductoByCode(string code)
 {
     return(query.getProductByCode(code));
 }