text:
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Xlent.Lever.Libraries2.Core.NetStandard</name>
    </assembly>
    <members>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert">
            <summary>
            A class for asserting things that the programmer thinks is true. Works both as documentation and as verification that the programmers assumptions holds.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.Fail(System.String,System.String)">
            <summary>
            Will always fail. Used in parts of the errorLocation where we should never end up. E.g. a default case in a switch statement where all cases should be covered, so we should never end up in the default case.
            </summary>
            <param name="errorLocation">A unique errorLocation for this exact assertion.</param>
            <param name="message">A message that documents/explains this failure. This message should normally start with "Expected ...".</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsTrue(System.Boolean,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is true.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsNull(System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsNotNull(System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsNotDefaultValue``1(``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not the default value for that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsNotNullOrWhiteSpace(System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null, not empty and contains other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.AreEqual(System.Object,System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is equal to <paramref name="expectedValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.AreNotEqual(System.Object,System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is not equal to <paramref name="expectedValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsLessThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is less than to <paramref name="greaterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsLessThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is less than or equal to <paramref name="greaterOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsGreaterThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is greater than <paramref name="lesserValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsGreaterThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is greater than or equal to <paramref name="lesserOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.MatchesRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null or matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.MatchesNotRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null or not matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsValidatedOrNull(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String)">
            <summary>
            If <paramref name="value"/> is not null, then call the Validate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsValidatedOrNull(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String)">
            <summary>
            If <paramref name="values"/> is not null, then call the Validate() method for every object in the collection.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsValidatedAndNotNull(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null and also call the Validate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsValidatedAndNotNull(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String)">
            <summary>
            Verify that <paramref name="values"/> is not null and also call the Validate() method for every object in the collection.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsValidated(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String)">
            <summary>
            Call the Validate() method for <paramref name="value"/>
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumAssert.IsValidated(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String)">
            <summary>
            Call the Validate() method for each item in <paramref name="values"/>
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate">
            <summary>
            A class for asserting things that the programmer thinks is true. Works both as documentation and as verification that the programmers assumptions holds.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.Fail(System.String,System.String)">
            <summary>
            Will always fail. Used in parts of the errorLocation where we should never end up. E.g. a default case in a switch statement where all cases should be covered, so we should never end up in the default case.
            </summary>
            <param name="errorLocation">A unique errorLocation for the part of errorLocation where the validation didn't hold.</param>
            <param name="message">A message that documents/explains this failure. This message should normally start with "Expected ...".</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsTrue(System.Boolean,System.String,System.String)">
            <summary>
            Verify that <paramref name="mustBeTrue"/> is true.
            </summary>
            <param name="mustBeTrue">The value that must be true.</param>
            <param name="message">A message that documents/explains this failure. This message should normally start with "Expected ...".</param>
            <param name="errorLocation">A unique errorLocation for the part of errorLocation where the validation didn't hold.</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsNotNull(System.Object,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsNotDefaultValue``1(``0,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not the default mustBeTrue for that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsNotNullOrWhiteSpace(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null, not empty and contains other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsValidated(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String,System.String,System.String)">
            <summary>
            Call the Validate() method for <paramref name="value"/>
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsValidated(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String,System.String,System.String)">
            <summary>
            Call the Validate() method for each item in <paramref name="values"/>
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.AreEqual(System.Object,System.Object,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is equal to <paramref name="expectedValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsLessThan``1(``0,``0,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is less than <paramref name="greaterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsLessThanOrEqualTo``1(``0,``0,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is less than or equal to <paramref name="greaterOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsGreaterThan``1(``0,``0,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is greater than <paramref name="lesserValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.IsGreaterThanOrEqualTo``1(``0,``0,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is greater than or equal to <paramref name="lesserOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.MatchesRegExp(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is null or matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.FulcrumValidate.MatchesNotRegExp(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="propertyValue"/> is null or not matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1">
            <summary>
            A generic class for asserting things that the programmer thinks is true. Generic in the meaning that a parameter says what exception that should be thrown when an assumption is false.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.Fail(System.String,System.String)">
            <summary>
            Will always fail. Used in parts of the errorLocation where we should never end up. E.g. a default case in a switch statement where all cases should be covered, so we should never end up in the default case.
            </summary>
            <param name="errorLocation">A unique errorLocation for this exact assertion.</param>
            <param name="message">A message that documents/explains this failure. This message should normally start with "Expected ...".</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsTrue(System.Boolean,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is true.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsTrue(System.Linq.Expressions.Expression{System.Func{System.Boolean}},System.String,System.String)">
            <summary>
            Verify that the result of <paramref name="expression"/> is true.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNull(System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNull(System.Linq.Expressions.Expression{System.Func{System.Object}},System.String,System.String)">
            <summary>
            Verify that the result of <paramref name="expression"/> is null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNotNull(System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNotNull(System.Linq.Expressions.Expression{System.Func{System.Object}},System.String,System.String)">
            <summary>
            Verify that the result of <paramref name="expression"/> is null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNotDefaultValue``1(``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not the default value for that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNotNullOrWhiteSpace(System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is not null, not empty and has other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsNotNullOrWhiteSpace(System.Linq.Expressions.Expression{System.Func{System.String}},System.String,System.String)">
            <summary>
            Verify that the result of <paramref name="expression"/> is not null, not empty and contains other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.AreEqual(System.Object,System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is equal to <paramref name="expectedValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.AreNotEqual(System.Object,System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is not equal to <paramref name="expectedValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.AreEqual(System.Object,System.Linq.Expressions.Expression{System.Func{System.String}},System.String,System.String)">
            <summary>
            Verify that the result of <paramref name="expression"/> is equal to <paramref name="expectedValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsLessThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is less than to <paramref name="greaterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsLessThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is less than or equal to <paramref name="greaterOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsGreaterThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is greater than <paramref name="lesserValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.IsGreaterThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="actualValue"/> is greater than or equal to <paramref name="lesserOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.MatchesRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null or matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericAssert`1.MatchesNotRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null or matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1">
            <summary>
            A generic class for verifying method contracts. Generic in the meaning that a parameter says what exception that should be thrown when a requirement doesn't hold.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.Require``1(``0,System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.String)">
            <summary>
            Verify that <paramref name="expression"/> return true, when applied to <paramref name="parameterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireNotNull``1(``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireNotDefaultValue``1(``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not the default value for this type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireNotNullOrWhitespace(System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null, not empty and contains other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.Require(System.Linq.Expressions.Expression{System.Func{System.Boolean}},System.String)">
            <summary>
            Verify that <paramref name="expression"/> returns a true value.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.Require(System.Boolean,System.String)">
            <summary>
            Verify that <paramref name="mustBeTrue"/> really is true.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.Fail(System.String)">
            <summary>
            Always fail, with the given <paramref name="message"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireLessThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is less than to <paramref name="greaterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireLessThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is less than or equal to <paramref name="greaterOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireGreaterThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is greater than <paramref name="lesserValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireGreaterThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is greater than or equal to <paramref name="lesserOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireMatchesRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.GenericContract`1.RequireMatchesNotRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.InternalContract">
            <summary>
            A class for verifying method contracts. Will throw <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException"/> if the contract is broken.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.Require``1(``0,System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.String)">
            <summary>
            Verify that <paramref name="expression"/> return true, when applied to <paramref name="parameterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireNotNull(System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireNotDefaultValue``1(``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not the default parameterValue for this type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireNotNullOrWhitespace(System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null, not empty and contains other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireValidatedOrNull(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String)">
            <summary>
            If <paramref name="parameterValue"/> is not null, then call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireValidatedOrNull(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String)">
            <summary>
            If <paramref name="parameterValues"/> is not null, then call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireValidatedAndNotNull(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null and also call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireValidatedAndNotNull(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValues"/> is not null and also call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireValidated(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String)">
            <summary>
            If <paramref name="parameterValue"/> is not null, then call the Validate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireValidated(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String)">
            <summary>
            If <paramref name="parameterValues"/> is not null, then call the Validate() method for each item.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.Require(System.Linq.Expressions.Expression{System.Func{System.Boolean}},System.String)">
            <summary>
            Verify that <paramref name="expression"/> returns a true parameterValue.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.Require(System.Boolean,System.String)">
            <summary>
            Verify that <paramref name="mustBeTrue"/> really is true.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireLessThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is less than to <paramref name="greaterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireLessThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is less than or equal to <paramref name="greaterOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireGreaterThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is greater than <paramref name="lesserValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.RequireGreaterThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is greater than or equal to <paramref name="lesserOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.MatchesRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is null or matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.MatchesNotRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null or not matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.InternalContract.Fail(System.String)">
            <summary>
            Always fail, with the given <paramref name="message"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.IValidatable">
            <summary>
            Interface for classes that are validatable, i.e has a method for validating the properties of the class.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.IValidatable.Validate(System.String,System.String)">
            <summary>
            FulcrumValidate that the properties are OK. The validation should be made with methods from the <see cref="M:Xlent.Lever.Libraries2.Core.Assert.IValidatable.Validate(System.String,System.String)"/> class.
            </summary>
            <exception cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException">A validation failed.</exception>
            <param name="errorLocation">A unique errorLocation for the part of errorLocation where the validation check was made.</param>
            <param name="propertyPath">The path of properties up to this validation.</param>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Assert.ServiceContract">
            <summary>
            A class for verifying service contracts. Will throw <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException"/> if the contract is broken.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.Require``1(``0,System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.String)">
            <summary>
            Verify that <paramref name="expression"/> return true, when applied to <paramref name="parameterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireNotNull(System.Object,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireNotDefaultValue``1(``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not the default value for this type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireNotNullOrWhitespace(System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null, not empty and contains other characters than white space.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireValidatedOrNull(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String)">
            <summary>
            If <paramref name="parameterValue"/> is not null, then call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireValidatedOrNull(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String)">
            <summary>
            If <paramref name="parameterValues"/> is not null, then call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireValidatedAndNotNull(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is not null and also call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireValidatedAndNotNull(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValues"/> is not null and also call the FulcrumValidate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireValidated(Xlent.Lever.Libraries2.Core.Assert.IValidatable,System.String,System.String)">
            <summary>
            If <paramref name="parameterValue"/> is not null, then call the Validate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireValidated(System.Collections.Generic.IEnumerable{Xlent.Lever.Libraries2.Core.Assert.IValidatable},System.String,System.String)">
            <summary>
            If <paramref name="parameterValues"/> is not null, then call the Validate() method of that type.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.Require(System.Linq.Expressions.Expression{System.Func{System.Boolean}},System.String)">
            <summary>
            Verify that <paramref name="expression"/> returns a true value.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.Require(System.Boolean,System.String)">
            <summary>
            Verify that <paramref name="mustBeTrue"/> really is true.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireLessThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is less than to <paramref name="greaterValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireLessThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is less than or equal to <paramref name="greaterOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireGreaterThan``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is greater than <paramref name="lesserValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.RequireGreaterThanOrEqualTo``1(``0,``0,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is greater than or equal to <paramref name="lesserOrEqualValue"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.MatchesRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="parameterValue"/> is null or matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.MatchesNotRegExp(System.String,System.String,System.String,System.String)">
            <summary>
            Verify that <paramref name="value"/> is null or not matches the regular expression <paramref name="regularExpression"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Assert.ServiceContract.Fail(System.String)">
            <summary>
            Always fail, with the given <paramref name="message"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Context.AsyncLocalValueProvider">
            <summary>
            Stores values in the execution context which is unaffected by asynchronous code that switches threads or context.
            </summary>
            <remarks>Updating values in a thread will not affect the value in parent/sibling threads</remarks>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.AsyncLocalValueProvider.#cctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.AsyncLocalValueProvider.GetValue``1(System.String)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.AsyncLocalValueProvider.SetValue``1(System.String,``0)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Context.CorrelationIdValueProvider">
            <summary>
            Stores values in the execution context which is unaffected by asynchronous code that switches threads or context.
            </summary>
            <remarks>Updating values in a thread will not affect the value in parent/sibling threads</remarks>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Context.CorrelationIdValueProvider.ValueProvider">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Context.CorrelationIdValueProvider.AsyncLocalInstance">
            <summary>
            An instance that uses <see cref="T:Xlent.Lever.Libraries2.Core.Context.AsyncLocalValueProvider"/> as a getter and setter.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Context.CorrelationIdValueProvider.MemoryCacheInstance">
            <summary>
            An instance that uses <see cref="T:Xlent.Lever.Libraries2.Core.Context.SingleThreadValueProvider"/> as a getter and setter.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.CorrelationIdValueProvider.#ctor(Xlent.Lever.Libraries2.Core.Context.IValueProvider)">
            <summary>
            Constructor
            </summary>
            <param name="valueProvider">The <see cref="T:Xlent.Lever.Libraries2.Core.Context.IValueProvider"/> to use as a getter and setter.</param>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Context.CorrelationIdValueProvider.CorrelationId">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Context.ICorrelationIdValueProvider">
            <summary>
            Interface for accessing a CorrelationId.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Context.ICorrelationIdValueProvider.ValueProvider">
            <summary>
            The value provider that is used to getting and setting data
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Context.ICorrelationIdValueProvider.CorrelationId">
            <summary>
            Access method for CorrelationId
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Context.IValueProvider">
            <summary>
            Interface for accessing data.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.IValueProvider.GetValue``1(System.String)">
            <summary>
            Get the data with name <paramref key="key"/>.
            </summary>
            <param name="key"></param>
            <typeparam name="T">The type of the data.</typeparam>
            <returns>The found value or null if not found.</returns>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.IValueProvider.SetValue``1(System.String,``0)">
            <summary>
            Create/update the data with name <paramref name="key"/> to <paramref name="value"/>, which must not be null.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Context.SingleThreadValueProvider">
            <summary>
            Stores values in the execution context which is unaffected by asynchronous code that switches threads or context.
            </summary>
            <remarks>Updating values in a thread will not affect the value in parent/sibling threads</remarks>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.SingleThreadValueProvider.GetValue``1(System.String)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Context.SingleThreadValueProvider.SetValue``1(System.String,``0)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Decoupling.IFactory`1">
            <summary>
            Can create items of the specified type.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Decoupling.IFactory`1.CreateItemFromFactory">
            <summary>
            Creates an item instance.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue">
            <summary>
            An important tool for loose coupling. Annotates system specific values with information that makes the value system independent.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.ConceptName">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.ClientName">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.ContextName">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.Value">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.ToPath">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.Parse(System.String)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.TryParse(System.String,Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue@)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Decoupling.Model.ConceptValue.Validate(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue">
            <summary>
            An important tool for loose coupling. Annotates system specific values with information that makes the value system independent.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ConceptName">
            <summary>
            The name of the concept that this value belongs to, e.g. "gender".
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ClientName">
            <summary>
            The name of the client that used this value. If <see cref="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ContextName"/> is null, then this property is mandatory.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ContextName">
            <summary>
            The name of the client that used this value. If <see cref="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ClientName"/> is null, then this property is mandatory.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.Value">
            <summary>
            The actual value
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ToPath">
            <summary>
            Conversion function from a <see cref="T:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue"/> to an instance path on the form ({concept}!{context}|{value}) or ({concept}!~{client}|{value}), depending on the values of <see cref="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ContextName"/> and <see cref="P:Xlent.Lever.Libraries2.Core.Decoupling.Model.IConceptValue.ClientName"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException">
            <summary>
            The server failed to execute the request due to an assertion made by the programmer that proved to be wrong.
            </summary>
            <example>
            The programmer was sure that a certain condition would never be met, so the programmer just added an if-statement with this exception.
            </example>
            <remarks>
            This is basically a "Programmers Error", a bug on the server side.
            </remarks>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.#ctor(System.String,System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumAssertionFailedException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException">
            <summary>
            The request conflicted with a business rule.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.ExceptionType">
            <summary>
            The Type for this kind of <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.#ctor">
            <summary>
            Empty constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumBusinessRuleException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException">
            <summary>
            The request conflicted with the current state of the resource.
            </summary>
            <example>
            Someone else has edited the resource (The Update with ETag scenario).
            </example>
            <example>
            Someone else has already created the resource (The Create or Insert scenario with duplicates).
            </example>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException">
            <summary>
            There was something wrong with the request itself, i.e. syntax, values out of range, etc.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumContractException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException">
            <summary>
            The base class for all Fulcrum exceptions
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException._serverTechnicalName">
            <summary>
            The current servent name. Can be set by calling <see cref="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.Initialize(System.String)"/>.
            Will automaticall be copied to the the field <see cref="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.ServerTechnicalName"/> for every new error.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.TechnicalMessage">
            <summary>
            Mandatory technical information that a developer might find useful.
            This is where you might include exception messages, stack traces, or anything else that you
            think will help a developer.
            </summary>
            <remarks>
            This message is not expected to contain any of the codes or identifiers that are already contained
            in this error type, sucha as the error <see cref="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.Code"/> or the <see cref="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.InstanceId"/>.
            </remarks>
            <remarks>
            If this property has not been set, the recommendation is to treat the <see cref="P:System.Exception.Message"/>
            property as the technical message.
            </remarks>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.FriendlyMessage">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.MoreInfoUrl">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.RecommendedWaitTimeInSeconds">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.ServerTechnicalName">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.InstanceId">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.ErrorLocation">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.Code">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.Type">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.CorrelationId">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.#ctor">
            <summary>
            Empty constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.CopyFrom(Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.Initialize(System.String)">
            <summary>
            Sets the server technical name. This name will be used as a default for all new FulcrumExceptions.
            </summary>
            <param name="serverTechnicalName"></param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.Validate(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException">
            <summary>
            Authorization existed, but access was forbidden.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumForbiddenAccessException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException">
            <summary>
            The specified item could not be found.
            </summary>
            <example>
            A request for a person with a specified Id that doesn't exist should always throw this exception.
            </example>
            <example>
            If a person exists, and the request is for a list of e-mail addresses and the person doesn't have any,
            you should not throw this exception, but return an empty list.
            </example>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException">
            <summary>
            The request requires some functionality that deliberately has been left out, at least for the moment.
            </summary>
            <example>
            During testing, there could be parts of the code that hasn't been developed yet. Then throwing this exception is appropriate.
            </example>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException">
            <summary>
            There was something wrong with the request itself, i.e. syntax, values out of range, etc.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumServiceContractException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException">
            <summary>
            The resource was temporarily locked, please try again in the recommended time span (<see cref="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException.RecommendedWaitTimeInSeconds"/>).
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumTryAgainException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException">
            <summary>
            Authorization was missing or not accepted.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.Create(System.String,System.Exception)">
            <summary>
            Factory method
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.ExceptionType">
            <summary>
            The type for this <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumUnauthorizedException.Type">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError">
            <summary>
            Information that will be returned when a REST service returns a non successful HTTP status code
            </summary>
            <remarks>
            Inspired by the follwing articles
            http://blog.restcase.com/rest-api-error-codes-101/
            https://stormpath.com/blog/spring-mvc-rest-exception-handling-best-practices-part-1
            </remarks>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.TechnicalMessage">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.FriendlyMessage">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.MoreInfoUrl">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.IsRetryMeaningful">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.RecommendedWaitTimeInSeconds">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.ServerTechnicalName">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.InstanceId">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.ErrorLocation">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.Code">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.Type">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.CorrelationId">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.FriendlyMessageId">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.InnerError">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.CopyFrom(Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.ToString">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Model.FulcrumError.Validate(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError">
            <summary>
            An interface for error information. Typically used by <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumException"/>.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.TechnicalMessage">
            <summary>
            Mandatory technical information that a developer might find useful.
            This is where you might include exception messages, stack traces, or anything else that you
            think will help a developer.
            </summary>
            <remarks>
            This message is not expected to contain any of the codes or identifiers that are already contained
            in this error type, sucha as the error <see cref="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.Code"/> or the <see cref="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.InstanceId"/>.
            </remarks>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.FriendlyMessage">
            <summary>
            An optional human readable error message that can potentially be shown directly to an application
            end user (not a developer). It should be friendly and easy to understand and convey a concise
            reason as to why the error occurred.  It should probaby not contain technical information.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.Type">
            <summary>
            Errors are grouped into different types, such as "BusinessRule", "NotFound", "Unavailable".
            Type is a mandatory unique id for the type of error. The recommendation is to use a readable string
            such as "Xlent.Fulcrum.AssertionFailed"
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.MoreInfoUrl">
            <summary>
            An optional URL that anyone seeing the error message can click (or copy and paste) in a browser.
            The target web page should describe the error condition fully, as well as potential solutions
            to help them resolve the error condition.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.IsRetryMeaningful">
            <summary>
            Mandatory indication for if it would be meaningful to try sending the request again.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.RecommendedWaitTimeInSeconds">
            <summary>
            If <see cref="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.IsRetryMeaningful"/> is true, then this optional property can give a recommended
            interval to wait before the request is sent again. A value less or equal to 0.0 means that
            no recommendation was given.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.ServerTechnicalName">
            <summary>
            An optional technical name for the server that created this error information.
            </summary>
            <remarks>
            Useful when for a call that is "deep", i.e. the call was relayed to another server.
            </remarks>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.InstanceId">
            <summary>
            A mandatory unique identifier for this particular instance of the error. Ideally, the same identifier
            should not be used ever again. The recommendation is to use a newly created GUID.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.ErrorLocation">
            <summary>
            An optional hint on where this error occurred in the code. The recommendation is to use the name of the DLL file combined with a fixed GUID for the specific location within the DLL.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.Code">
            <summary>
            An optional error code for the error. A way to use a standard <see cref="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.Type"/>, but still be more specific. Will typically  be a part of the <see cref="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.MoreInfoUrl"/>.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.CorrelationId">
            <summary>
            All calls that were involved in the chain that led to this error (successful calls or not) will
            all be marked in the logs with this mandatory CorrelationId. It is valuable if someone wants to track down
            exactly what happened.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError.CopyFrom(Xlent.Lever.Libraries2.Core.Error.Model.IFulcrumError)">
            <summary>
            Copies all fields from <paramref name="fulcrumError"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator">
            <summary>
            Knows the logic behind aggregating health of many resources.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.Tenant">
            <summary>
            The current Tenant
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.GetResourceHealthDelegate">
            <summary>
            The signature for a resource health method.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.#ctor(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="tenant">The tenant that we should focus on.</param>
            <param name="resourceName">The name of the resource.</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.AddResourceHealthAsync(System.String,Xlent.Lever.Libraries2.Core.Health.Model.IResourceHealth)">
            <summary>
            Check the health of a specific resource and aggregate it to the complete health state.
            </summary>
            <param name="resourceName">The name to use for the resource</param>
            <param name="resource">A resource that we want to get the health for and add it to the aggregated health.</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.AddResourceHealthAsync(System.String,Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.GetResourceHealthDelegate)">
            <summary>
            Call e healt check delegate and aggregate the answer to the complete health state.
            </summary>
            <param name="resourceName">The name to use for the resource</param>
            <param name="healthDelegate">A method that returns a health, that we will add to the aggregated health.</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.AddHealthResponse(Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse)">
            <summary>
            Add a health response and aggregate it to the complete health state.
            </summary>
            <param name="healthResponse"></param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Logic.ResourceHealthAggregator.GetAggregatedHealthResponse">
            <summary>
            Get the aggregated health.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse">
            <summary>
            The response type for a HealthService request, the Resource list is used to list underlying systems.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.StatusEnum">
            <summary>
            Values for reporting the health
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.StatusEnum.Ok">
            <summary>
            Everything is OK for the service - no minor or major problems.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.StatusEnum.Warning">
            <summary>
            The service/resource have no major problems, but at least one minor problems, such as longer response times than expected.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.StatusEnum.Error">
            <summary>
            The service/resource have at least one major problem, such as no connection to an important resource.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.#ctor">
            <summary>
            Constructor. Will set the status to OK initially.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.#ctor(System.String)">
            <summary>
            Constructor. Will set the status to OK initially.
            </summary>
            <param name="resourceName">The name of the resource that this health response is for.</param>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.Message">
            <summary>
            A message that describes the status.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.Status">
            <summary>
            Summary status for the service or resource.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.Resource">
            <summary>
             The name of the service/resource
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Health.Model.HealthResponse.Resources">
            <summary>
            A list of statuses for all sub resources.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Health.Model.IResourceHealth">
            <summary>
            Interface to be implemented by every controller for a service that should report their health.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Health.Model.IResourceHealth.GetResourceHealthAsync(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant)">
            <summary>
            Get the health status for a specific <paramref name="tenant"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Logging.Logic.LogHelper">
            <summary>
            A convenience class for logging.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Logging.Logic.LogHelper.Log(Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger,Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel,System.String,System.Exception)">
            <summary>
            Safe logging of a message. Will check for errors, but never throw an exception. If the log can't be made, a fallback log will be created.
            </summary>
            <param name="logger">The logger to use for publishing the message.</param>
            <param name="tenant">Current tenant.</param>
            <param name="severityLevel">The severity level for this log.</param>
            <param name="message">The message to log (will be concatenated with any <paramref name="exception"/> information).</param>
            <param name="exception">Optional exception</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Logging.Logic.LogHelper.LogAsync(Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger,Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel,System.String,System.Exception)">
            <summary>
            Safe logging of a message. Will check for errors, but never throw an exception. If the log can't be made, a fallback log will be created.
            </summary>
            <param name="logger">The logger to use for publishing the message.</param>
            <param name="tenant">Current tenant.</param>
            <param name="severityLevel">The severity level for this log.</param>
            <param name="message">The message to log (will be concatenated with any <paramref name="exception"/> information).</param>
            <param name="exception">Optional exception</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Logging.Logic.LogHelper.FormatMessage(System.String,System.Exception)">
            <summary>
            Create a formatted message based on <paramref name="message"/> and <paramref name="exception"/>
            </summary>
            <param name="message">The message. Can be null or empty if exception is not null.</param>
            <param name="exception">Optional exception</param>
            <returns>A formatted message, never null or empty</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception"/> is null AND <paramref name="message"/> is null or empty.</exception>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Logging.Logic.LogHelper.FormatMessage(System.Exception)">
            <summary>
            Create a formatted message based on <paramref name="exception"/>
            </summary>
            <param name="exception">The exception that we will create a log message for.</param>
            <returns>A formatted message, never null or empty.</returns>
            <remarks>This method should never throw an exception. If </remarks>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger">
            <summary>
            Interface for basic logging
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger.LogAsync(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel,System.String)">
            <summary>
            Log <paramref name="message"/> for <paramref name="tenant"/> with level <paramref name="logSeverityLevel"/>.
            </summary>
            <remarks>Same as <see cref="M:Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger.Log(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel,System.String)"/>, but asynchronous.</remarks>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger.Log(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel,System.String)">
            <summary>
            Log <paramref name="message"/> for <paramref name="tenant"/> with level <paramref name="logSeverityLevel"/>.
            </summary>
            <remarks>Same as <see cref="M:Xlent.Lever.Libraries2.Core.Logging.Model.IFulcrumLogger.LogAsync(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant,Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel,System.String)"/>, but synchronous.</remarks>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel">
            <summary>
            The severity level for a log message.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.None">
            <summary>
            No severity level set. Should be treated as <see cref="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Verbose"/> level.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Verbose">
            <summary>
            Verbose level. Typically debug messages.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Information">
            <summary>
            Information level. Typically informational message of higher importance than <see cref="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Verbose"/>.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Warning">
            <summary>
            Warning level. The request could be handled, but the message describes an anomaly.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Error">
            <summary>
            Error level. The request could not be fulfilled. Unique for this request.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Logging.Model.LogSeverityLevel.Critical">
            <summary>
            Critical error level. Something is wrong internally and all or many requests will fail.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Misc.Models.IDeepCopy`1">
            <summary>
            Copy an object with deep copying
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Misc.Models.IDeepCopy`1.DeepCopy">
            <summary>
            Return a new copy.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.MultiTenant.Context.ITenantConfigurationValueProvider">
            <summary>
            Adds Tenant and LeverConfiguration to what <see cref="T:Xlent.Lever.Libraries2.Core.Context.ICorrelationIdValueProvider"/> provides.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Context.ITenantConfigurationValueProvider.Tenant">
            <summary>
            The current Tenant.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Context.ITenantConfigurationValueProvider.LeverConfiguration">
            <summary>
            The current configuration.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.MultiTenant.Context.TenantConfigurationValueProvider">
            <summary>
            Stores values in the execution context which is unaffected by asynchronous code that switches threads or context.
            </summary>
            <remarks>Updating values in a thread will not affect the value in parent/sibling threads</remarks>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Context.TenantConfigurationValueProvider.AsyncLocalInstance">
            <summary>
            An instances based on <see cref="T:Xlent.Lever.Libraries2.Core.Context.AsyncLocalValueProvider"/>.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Context.TenantConfigurationValueProvider.MemoryCacheInstance">
            <summary>
            An instances based on <see cref="T:Xlent.Lever.Libraries2.Core.Context.SingleThreadValueProvider"/>.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.MultiTenant.Context.TenantConfigurationValueProvider.#ctor(Xlent.Lever.Libraries2.Core.Context.IValueProvider)">
            <summary>
            Constructor
            </summary>
            <param name="valueProvider">The value provider to use for getting and setting.</param>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Context.TenantConfigurationValueProvider.Tenant">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Context.TenantConfigurationValueProvider.LeverConfiguration">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant">
            <summary>
            Information about a tenant in the Fulcrum multi tenant runtime.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant.Organization">
            <summary>
            A unique lowercase abbreviation or acronym for the organization, e.g. "sef" for Svensk Elitfotboll
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant.Environment">
            <summary>
            A lowercase ascii name for the organization environment, e.g. "local", "dev", "test", "ver", "integration-test", "prd", "production", etc.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant">
            <summary>
            Information about a tenant in the Fulcrum multi tenant runtime.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.#ctor(System.String,System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.Organization">
            <summary>
            A unique lowercase abbreviation or acronym for the organization, e.g. "sef" for Svensk Elitfotboll
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.Environment">
            <summary>
            A lowercase name of the organization environment, e.g. "local", "dev", "tst", "ver", "int", "prd", "production", etc.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.ToString">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.MultiTenant.Model.Tenant.Validate(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.AuthenticationRoleEnum">
            <summary>
            Enumeration for the roles that authenication handles
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Platform.Authentication.AuthenticationRoleEnum.SysAdminUser">
            <summary>
            Have all rights
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Platform.Authentication.AuthenticationRoleEnum.InternalSystemUser">
            <summary>
            A Fulcrum internal system
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Platform.Authentication.AuthenticationRoleEnum.ExternalSystemUser">
            <summary>
            An external system (belonging to the organization)
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Platform.Authentication.AuthenticationRoleEnum.Administrator">
            <summary>
            A human administrator
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.ClaimTypeNames">
            <summary>
            Constants for claim types.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.ClaimTypeNames.Organization">
            <summary>
            The name for the claim type Organization
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.ClaimTypeNames.Environment">
            <summary>
            The name for the claim type Environment
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.ICredentials">
            <summary>
            Interface for credentials (á la username and password)
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.ICredentials.ClientId">

              The identity for the client that provides these credentials

        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.ICredentials.ClientSecret">

              The proof that the client is who it claims it is

        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.IJwtToken">
            <summary>
            An interface for a JWT token and some metadata for that token
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.IJwtToken.Type">
            <summary>
            The token type for this token
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.IJwtToken.AccessToken">
            <summary>
            The actual token
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Authentication.IJwtToken.ExpiresOn">
            <summary>
            The time that this token expires
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.ITokenRefresher">
            <summary>
            A Service Client that can refresh tokens.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Platform.Authentication.ITokenRefresher.GetJwtTokenAsync">
            <summary>
            Get a cached <see cref="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.IJwtToken"/>. If no token is cached or the token is becoming old, a new one is returned.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Authentication.JwtTokenTypeEnum">
            <summary>
            The different types of JwtTokens that we currently support
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Platform.Authentication.JwtTokenTypeEnum.Bearer">
            <summary>
            A bearer token
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverConfiguration">
            <summary>
            Interface for retrieving configuration data.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverConfiguration.MandatoryValue``1(System.Object)">
            <summary>
            Gets a value from the configuration and verifies that it is not null.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverConfiguration.Value``1(System.Object)">
            <summary>
            Gets a value from the configuration.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverServiceConfiguration">
            <summary>
            Contains what is needed in a convenience class for getting configurations and tokens.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverServiceConfiguration.ServiceName">
            <summary>
            The name of the service that this service configuration is for.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverServiceConfiguration.ServiceTenant">
            <summary>
            The tenant behind this running service
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverServiceConfiguration.GetConfigurationAsync">
            <summary>
            Gets the configuration for the current <see cref="P:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverServiceConfiguration.ServiceTenant"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Platform.Configurations.ILeverServiceConfiguration.GetConfigurationForAsync(Xlent.Lever.Libraries2.Core.MultiTenant.Model.ITenant)">
            <summary>
            Gets the configuration for another tenant.
            </summary>
            <param name="tenant"></param>
            <returns></returns>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1">
            <summary>
            General class for storing any <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/> in memory.
            </summary>
            <typeparam name="TStorableItem"></typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.CreateAsync(`0)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.CreateAsync(System.Guid,`0)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.ReadAsync(System.Guid)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.UpdateAsync(`0)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.DeleteAsync(System.Guid)">
            <inheritdoc />
            <remarks>
            Idempotent, i.e. will not throw an exception if the item does not exist.
            </remarks>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.ReadAllAsync(System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Logic.MemoryStorage`1.DeleteAllAsync">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.ICreate`2">
            <summary>
            Can create items of type <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TStorable">The type of objects to create in persistant storage.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.ICreate`2.CreateAsync(`0)">
            <summary>
            Creates a new item in storage and returns the final result.
            </summary>
            <param name="item">The item to store.</param>
            <returns>The new item as it was saved, including a optional updated <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag.ETag"/>.</returns>
            <remarks>
            The notes about <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag.ETag"/> are only valid if the <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/> type implements <seealso cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag"/>.
            </remarks>
            <seealso cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag"/>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.ICrud`2">
            <summary>
            Interface for CRUD operation on any class that implements <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TStorable">The typo of objects that should have CRUD operations.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.ICrudAll`2">
            <summary>
            Interface for CRUD operation on any class that implements <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TStorable">The typo of objects that should have CRUD operations.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IDelete`1">
            <summary>
            Delete an item of type <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.IDelete`1.DeleteAsync(`0)">
            <summary>
            Deletes the item uniquely identified by <paramref name="id"/> from storage.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IDeleteAll`1">
            <summary>
            Delete items of type <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.IDeleteAll`1.DeleteAllAsync">
            <summary>
            Delete all the items from storage.
            </summary>
            <remarks>
            The implementor of this method can decide that it is not a valid method to expose.
            In that case, the method should throw a <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException"/>.
            </remarks>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.INameProperty">
            <summary>
            A class that inherits this interface has a <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.INameProperty.Name"/> property that can be presented to the end user to represent an instance of the class.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.INameProperty.Name">
            <summary>
            A friendly name for the item, i.e. can be shown to the end user to represent the item.
            </summary>
            <remarks>
            Does not have to be unique among items.
            </remarks>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag">
            <summary>
            This interface means that you implement ETag to achieve optimistic concurrency control, https://en.wikipedia.org/wiki/Optimistic_concurrency_control
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag.ETag">
            <summary>
            ETag is a pattern to achieve optimistic concurrency control
            </summary>
            <remarks>See https://en.wikipedia.org/wiki/HTTP_ETag for how it is used in the HTTP protocol. It can also be used for storage.</remarks>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IPageEnvelope`2">
            <summary>

            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.IPageEnvelope`2.Data">
            <summary>
            The data in this segment, this "page"
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.IPageEnvelope`2.PageInfo">
            <summary>
            Information about this segment of the data
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IRead`2">
            <summary>
            Read an item of type <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TStorable">The type of objects to read from persistant storage.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.IRead`2.ReadAsync(`1)">
            <summary>
            Returns the item uniquely identified by <paramref name="id"/> from storage.
            </summary>
            <returns>The found item.</returns>
            <exception cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException">Thrown if the <paramref name="id"/> could not be found.</exception>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IReadAll`2">
            <summary>
            Read items of type <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TStorable">The type of objects to read from persistant storage.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.IReadAll`2.ReadAllAsync(System.Int32,System.Int32)">
            <summary>
            Reads all the items from storage.
            </summary>
            <returns>A list of the found objects. Can be empty, but never null.</returns>
            <remarks>
            The implementor of this method can decide that it is not a valid method to expose.
            In that case, the method should throw a <see cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotImplementedException"/>.
            </remarks>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IRecommendedStorableItem">
            <summary>
            The recommended interfaces for a storable item. Uses a <see cref="T:System.Guid"/> as the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IRecommendedStorableItem`1">
            <summary>
            The recommended interfaces for a storable item.
            </summary>
            <typeparam name="TId"></typeparam>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1">
            <summary>
            Properties required to be a storable class
            </summary>
            <typeparam name="TId">The type for the property <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/>.</typeparam>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id">
            <summary>
            A unique identifier for the item.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.ITimeStamped">
            <summary>
            Properties for a data "row" that has timestamps for creation and updates.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.ITimeStamped.CreatedAt">
            <summary>
            The time when a "row" was created.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.ITimeStamped.UpdatedAt">
            <summary>
            The time when a "row" was last updated.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.IUpdate`2">
            <summary>
            Update an item of type <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/>.
            </summary>
            <typeparam name="TStorable">The type of objects to update in persistant storage.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> property.</typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.IUpdate`2.UpdateAsync(`0)">
            <summary>
            Updated the item uniquely identified by <paramref name="item.Id.Id"/> in storage.
            </summary>
            <param name="item">The updated version of the item.</param>
            <returns>The updated item as it was saved, including an updated <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag.ETag"/></returns>
            <remarks>
            The notes about <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag.ETag"/> are only valid if the <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1"/> type implements <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag"/>.
            </remarks>
            <exception cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumNotFoundException">Thrown if the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/> for <paramref name="item"/> could not be found.</exception>
            <exception cref="T:Xlent.Lever.Libraries2.Core.Error.Logic.FulcrumConflictException">Thrown if the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IOptimisticConcurrencyControlByETag.ETag"/> for <paramref name="item"/> was outdated.</exception>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.PageEnvelope`2">
            <summary>
            A paging envelope for returning segments of data.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageEnvelope`2.PageInfo">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageEnvelope`2.Data">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo">
            <summary>
            A class for information around lists that needs to be "paged", i.e. divided into smaller parts.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.DefaultLimit">
            <summary>
             The default value for <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.Limit"/>.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.Offset">
            <summary>
            The offset that the paging starts at
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.Limit">
            <summary>
            The maximum number of items returned.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.Returned">
            <summary>
            The actual number of items returned.
            </summary>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.Total">
            <summary>
            The total number of items that can be returned.
            </summary>
            <remarks>
            This number is optional, so don't rely on it to always be set.
            The reason for allowing it to be optional is that it can be computational hard to calculate.
            </remarks>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.ToString">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.PageInfo.Validate(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.StorableItem">
            <summary>
            A convenience class that implements the recommended interfaces for a storable item, using a Guid as <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/>.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Model.StorableItem`1">
            <summary>
            A convenience class that implements the recommended interfaces for a storable item.
            </summary>
            <typeparam name="TId"></typeparam>
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.StorableItem`1.Id">
            <inheritdoc />
        </member>
        <member name="P:Xlent.Lever.Libraries2.Core.Storage.Model.StorableItem`1.ETag">
            <inheritdoc />
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Model.StorableItem`1.Validate(System.String,System.String)">
            <inheritdoc />
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Test.IStorableItemForTesting`2">
            <summary>
            Methods needed for automatic testing of persistant storage implementations.
            </summary>
            <seealso cref="T:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3"/>
            <typeparam name="TStorableItem">The type for the items that can be stored.</typeparam>
            <typeparam name="TId">The type for the <see cref="P:Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem`1.Id"/></typeparam>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.IStorableItemForTesting`2.InitializeWithDataForTesting(Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum)">
            <summary>
            Fills all mandatory fields  with valid data.
            </summary>
            <param name="typeOfTestData">Decides what kind of data to fill with, <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum"/>.</param>
            <returns>The item itself ("this").</returns>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.IStorableItemForTesting`2.ChangeDataToNotEqualForTesting">
            <summary>
            Changes the information in a way that would make the item not equal to the state before the changes.
            </summary>
            <returns>The item itself ("this").</returns>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3">
            <summary>
            Tests for testing any storage that implements <see cref="T:Xlent.Lever.Libraries2.Core.Storage.Model.ICrud`2"/>
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.Storage">
            <summary>
            The storage that should be tested
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.#ctor(`0)">
            <summary>
            Constructor
            </summary>
            <param name="storage">The storage that should be tested</param>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.RunAllTests">
            <summary>
            Run all available tests
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.RunAllSunshineTests">
            <summary>
            Run all the "sunshine" tests, i.e. tests for the normal behavior
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.Create">
            <summary>
            Create an item
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.Read">
            <summary>
            Read an item
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.Update">
            <summary>
            Update an item
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.UpdateRead">
            <summary>
            Update and then read an item
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.Delete">
            <summary>
            Delete an item
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.ValidateEtagChangeMakesItemsEqual(Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem{`2},Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem{`2},System.String)">
            <summary>
            Validate that the two items are not equal, set the ETag, verify that they are equal.
            </summary>
        </member>
        <member name="M:Xlent.Lever.Libraries2.Core.Storage.Test.StorageTestCrud`3.ValidateEtagChangeMakesNotItemsEqual(Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem{`2},Xlent.Lever.Libraries2.Core.Storage.Model.IStorableItem{`2},System.String)">
            <summary>
            Validate that the two items are not equal, set the ETag, verify that they are still not equal.
            </summary>
        </member>
        <member name="T:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum">
            <summary>
            Enumeration for the different kinds of data that we expect from a testable class.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum.Variant1">
            <summary>
             A fixed set of data, not the same data as <see cref="F:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum.Variant2"/>.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum.Variant2">
            <summary>
             A fixed set of data, not the same data as <see cref="F:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum.Variant1"/>.
            </summary>
        </member>
        <member name="F:Xlent.Lever.Libraries2.Core.Storage.Test.TypeOfTestDataEnum.Random">
            <summary>
            A random set of data, shouldn't be Equal to any other instance.
            </summary>
        </member>
    </members>
</doc>