Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs2/pages/documentations/eval-execute.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ You can specify parameter value to use in the expression from various way:
- Class Member
- Dictionary

Under the hood, the fist time an expression is executed, it's getting compiled and the delegate is stored in the memory before being returned and executed. All future call from the same expression will retrieve the delegate from the memory to optimize the performance.
Under the hood, the first time an expression is executed, it's getting compiled and the delegate is stored in the memory before being returned and executed. All future calls from the same expression will retrieve the delegate from the memory to optimize the performance.

Even with this optimization, if you have to evaluate multiple times the same expression, by example in a for loop, we highly recommend you to use directly the delegate returning from the Compile method instead.
Even with this optimization, if you have to evaluate multiple times the same expression, for example in a for loop, we highly recommend you to use directly the delegate returning from the Compile method instead.

## Execute and return a strongly typed result
You can return the result as a strongly typed type:
Expand Down
6 changes: 3 additions & 3 deletions docs2/pages/documentations/linq-dynamic.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
## Description
Extend the IEnumerable<T> and IQueryable<T> interface with methods to use LINQ with dynamic expressions.

LINQ (Language Integrated Query) has been introduced in .NET 3.5 and since has been one of the most used features. ORM like Entity Framework takes advantage from this feature and allow you to write type-safe queries.
Since LINQ (Language Integrated Query) has been introduced in .NET 3.5, it has been one of the most used feature. ORM like Entity Framework takes advantage of this feature and allows you to write type-safe queries.

The theory wants you only to use type-safe queries. However, the reality requires often you to write LINQ with dynamic query expressions.
In theory, you should only use it to write type-safe queries. However, the reality often requires you to write LINQ with dynamic query expressions.

## LINQ Dynamic - Predicate
You can use any LINQ method that support predicate with a dynamic C# expression :
You can use any LINQ method that supports predicate with a dynamic C# expression :

- Deferred
- SkipWhile
Expand Down
10 changes: 5 additions & 5 deletions docs2/pages/documentations/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ context.BindingFlags = BindingFlags.IgnoreCase | context.BindingFlags
## CacheKeyPrefix
Gets or sets the cache key prefix to use to cache compiled delegate in the memory.

> We recommend always to use a different cache key prefix if you modify the options.
> We always recommend to use a different cache key prefix if you modify the options.

### Example
```csharp
Expand All @@ -30,9 +30,9 @@ context.CacheKey = Guid.NewGuid().ToString();
## IncludeMemberFromAllParameters
Gets or sets if all members should be included from all parameters.

By default, member are only included when one parameter is specified.
By default, members are only included when one parameter is specified.

> This configuration can be very useful to disable if you execute multiple expression only once, and you believe they will never be re-used.
> This configuration can be very useful to disable if you execute multiple expressions only once, and you believe they will never be reused.

### Example
```csharp
Expand All @@ -46,7 +46,7 @@ Eval.Execute<bool>("catPropertyName == dogPropertyName", cat, dog);
## UseCache
Gets or sets if compiled delegate shoud be cached in the memory or not.

> This configuration can be very useful to disable if you execute multiple expression only once, and you believe they will never be re-used.
> This configuration can be very useful to disable if you execute multiple expressions only once, and you believe they will never be reused.

### Example
```csharp
Expand Down Expand Up @@ -74,7 +74,7 @@ var newExlusiveOrValue = = context.Eval("2^|3"); // return 1;
```

## Clone
Create a new shallow copy of the current EvalContext
Create a new shallow copy of the current EvalContext.

> Cloning the EvalContext can be useful to copy all options including all types already registered to use it to change only what's required for the expression to evaluate.

Expand Down
4 changes: 2 additions & 2 deletions docs2/pages/examples/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

### C# Eval Expression - Examples

Almost all examples in this website is available on the C# Eval Expression projects:
Almost all examples in this website are available on the C# Eval Expression projects:

- DOWNLOAD the latest source code release
- DOWNLOAD the latest source code released
- OPEN the solution (src/Examples.Expressions.Eval.sln)

<a class="btn btn-success btn-lg" href="https://github.com/zzzprojects/Eval-Expression.NET/releases" target="_blank" role="button" onclick="ga('send', 'event', { eventAction: 'download'});"><i class="fa fa-cloud-download"></i>&nbsp;Download Examples</a>
6 changes: 3 additions & 3 deletions docs2/pages/faq/contact-us.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contact us

## I have a question! What should I do?
Contact us directly with your questions: info@zzzprojects.com _(recommended)_
Contact us directly with your question: info@zzzprojects.com _(recommended)_

You can also use the [Issues Tracker](https://github.com/zzzprojects/Eval-Expression.NET/issues).

Expand All @@ -15,7 +15,7 @@ Contact us directly with your feature: info@zzzprojects.com _(recommended)_

You can also use the project [Issues Tracker](https://github.com/zzzprojects/Eval-Expression.NET/issues).

## I think you forget about my request! What should I do?
We usually get/answer over 20 requests by day. Unfortunately, it's happen!
## I think you forgot about my request! What should I do?
We usually get/answer over 20 requests per day. Unfortunately, it happens!

Just contact us back again, and we will make sure we don't miss it a second time!
4 changes: 2 additions & 2 deletions docs2/pages/faq/faq-general.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# FAQ General

## Which Payment method do you support?
We support the following payment method:
We support the following payment methods:

- PayPal
- Check
- Bank Transfer

## Can I purchase this product from a Reseller?
Yes, just let him know to contact us.
Yes, just let him know how to contact us.

## What's your average SLA response and resolution times?
We try to provide an outstanding support service.
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/faq/faq-installation.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Installation

## How to I Install your product?
It simple, you download it from NuGet and add it to your project.
It's simple, you download it from NuGet and add it to your project.

More Info: [Tutorials - Installing](installing)

Expand Down
28 changes: 13 additions & 15 deletions docs2/pages/faq/faq-license.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
### What's a developer seat?
A developer seat is a developer working for your company and developing code directly with our product.

You don't have to purchase developer seat for front-end developer or back-end developer which doesn't use our product API.
You don't have to purchase a developer seat for front-end developer or back-end developer which doesn't use our product API.

Since you buy developer seat, you can develop an unlimited amount of projects within your company.
Since you buy a developer seat, you can develop an unlimited amount of projects within your company.

### What's the cost for additional developer seat?
The cost for additional developer seat is usually extremely low. We want to make sure our library is accessible for small and large company.
The cost for an additional developer seat is usually extremely low. We want to make sure our library is accessible for small and large companies.

### Do developer seat are transferable?
### Are developer seats transferable?
Yes, a developer seat can be transferred to any employee within your company.

## Perpertual License
Expand All @@ -33,40 +33,38 @@ You can still download and use any version released before the support & upgrade
You will need to renew to use version released after the support & upgrade expiration date.

### How do I renew my License?
We usually start to send renewal mail two months before the support & upgrade expiration date.
We usually start to send renewal mail one month before the support & upgrade expiration date.

If you didn't receive such email, you could contact us directly: info@zzzprojects.com

### Can I have renewal discount?
We provide a 25% discount to early renewal. So anyone renewing before the support & upgrade expiration date automatically get a renewal discount.
We provide a 25% discount to early renewals. So, anyone renewing before the support & upgrade expiration date automatically get a renewal discount.

### I'm too late for early renewal discount! What can I do?
If you are few day late, we still provide early renewal discount.
If you are a few days late, we still provide early renewal discount.

However, if you have few months late, you will need to purchase the library again.
However, if you are a few months late, you will need to purchase the library again.

The best way to find out if you still have access to early renewal discount is by contacting us: info@zzzprojects.com

### Why should I renew?
Renewing your support & upgrade give the following benefits:

- Major version releases and new product features
- Fast support by mail
- Fast support by email
- Protection against price increases during the maintenance term

## Royalty Free

### Can I install Entity Framework Extensions on Client Machine?
### Can I install Entity Framework Extensions on client machine?
Yes, the product is royalty free.

That mean, you paid for developer seat, but customer using your product doesn't have to pay.
That mean, you pay for a developer seat, but the customers using your product doesn't have to pay.

### Is Entity Framework Extensions Royalty Free?
### Is Entity Framework Extensions royalty free?
Yes, the product is royalty free.

This mean, you can develop a project and install it on thousands of clients.

You paid for developer seat within your company.
This mean, you can develop a project and install it on thousands of client machines if you paid for a developer seat within your company.

Some standard royalty free limitations:

Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/getting-started/licensing.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ EvalManager.AddLicense(licenseName, licenseKey);
> The AddLicense must be set before the first call to the library. Otherwise, you will start the evaluation period

## How can I check if my license is valid?
The validate method allow you to know whether your license is valid or not.
The validate method allows you to know whether your license is valid or not.

```csharp
string licenseErrorMessage;
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/getting-started/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## What's C# Eval Expression library?

Our library is a lightweight expression evaluator that support nearly everything. You can evaluate or compile almost all possible C# expression including:
Our library is a lightweight expression evaluator that supports nearly everything. You can evaluate or compile almost all possible C# expressions including:

- Anonymous Type
- Extension Method
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/linq/linq-dynamic-all-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The list contains only odd numbers: True
```

## All - Grouped
This C# example uses the LINQ All method with a dynamic expression to return a grouped a list of products only for categories that have all of their products in stock.
This C# example uses the LINQ All method with a dynamic expression to return a grouped list of products only for categories that have all of their products in stock.

### LINQ
```csharp
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/linq/linq-dynamic-any-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ There is a word that contains in the list that contains 'ei': True
```

## Any - Grouped
This C# example uses the LINQ Any method with a dynamic expression to return a grouped a list of products only for categories that have at least one product that is out of stock.
This C# example uses the LINQ Any method with a dynamic expression to return a grouped list of products only for categories that have at least one product that is out of stock.

### LINQ
```csharp
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/linq/linq-dynamic-combine-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ C# Dynamic LINQ Combine examples using an Expression Evaluator.
- [Combine](#combine)

## Combine
This C# example uses the LINQ Combine method with a dynamic expression to calculates the dot product of two integer vectors. It uses a user-created sequence operator, Combine, to calculate the dot product, passing it a lambda function to multiply two arrays, element by element, and sum the result.
This C# example uses the LINQ Combine method with a dynamic expression to calculate the dot product of two integer vectors. It uses a user-created sequence operator, Combine, to calculate the dot product, passing it a lambda function to multiply two arrays, element by element, and sum the result.

### LINQ
```csharp
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/linq/linq-dynamic-thenby-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ C# Dynamic LINQ ThenBy examples using an Expression Evaluator.
- [ThenBy - Comparer](#thenby---comparer)

## ThenBy - Simple
This C# example uses the LINQ ThenBy method with a dynamic expression to sort a list of digits, first by length of their name, and then alphabetically by the name itself.
This C# example uses the LINQ ThenBy method with a dynamic expression to sort a list of digits, first by length of their names, and then alphabetically by the name itself.

### LINQ
```csharp
Expand Down
2 changes: 1 addition & 1 deletion docs2/pages/troubleshooting/md5-exception.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The default algorithm to validate the license key & name is not supported with F

Contact us and we will send you a new key supporting FIPS: info@zzzprojects.com

Why don't we generated key compatible with FIPS by default? Because it will not be supported for a client machine with Windows XP or below.
Why don't we generate a key compatible with FIPS by default? Because it will not be supported for a client machine with Windows XP or below.

#### Disable FIPS

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ The latest version always contains a trial for the current month to allow a comp

#### License Badly Registered

Make sure to follow all recommendation about how to setup your license: [Licensing](/licensing)
Make sure to follow all recommendations about how to setup your license: [Licensing](/licensing)

Otherwise contact us: info@zzzprojects.com