initial vgquotes stuff

This commit is contained in:
tmont 2011-02-09 00:05:32 +00:00
parent f8257b67fc
commit df8bf1a62f
44 changed files with 82598 additions and 0 deletions

BIN
Lib/Iesi.Collections.dll Normal file

Binary file not shown.

1903
Lib/Iesi.Collections.xml Normal file

File diff suppressed because it is too large Load Diff

BIN
Lib/LinFu.DynamicProxy.dll Normal file

Binary file not shown.

BIN
Lib/MySql.Data.dll Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>NHibernate.ByteCode.LinFu</name>
</assembly>
<members>
</members>
</doc>

BIN
Lib/NHibernate.Linq.dll Normal file

Binary file not shown.

725
Lib/NHibernate.Linq.xml Normal file
View File

@ -0,0 +1,725 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>NHibernate.Linq</name>
</assembly>
<members>
<member name="T:NHibernate.Linq.Expressions.NHibernateExpressionType">
<summary>
Extended node types for custom expressions
</summary>
</member>
<member name="T:NHibernate.Linq.Expressions.SqlFunctionAttribute">
<summary>
Associates a method with a corresponding SQL function.
</summary>
</member>
<member name="M:NHibernate.Linq.Expressions.SqlFunctionAttribute.#ctor">
<summary>
Initializes a new instance of the <see cref="T:NHibernate.Linq.Expressions.SqlFunctionAttribute"/> class.
</summary>
</member>
<member name="M:NHibernate.Linq.Expressions.SqlFunctionAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:NHibernate.Linq.Expressions.SqlFunctionAttribute"/> class.
</summary>
<param name="owner">The name of the schema that owns the SQL function.</param>
</member>
<member name="P:NHibernate.Linq.Expressions.SqlFunctionAttribute.Owner">
<summary>
Gets or sets the name of the schema that owns the SQL function.
</summary>
</member>
<member name="P:NHibernate.Linq.Expressions.SqlFunctionAttribute.PropertyPosition">
<summary>
Gets or sets the position of the function parameter that accepts the property name.
</summary>
</member>
<member name="T:NHibernate.Linq.SqlClient.SqlClientExtensions">
<summary>
Provides static methods that represent functionality provided by MS SQL Server.
</summary>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Day(NHibernate.Linq.IDbMethods,System.DateTime)">
<summary>
Returns an integer representing the day datepart of the specified date.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Day(NHibernate.Linq.IDbMethods,System.Nullable{System.DateTime})">
<summary>
Returns an integer representing the day datepart of the specified date.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Month(NHibernate.Linq.IDbMethods,System.DateTime)">
<summary>
Returns an integer that represents the month part of a specified date.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Month(NHibernate.Linq.IDbMethods,System.Nullable{System.DateTime})">
<summary>
Returns an integer that represents the month part of a specified date.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Year(NHibernate.Linq.IDbMethods,System.DateTime)">
<summary>
Returns an integer that represents the year part of a specified date.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Year(NHibernate.Linq.IDbMethods,System.Nullable{System.DateTime})">
<summary>
Returns an integer that represents the year part of a specified date.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Ascii(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns the ASCII code value of the leftmost character of a character expression.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Ascii(NHibernate.Linq.IDbMethods,System.Char)">
<summary>
Returns the ASCII code value of the leftmost character of a character expression.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Ascii(NHibernate.Linq.IDbMethods,System.Nullable{System.Char})">
<summary>
Returns the ASCII code value of the leftmost character of a character expression.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Char(NHibernate.Linq.IDbMethods,System.Int32)">
<summary>
Converts an int ASCII code to a character.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Char(NHibernate.Linq.IDbMethods,System.Nullable{System.Int32})">
<summary>
Converts an int ASCII code to a character.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.CharIndex(NHibernate.Linq.IDbMethods,System.String,System.Char)">
<summary>
Returns the starting position of the specified expression in a character string.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="search"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.CharIndex(NHibernate.Linq.IDbMethods,System.String,System.Char,System.Int32)">
<summary>
Returns the starting position of the specified expression in a character string.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="search"></param>
<param name="start"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.CharIndex(NHibernate.Linq.IDbMethods,System.String,System.String)">
<summary>
Returns the starting position of the specified expression in a character string.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="search"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.CharIndex(NHibernate.Linq.IDbMethods,System.String,System.String,System.Int32)">
<summary>
Returns the starting position of the specified expression in a character string.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="search"></param>
<param name="start"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Left(NHibernate.Linq.IDbMethods,System.String,System.Int32)">
<summary>
Returns the left part of a character string with the specified number of characters.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Len(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns the number of characters of the specified string expression, excluding trailing blanks.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Lower(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns a character expression after converting uppercase character data to lowercase.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.LTrim(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns a character expression after it removes leading blanks.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Replace(NHibernate.Linq.IDbMethods,System.String,System.String,System.String)">
<summary>
Replaces all occurrences of a specified string value with another string value.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="search"></param>
<param name="replace"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Replicate(NHibernate.Linq.IDbMethods,System.String,System.Int32)">
<summary>
Repeats a string value a specified number of times.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="count"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Reverse(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns the reverse of a character expression.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Right(NHibernate.Linq.IDbMethods,System.String,System.Int32)">
<summary>
Returns the right part of a character string with the specified number of characters.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.RTrim(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns a character string after truncating all trailing blanks.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Substring(NHibernate.Linq.IDbMethods,System.String,System.Int32,System.Int32)">
<summary>
Returns part of a character, binary, text, or image expression.
</summary>
<param name="methods"></param>
<param name="value"></param>
<param name="start"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.SqlClient.SqlClientExtensions.Upper(NHibernate.Linq.IDbMethods,System.String)">
<summary>
Returns a character expression with lowercase character data converted to uppercase.
</summary>
<param name="methods"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="T:NHibernate.Linq.Transform.LinqGroupingResultTransformer">
<summary>
Transforms critieria query results into a collection of grouped objects.
</summary>
</member>
<member name="M:NHibernate.Linq.Transform.LinqGroupingResultTransformer.#ctor(System.Type,System.String)">
<summary>
Initializes a new instance of the <see cref="T:NHibernate.Linq.LinqGroupingResultTransformer"/> class.
</summary>
<param name="type">A <see cref="T:System.Type"/> representing the type of collection to transform.</param>
<param name="propertyName">The name of the property to be used as a key for the purpose of grouping.</param>
</member>
<member name="M:NHibernate.Linq.Transform.LinqGroupingResultTransformer.TransformList(System.Collections.IList)">
<summary>
Transforms the query result collection.
</summary>
<param name="collection">An <see cref="T:System.Collections.IList"/> of objects.</param>
<returns>A transformed <see cref="T:System.Collections.IList"/> object.</returns>
</member>
<member name="M:NHibernate.Linq.Transform.LinqGroupingResultTransformer.TransformTuple(System.Object[],System.String[])">
<summary>
Transforms each query result.
</summary>
<param name="tuple">An <see cref="T:System.Object"/> array of query result values.</param>
<param name="aliases">A <see cref="T:System.String"/> array of column aliases.</param>
<returns>An <see cref="T:System.Object"/> initialized with the values from the specified tuple.</returns>
</member>
<member name="T:NHibernate.Linq.Transform.IGrouping">
<summary>
Provides a method for adding individual objects to a collection of grouped objects.
</summary>
</member>
<member name="M:NHibernate.Linq.Transform.IGrouping.Add(System.Object)">
<summary>
Adds an object to the current group.
</summary>
<param name="item">The <see cref="T:System.Object"/> to add.</param>
</member>
<member name="T:NHibernate.Linq.Transform.Grouping`2">
<summary>
Represents a collection of objects that have a common key.
</summary>
<typeparam name="TKey"></typeparam>
<typeparam name="TElement"></typeparam>
</member>
<member name="M:NHibernate.Linq.Transform.Grouping`2.#ctor(`0)">
<summary>
Initializes a new instance of the <see cref="T:NHibernate.Linq.Grouping"/> class.
</summary>
<param name="key"></param>
</member>
<member name="M:NHibernate.Linq.Transform.Grouping`2.Add(System.Object)">
<summary>
Adds an object to the current group.
</summary>
<param name="item">The <see cref="T:System.Object"/> to add.</param>
</member>
<member name="M:NHibernate.Linq.Transform.Grouping`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>An <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.</returns>
</member>
<member name="M:NHibernate.Linq.Transform.Grouping`2.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>An <see cref="T:System.Collections.IEnumerator"/> that can be used to iterate through the collection.</returns>
</member>
<member name="M:NHibernate.Linq.Transform.Grouping`2.ToString">
<summary>
Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
</summary>
<returns>A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.</returns>
</member>
<member name="P:NHibernate.Linq.Transform.Grouping`2.Key">
<summary>
Gets the key of the <see cref="T:System.Linq.IGrouping`2"/>.
</summary>
</member>
<member name="M:NHibernate.Transform.TypeSafeConstructorMemberInitResultTransformer.SetValue(System.Reflection.MemberInfo,System.Object,System.Object)">
<summary>
Sets the value of the field or property represented by the specified
<see cref="T:System.Reflection.MemberInfo"/> for the supplied object instance.
</summary>
<param name="memberInfo">A <see cref="T:System.Reflection.MemberInfo"/> object.</param>
<param name="instance">An instance of an object.</param>
<param name="valueToSet">The value to set on the specified object.</param>
</member>
<member name="T:NHibernate.Linq.Util.LinqUtil">
<summary>
Provides static utility methods that aid in evaluating expression trees.
</summary>
</member>
<member name="M:NHibernate.Linq.Util.LinqUtil.Iterate``1(System.Func{``0,``0},``0)">
<summary>
Creates a collection of type T by invoking a delegate method during
enumeration that return each item, begining with an initialValue.
</summary>
<typeparam name="T">The type of collection being created.</typeparam>
<param name="func">A delegate method to invoke.</param>
<param name="initialValue">The first item in the collection.</param>
<returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> collection of type T.</returns>
</member>
<member name="M:NHibernate.Linq.Util.LinqUtil.ChangeType(System.Object,System.Type)">
<summary>
Returns an <see cref="T:System.Object"/> with the specified <see cref="T:System.Type"/>
and whose value is equivalent to the specified object.
</summary>
<param name="value">An <see cref="T:System.Object"/> that implements the <see cref="T:System.IConvertible"/> interface.</param>
<param name="conversionType">A <see cref="T:System.Type"/>.</param>
<returns>An object whose <see cref="T:System.Type"/> is conversionType and whose value is equivalent
to value, or null, if value is null and conversionType is not a value type.</returns>
</member>
<member name="M:NHibernate.Linq.Util.LinqUtil.IsNullableType(System.Type)">
<summary>
Determines if the specified type is a <see cref="T:System.Nullable`1"/> type.
</summary>
<param name="type">A <see cref="T:System.Type"/> to check.</param>
<returns>True if the type is a <see cref="T:System.Nullable`1"/> type, otherwise false.</returns>
</member>
<member name="M:NHibernate.Linq.Util.LinqUtil.IsAnonymousType(System.Type)">
<summary>
Determines if the specified type is an anonymous type.
</summary>
<param name="type">A <see cref="T:System.Type"/> to check.</param>
<returns>True if the type is an anonymous type, otherwise false.</returns>
</member>
<member name="M:NHibernate.Linq.Util.LinqUtil.SqlEncode(System.Object)">
<summary>
Encodes an <see cref="T:System.Object"/> for use in SQL statements.
</summary>
<param name="value">The value to encode.</param>
<returns>A SQL encoded value.</returns>
</member>
<member name="T:NHibernate.Linq.Util.TypeSystem">
<remarks>
http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx
</remarks>
</member>
<member name="T:NHibernate.Linq.Visitors.AssociationVisitor">
<summary>
Preprocesses an expression tree replacing MemberAccessExpressions and ParameterExpressions with
NHibernate-specific PropertyAccessExpressions and EntityExpressions respectively.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.ExpressionVisitor">
<summary>
Provides virtual methods that can be used by subclasses to parse an expression tree.
</summary>
<remarks>
This class actually already exists in the System.Core assembly...as an internal class.
I can only speculate as to why it is internal, but it is obviously much too dangerous
for anyone outside of Microsoft to be using...
</remarks>
</member>
<member name="T:NHibernate.Linq.Visitors.BinaryBooleanReducer">
<summary>
Preprocesses an expression tree replacing binary boolean expressions with unary expressions.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.ComparePropToProp">
<summary>
Represents a method that returns an <see cref="T:NHibernate.Criterion.ICriterion"/>
object that compares one property to another property using a binary expression.
</summary>
<param name="propertyName">The name of the property to compare on the left hand side of the expression.</param>
<param name="otherPropertyName">The name of the property to compare on the right hand side of the expression.</param>
<returns>An initialized <see cref="T:NHibernate.Criterion.ICriterion"/> object.</returns>
</member>
<member name="T:NHibernate.Linq.Visitors.ComparePropToValue">
<summary>
Represents a method that returns an <see cref="T:NHibernate.Criterion.ICriterion"/>
object that compares a property to a constant value using a binary expression.
</summary>
<param name="propertyName">The name of the property to compare on the left hand side of the expression.</param>
<param name="value">The constant value used for the right hand side of the expression.</param>
<returns>An initialized <see cref="T:NHibernate.Criterion.ICriterion"/> object.</returns>
</member>
<member name="T:NHibernate.Linq.Visitors.CompareValueToCriteria">
<summary>
Represents a method that returns an <see cref="T:NHibernate.Criterion.ICriterion"/>
object that compares a value to a criteria using a binary expression.
</summary>
<param name="value">The value on the left hand side of the expression.</param>
<param name="criteria">The <see cref="T:NHibernate.Criterion.DetachedCriteria"/> used for the right hand side of the expression.</param>
<returns>An initialized <see cref="T:NHibernate.Criterion.ICriterion"/> object.</returns>
</member>
<member name="T:NHibernate.Linq.Visitors.ComparePropToCriteria">
<summary>
Represents a method that returns an <see cref="T:NHibernate.Criterion.ICriterion"/>
object that compares a property to a criteria using a binary expression.
</summary>
<param name="propertyName">The name of the property to compare on the left hand side of the expression.</param>
<param name="criteria">The <see cref="T:NHibernate.Criterion.DetachedCriteria"/> used for the right hand side of the expression.</param>
<returns>An initialized <see cref="T:NHibernate.Criterion.ICriterion"/> object.</returns>
</member>
<member name="T:NHibernate.Linq.Visitors.BinaryCriterionVisitor">
<summary>
Visits a BinaryExpression providing the appropriate NHibernate ICriterion.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.NHibernateExpressionVisitor">
<summary>
NHibernate-specific base expression visitor.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.BinaryExpressionOrderer">
<summary>
Preprocesses an expression tree ordering binary expressions in accordance with the <see cref="T:NHibernate.Linq.Visitors.BinaryCriterionVisitor"/>.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.CollectionAliasVisitor">
<summary>
Assigns the appropriate aliases to a collection access.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.EntityExpressionVisitor">
<summary>
Retrieves the first (or root) instance of EntityExpression found in the given Expression.
</summary>
</member>
<!-- Badly formed XML comment ignored for member "M:NHibernate.Linq.Visitors.Evaluator.PartialEval(System.Linq.Expressions.Expression,System.Func{System.Linq.Expressions.Expression,System.Boolean})" -->
<!-- Badly formed XML comment ignored for member "M:NHibernate.Linq.Visitors.Evaluator.PartialEval(System.Linq.Expressions.Expression)" -->
<!-- Badly formed XML comment ignored for member "T:NHibernate.Linq.Visitors.Evaluator.SubtreeEvaluator" -->
<member name="T:NHibernate.Linq.Visitors.Evaluator.Nominator">
<summary>
Performs bottom-up analysis to determine which nodes can possibly
be part of an evaluated sub-tree.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.GroupingArgumentsVisitor">
<summary>
Visits an expression tree providing the appropriate projections for grouping arguments.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.ImmediateResultsVisitor`1">
<summary>
Visits any expression calls that require immediate results.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.MemberNameVisitor">
<summary>
Visits an expression providing the member name being accessed based on the EntityExpressions and
PropertyAccessExpressions in the expression tree. Any entity associations encountered are added
as subcriteria to the query.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.NHibernateQueryTranslator">
<summary>
Translates a Linq Expression into an NHibernate ICriteria object.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.PropertyToMethodVisitor">
<summary>
Converts calls to an IEnumerable.Count property to IEnumerable.Count() extension method.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.RootVisitor">
<summary>
Translates a Linq Expression into an NHibernate ICriteria object.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.SelectArgumentsVisitor">
<summary>
Provides the appropriate NHibernate selection projections and/or IResultTransformers
based on a given expression tree.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.SelectManyVisitor">
<summary>
Adds the appropriate subcriteria to the query based on a SelectMany expression tree.
</summary>
</member>
<member name="T:NHibernate.Linq.Visitors.WhereArgumentsVisitor">
<summary>
Provides ICriterion for a query given a Linq expression tree.
</summary>
</member>
<member name="P:NHibernate.Linq.Visitors.WhereArgumentsVisitor.CurrentCriterions">
<summary>
Gets the current collection of <see cref="T:NHibernate.Criterion.ICriterion"/> objects.
</summary>
</member>
<member name="T:NHibernate.Linq.CriteriaResultReader`1">
<summary>
Wraps an ICriteria object providing results when necessary.
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="T:NHibernate.Linq.IDbMethods">
<summary>
Marker interface used to conditionally include database provider specific methods.
</summary>
</member>
<member name="T:NHibernate.Linq.NHibernateContext">
<summary>
Wraps an <see cref="T:NHibernate.ISession"/> object to provide base functionality
for custom, database-specific context classes.
</summary>
</member>
<member name="F:NHibernate.Linq.NHibernateContext.Methods">
<summary>
Provides access to database provider specific methods.
</summary>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.#ctor">
<summary>
Initializes a new instance of the <see cref="T:NHibernate.Linq.NHibernateContext"/> class.
</summary>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.#ctor(NHibernate.ISession)">
<summary>
Initializes a new instance of the <see cref="T:NHibernate.Linq.NHibernateContext"/> class.
</summary>
<param name="session">An initialized <see cref="T:NHibernate.ISession"/> object.</param>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.ProvideSession">
<summary>
Allows for empty construction but provides an interface for an interface to have the derived
classes provide a session object late in the cycle.
</summary>
<returns>The Required <see cref="T:NHibernate.ISession"/> object.</returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.Clone">
<summary>
Creates a new object that is a copy of the current instance.
</summary>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.Dispose">
<summary>
Disposes the wrapped <see cref="T:NHibernate.ISession"/> object.
</summary>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#AddReferenceToCollection(System.Object,System.String,System.Object)">
<summary>
Adds the reference to collection.
</summary>
<param name="targetResource">The target resource.</param>
<param name="propertyName">Name of the property.</param>
<param name="resourceToBeAdded">The resource to be added.</param>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#ClearChanges">
<summary>
Clears the changes.
</summary>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#CreateResource(System.String,System.String)">
<summary>
Creates the resource.
</summary>
<param name="containerName">Name of the container.</param>
<param name="fullTypeName">Full name of the type.</param>
<returns>Newly created Resource</returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#DeleteResource(System.Object)">
<summary>
Deletes the resource.
</summary>
<param name="targetResource">The target resource.</param>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#GetResource(System.Linq.IQueryable,System.String)">
<summary>
Gets the resource.
</summary>
<param name="query">The query.</param>
<param name="fullTypeName">Full name of the type.</param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#GetValue(System.Object,System.String)">
<summary>
Gets the value.
</summary>
<param name="targetResource">The target resource.</param>
<param name="propertyName">Name of the property.</param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#RemoveReferenceFromCollection(System.Object,System.String,System.Object)">
<summary>
Removes the reference from collection.
</summary>
<param name="targetResource">The target resource.</param>
<param name="propertyName">Name of the property.</param>
<param name="resourceToBeRemoved">The resource to be removed.</param>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#ResetResource(System.Object)">
<summary>
Replaces the resource.
</summary>
<param name="resource">The resource to reset.</param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#ResolveResource(System.Object)">
<summary>
Resolves the resource.
</summary>
<param name="resource">The resource.</param>
<returns></returns>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#SaveChanges">
<summary>
Saves the changes.
</summary>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#SetReference(System.Object,System.String,System.Object)">
<summary>
Sets the reference.
</summary>
<param name="targetResource">The target resource.</param>
<param name="propertyName">Name of the property.</param>
<param name="propertyValue">The property value.</param>
</member>
<member name="M:NHibernate.Linq.NHibernateContext.System#Data#Services#IUpdatable#SetValue(System.Object,System.String,System.Object)">
<summary>
Sets the value.
</summary>
<param name="targetResource">The target resource.</param>
<param name="propertyName">Name of the property.</param>
<param name="propertyValue">The property value.</param>
</member>
<member name="P:NHibernate.Linq.NHibernateContext.Session">
<summary>
Gets a reference to the <see cref="T:NHibernate.ISession"/> associated with this object.
</summary>
</member>
<member name="P:NHibernate.Linq.NHibernateContext.UpdateCache">
<summary>
Gets the update cache.
</summary>
<value>The update cache.</value>
</member>
<member name="T:NHibernate.Linq.NHibernateExtensions">
<summary>
Provides a static method that enables LINQ syntax for NHibernate Criteria Queries.
</summary>
</member>
<member name="M:NHibernate.Linq.NHibernateExtensions.Linq``1(NHibernate.ISession)">
<summary>
Creates a new <see cref="T:NHibernate.Linq.NHibernateQueryProvider"/> object used to evaluate an expression tree.
</summary>
<typeparam name="T">An NHibernate entity type.</typeparam>
<param name="session">An initialized <see cref="T:NHibernate.ISession"/> object.</param>
<returns>An <see cref="T:NHibernate.Linq.NHibernateQueryProvider"/> used to evaluate an expression tree.</returns>
</member>
<member name="T:NHibernate.Linq.QueryProvider">
<summary>
Generic IQueryProvider base class. See http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx
</summary>
</member>
<member name="T:NHibernate.Linq.Query`1">
<summary>
Generic IQueryable base class. See http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx
</summary>
</member>
<member name="T:NHibernate.Linq.QueryOptions">
<summary>
It provides methods for caching the results, and some extension methods for them.
</summary>
</member>
</members>
</doc>

BIN
Lib/NHibernate.dll Normal file

Binary file not shown.

40555
Lib/NHibernate.xml Normal file

File diff suppressed because it is too large Load Diff

BIN
Lib/Portoa.Log4Net.dll Normal file

Binary file not shown.

BIN
Lib/Portoa.NHibernate.dll Normal file

Binary file not shown.

BIN
Lib/Portoa.Web.dll Normal file

Binary file not shown.

BIN
Lib/Portoa.dll Normal file

Binary file not shown.

BIN
Lib/log4net.dll Normal file

Binary file not shown.

28655
Lib/log4net.xml Normal file

File diff suppressed because it is too large Load Diff

BIN
Lib/nunit.framework.dll Normal file

Binary file not shown.

10113
Lib/nunit.framework.xml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
using System;
namespace VideoGameQuotes.Api {
public class CannotVoteTwiceException : Exception {
public CannotVoteTwiceException(string message = null, Exception innerException = null) : base(message, innerException) { }
}
}

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using Iesi.Collections.Generic;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class Game : Entity<Game, int> {
private readonly Iesi.Collections.Generic.ISet<System> systems = new HashedSet<System>();
public virtual User Creator { get; set; }
public virtual DateTime Created { get; set; }
public virtual IEnumerable<System> Systems { get { return systems; } }
public virtual string Name { get; set; }
public virtual Publisher Publisher { get; set; }
public virtual byte[] Screenshot { get; set; }
public virtual Region Region { get; set; }
public virtual void AddSystem(System system) {
systems.Add(system);
}
public virtual void RemoveSystem(System system) {
systems.Remove(system);
}
}
}

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="Game" table="game">
<id column="game_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Name" column="game_name" not-null="true" length="256"/>
<property name="Created" column="created" not-null="true" />
<property name="Screenshot" column="screenshot" not-null="false" length="10240" />
<property name="Region" column="game_region" not-null="true" />
<many-to-one name="Creator" column="creator" not-null="true" foreign-key="fk_game_user"/>
<many-to-one name="Publisher" column="publisher_id" not-null="false" foreign-key="fk_game_publisher" />
<set access="field" name="systems" table="game_system_map" cascade="all-delete-orphan">
<key column="game_id" />
<many-to-many class="System" column="system_id" />
</set>
</class>
</hibernate-mapping>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="Publisher" table="publisher">
<id column="publisher_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Name" column="publisher_name" not-null="true" length="512"/>
<property name="Website" column="website" not-null="false" length="512"/>
<property name="Created" column="created" not-null="true" />
</class>
</hibernate-mapping>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="Quote" table="quote">
<id column="quote_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Text" column="quote_text" not-null="true" type="string" length="1024"/>
<property name="Created" column="created" not-null="true" type="DateTime" />
<property name="Modified" column="modified" not-null="false" type="DateTime" />
<many-to-one name="Creator" column="creator" not-null="true" foreign-key="fk_quote_user"/>
<many-to-one name="Game" column="game_id" not-null="true" foreign-key="fk_quote_game" />
<set access="field" name="votes" table="vote" cascade="all-delete-orphan">
<key column="quote_id" />
<one-to-many class="Vote" />
</set>
<set access="field" name="flags" table="quote_flag" cascade="all-delete-orphan">
<key column="quote_id" />
<one-to-many class="QuoteFlag" />
</set>
</class>
</hibernate-mapping>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="QuoteFlag" table="quote_flag">
<id column="quote_flag_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Comment" column="flag_comment" not-null="false" length="1024" />
<property name="Created" column="created" not-null="true" />
<many-to-one name="User" column="user_id" not-null="true" foreign-key="fk_flag_user"/>
<many-to-one name="Quote" column="quote_id" not-null="true" foreign-key="fk_flag_quote" />
</class>
</hibernate-mapping>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="System" table="system">
<id column="system_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Name" column="system_name" not-null="true" length="256"/>
<property name="Abbreviation" column="system_abbreviation" not-null="false" length="12"/>
<property name="Created" column="created" not-null="true" />
<property name="ReleaseDate" column="release_date" not-null="false" />
</class>
</hibernate-mapping>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="User" table="user">
<id column="user_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Username" column="username" not-null="true" type="string" length="50"/>
<property name="Created" column="created" not-null="true" type="DateTime" />
<property name="Group" column="user_group" not-null="true" />
<component name="passwordProtector" access="field" class="Portoa.Security.NullAllowingPasswordProtector, Portoa">
<property name="Password" column="password" not-null="false" length="100" />
<property name="Salt" column="salt" not-null="false" length="100" />
</component>
</class>
</hibernate-mapping>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="VideoGameQuotes.Api" namespace="VideoGameQuotes.Api">
<class name="Vote" table="vote">
<id column="vote_id" name="Id" type="int">
<generator class="identity" />
</id>
<property name="Created" column="created" not-null="true" />
<property name="Direction" column="direction" not-null="true" type="int" length="1" />
<many-to-one name="Voter" column="voter_id" not-null="true" foreign-key="fk_vote_user"/>
<many-to-one name="Quote" column="quote_id" not-null="true" foreign-key="fk_vote_quote" />
</class>
</hibernate-mapping>

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("VideoGameQuotes")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("VideoGameQuotes")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("c0f46062-9f59-4af3-a01a-ac8b22234031")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,10 @@
using System;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class Publisher : Entity<Publisher, int> {
public virtual string Name { get; set; }
public virtual string Website { get; set; }
public virtual DateTime Created { get; set; }
}
}

View File

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Iesi.Collections.Generic;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class Quote : Entity<Quote, int> {
private readonly Iesi.Collections.Generic.ISet<Vote> votes = new HashedSet<Vote>();
private readonly Iesi.Collections.Generic.ISet<QuoteFlag> flags = new HashedSet<QuoteFlag>();
public virtual User Creator { get; set; }
public virtual DateTime Created { get; set; }
public virtual DateTime? Modified { get; set; }
public virtual string Text { get; set; }
public virtual Game Game { get; set; }
public virtual IEnumerable<Vote> Votes { get { return votes; } }
public virtual IEnumerable<QuoteFlag> Flags { get { return flags; } }
public virtual void VoteFor(User user, VoteDirection direction) {
var currentVote = votes.SingleOrDefault(vote => vote.Voter == user);
if (currentVote != null) {
if (currentVote.Direction == direction) {
throw new CannotVoteTwiceException();
}
votes.Remove(currentVote);
currentVote.Direction = direction;
votes.Add(currentVote);
} else {
votes.Add(new Vote { Direction = direction, Quote = this, Voter = user });
}
}
public virtual int UpVotes { get { return Votes.Count(vote => vote.Direction == VoteDirection.Up); } }
public virtual int DownVotes { get { return Votes.Count(vote => vote.Direction == VoteDirection.Down); } }
public virtual int NetVotes { get { return Votes.Sum(vote => (int)vote); } }
}
}

View File

@ -0,0 +1,11 @@
using System;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class QuoteFlag : Entity<QuoteFlag, int> {
public virtual User User { get; set; }
public virtual Quote Quote { get; set; }
public virtual DateTime Created { get; set; }
public virtual string Comment { get; set; }
}
}

View File

@ -0,0 +1,12 @@
namespace VideoGameQuotes.Api {
/// <summary>
/// The region for which a game is associated
/// </summary>
public enum Region {
Unknown = 0,
UnitedStates = 1,
Japan = 2,
Europe = 3,
Other = 4
}
}

View File

@ -0,0 +1,11 @@
using System;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class System : Entity<System, int> {
public virtual DateTime Created { get; set; }
public virtual DateTime ReleaseDate { get; set; }
public virtual string Name { get; set; }
public virtual string Abbreviation { get; set; }
}
}

View File

@ -0,0 +1,22 @@
using System;
using Portoa.Logging;
using Portoa.Persistence;
using Portoa.Security;
namespace VideoGameQuotes.Api {
public class User : Entity<User, int>, IPasswordProtected {
private readonly IPasswordProtected passwordProtector = new NullAllowingPasswordProtector();
public virtual DateTime Created { get; set; }
public virtual string Username { get; set; }
public virtual UserGroup Group { get; set; }
public virtual void ChangePassword([DoNotLog]string newPassword) {
passwordProtector.ChangePassword(newPassword);
}
public virtual bool VerifyPassword([DoNotLog]string potentialPassword) {
return passwordProtector.VerifyPassword(potentialPassword);
}
}
}

View File

@ -0,0 +1,7 @@
namespace VideoGameQuotes.Api {
public enum UserGroup {
User = 1,
Moderator = 2,
Admin = 3
}
}

View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VideoGameQuotes.Api</RootNamespace>
<AssemblyName>VideoGameQuotes.Api</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Iesi.Collections">
<HintPath>..\..\Lib\Iesi.Collections.dll</HintPath>
</Reference>
<Reference Include="log4net">
<HintPath>..\..\Lib\log4net.dll</HintPath>
</Reference>
<Reference Include="MySql.Data">
<HintPath>..\..\Lib\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="NHibernate">
<HintPath>..\..\Lib\NHibernate.dll</HintPath>
</Reference>
<Reference Include="NHibernate.Linq">
<HintPath>..\..\Lib\NHibernate.Linq.dll</HintPath>
</Reference>
<Reference Include="Portoa">
<HintPath>..\..\Lib\Portoa.dll</HintPath>
</Reference>
<Reference Include="Portoa.NHibernate">
<HintPath>..\..\Lib\Portoa.NHibernate.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CannotVoteTwiceException.cs" />
<Compile Include="Game.cs" />
<Compile Include="QuoteFlag.cs" />
<Compile Include="Publisher.cs" />
<Compile Include="Quote.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Region.cs" />
<Compile Include="System.cs" />
<Compile Include="User.cs" />
<Compile Include="UserGroup.cs" />
<Compile Include="Vote.cs" />
<Compile Include="VoteDirection.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Mappings\User.hbm.xml" />
<EmbeddedResource Include="Mappings\Publisher.hbm.xml" />
<EmbeddedResource Include="Mappings\System.hbm.xml" />
<EmbeddedResource Include="Mappings\Game.hbm.xml" />
<EmbeddedResource Include="Mappings\Quote.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Mappings\Vote.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Mappings\QuoteFlag.hbm.xml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,15 @@
using System;
using Portoa.Persistence;
namespace VideoGameQuotes.Api {
public class Vote : Entity<Vote, int> {
public virtual User Voter { get; set; }
public virtual Quote Quote { get; set; }
public virtual DateTime Created { get; set; }
public virtual VoteDirection Direction { get; set; }
public static explicit operator int(Vote vote) {
return vote.Direction == VoteDirection.Up ? 1 : -1;
}
}
}

View File

@ -0,0 +1,6 @@
namespace VideoGameQuotes.Api {
public enum VoteDirection {
Up = 1,
Down = 0
}
}

View File

@ -0,0 +1,19 @@
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;
using NUnit.Framework;
namespace VideoGameQuotes.Api.Tests.NHibernate {
[TestFixture]
public class SchemaExporter {
[Test]
public void Export_schema() {
var config = new Configuration();
config.Configure(GetType().Assembly, GetType().Namespace + ".hibernate.cfg.xml");
new SchemaExport(config)
//.SetOutputFile(@"c:\users\tmont\code\VideoGameQuotes\schema.sql")
.Execute(true, true, false);
}
}
}

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
<property name="connection.connection_string">Database=vgquotes;Data Source=localhost;User Id=vgquotes;Password=vgquotes</property>
<property name="dialect">NHibernate.Dialect.MySQLDialect</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<property name="show_sql">true</property>
<mapping assembly="VideoGameQuotes.Api"/>
</session-factory>
</hibernate-configuration>

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("VideoGameQuotes.Api.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("VideoGameQuotes.Api.Tests")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2442e9c9-ae50-441f-8f91-ebef6e3731d0")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,36 @@
using NUnit.Framework;
namespace VideoGameQuotes.Api.Tests {
[TestFixture]
public class QuoteTests {
[Test]
[ExpectedException(typeof(CannotVoteTwiceException))]
public void Should_not_allow_voting_in_the_same_direction_twice() {
var quote = new Quote();
var user = new User();
quote.VoteFor(user, VoteDirection.Up);
quote.VoteFor(user, VoteDirection.Up);
}
[Test]
public void Should_remove_old_vote_if_voting_in_opposite_direction() {
var quote = new Quote();
var user = new User();
quote.VoteFor(user, VoteDirection.Up);
Assert.That(quote.UpVotes, Is.EqualTo(1));
Assert.That(quote.DownVotes, Is.EqualTo(0));
Assert.That(quote.NetVotes, Is.EqualTo(1));
quote.VoteFor(user, VoteDirection.Down);
Assert.That(quote.UpVotes, Is.EqualTo(0));
Assert.That(quote.DownVotes, Is.EqualTo(1));
Assert.That(quote.NetVotes, Is.EqualTo(-1));
}
}
}

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{90FEE5DE-9A30-4A23-9A1E-14DABA0CF472}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VideoGameQuotes.Api.Tests</RootNamespace>
<AssemblyName>VideoGameQuotes.Api.Tests</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net">
<HintPath>..\..\Lib\log4net.dll</HintPath>
</Reference>
<Reference Include="MySql.Data">
<HintPath>..\..\Lib\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="NHibernate, Version=2.1.2.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL" />
<Reference Include="nunit.framework">
<HintPath>..\..\Lib\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="Portoa">
<HintPath>..\..\Lib\Portoa.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="QuoteTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="NHibernate\SchemaExporter.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Src\VideoGameQuotes.Api\VideoGameQuotes.Api.csproj">
<Project>{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}</Project>
<Name>VideoGameQuotes.Api</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="NHibernate\hibernate.cfg.xml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

26
VideoGameQuotes.sln Normal file
View File

@ -0,0 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoGameQuotes.Api", "Src\VideoGameQuotes.Api\VideoGameQuotes.Api.csproj", "{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VideoGameQuotes.Api.Tests", "Tests\VideoGameQuotes.Api.Tests\VideoGameQuotes.Api.Tests.csproj", "{90FEE5DE-9A30-4A23-9A1E-14DABA0CF472}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}.Debug|Any CPU.Build.0 = Debug|Any CPU
{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}.Release|Any CPU.ActiveCfg = Release|Any CPU
{329FAB1F-A18D-4B7B-9E3C-A0C157E55503}.Release|Any CPU.Build.0 = Release|Any CPU
{90FEE5DE-9A30-4A23-9A1E-14DABA0CF472}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90FEE5DE-9A30-4A23-9A1E-14DABA0CF472}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90FEE5DE-9A30-4A23-9A1E-14DABA0CF472}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90FEE5DE-9A30-4A23-9A1E-14DABA0CF472}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal