diff --git a/Include/Ninject/Ninject.dll b/Include/Ninject/Ninject.dll
new file mode 100644
index 0000000..35fdfc4
Binary files /dev/null and b/Include/Ninject/Ninject.dll differ
diff --git a/Include/Ninject/Ninject.xml b/Include/Ninject/Ninject.xml
new file mode 100644
index 0000000..d9cf2f2
--- /dev/null
+++ b/Include/Ninject/Ninject.xml
@@ -0,0 +1,4026 @@
+
+
+
+ Ninject
+
+
+
+
+ A block used for deterministic disposal of activated instances. When the block is
+ disposed, all instances activated via it will be deactivated.
+
+
+
+
+ An object that notifies when it is disposed.
+
+
+
+
+ An object that can report whether or not it is disposed.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Releases resources held by the object.
+
+
+
+
+ Releases resources before the object is reclaimed by garbage collection.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+
+
+ A block used for deterministic disposal of activated instances. When the block is
+ disposed, all instances activated via it will be deactivated.
+
+
+
+
+ Provides a path to resolve instances.
+
+
+
+
+ Determines whether the specified request can be resolved.
+
+ The request.
+ True if the request can be resolved; otherwise, false.
+
+
+
+ Resolves instances for the specified request. The instances are not actually resolved
+ until a consumer iterates over the enumerator.
+
+ The request to resolve.
+ An enumerator of instances that match the request.
+
+
+
+ Creates a request for the specified service.
+
+ The service that is being requested.
+ The constraint to apply to the bindings to determine if they match the request.
+ The parameters to pass to the resolution.
+ True if the request is optional; otherwise, false.
+ True if the request should return a unique result; otherwise, false.
+ The created request.
+
+
+
+ An object that fires an event when it is disposed.
+
+
+
+
+ Occurs when the object is disposed.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The parent resolution root.
+
+
+
+ Releases resources held by the object.
+
+
+
+
+ Determines whether the specified request can be resolved.
+
+ The request.
+ True if the request can be resolved; otherwise, false.
+
+
+
+ Resolves instances for the specified request. The instances are not actually resolved
+ until a consumer iterates over the enumerator.
+
+ The request to resolve.
+ An enumerator of instances that match the request.
+
+
+
+ Creates a request for the specified service.
+
+ The service that is being requested.
+ The constraint to apply to the bindings to determine if they match the request.
+ The parameters to pass to the resolution.
+ True if the request is optional; otherwise, false.
+ True if the request should return a unique result; otherwise, false.
+ The created request.
+
+
+
+ Gets or sets the parent resolution root (usually the kernel).
+
+
+
+
+ Occurs when the object is disposed.
+
+
+
+
+ Tracks instances for re-use in certain scopes.
+
+
+
+
+ A component that contributes to the internals of Ninject.
+
+
+
+
+ A component that contributes to the internals of Ninject.
+
+
+
+
+ Gets or sets the settings.
+
+
+
+
+ Gets or sets the settings.
+
+
+
+
+ Tracks instances for re-use in certain scopes.
+
+
+
+
+ Stores the specified instance in the cache.
+
+ The context to store.
+ The instance reference.
+
+
+
+ Tries to retrieve an instance to re-use in the specified context.
+
+ The context that is being activated.
+ The instance for re-use, or if none has been stored.
+
+
+
+ Deactivates and releases the specified instance from the cache.
+
+ The instance to release.
+ if the instance was found and released; otherwise .
+
+
+
+ Removes instances from the cache which should no longer be re-used.
+
+
+
+
+ Immediately deactivates and removes all instances in the cache that are owned by
+ the specified scope.
+
+ The scope whose instances should be deactivated.
+
+
+
+ Immediately deactivates and removes all instances in the cache, regardless of scope.
+
+
+
+
+ Gets the number of entries currently stored in the cache.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The pipeline component.
+ The cache pruner component.
+
+
+
+ Releases resources held by the object.
+
+
+
+
+ Stores the specified context in the cache.
+
+ The context to store.
+ The instance reference.
+
+
+
+ Tries to retrieve an instance to re-use in the specified context.
+
+ The context that is being activated.
+ The instance for re-use, or if none has been stored.
+
+
+
+ Deactivates and releases the specified instance from the cache.
+
+ The instance to release.
+ if the instance was found and released; otherwise .
+
+
+
+ Removes instances from the cache which should no longer be re-used.
+
+
+
+
+ Immediately deactivates and removes all instances in the cache that are owned by
+ the specified scope.
+
+ The scope whose instances should be deactivated.
+
+
+
+ Immediately deactivates and removes all instances in the cache, regardless of scope.
+
+
+
+
+ Gets or sets the pipeline component.
+
+
+
+
+ Gets the number of entries currently stored in the cache.
+
+
+
+
+ Uses a and some magic to poll
+ the garbage collector to see if it has run.
+
+
+
+
+ Prunes instances from an based on environmental information.
+
+
+
+
+ Starts pruning the specified cache based on the rules of the pruner.
+
+ The cache that will be pruned.
+
+
+
+ Stops pruning.
+
+
+
+
+ Releases resources held by the object.
+
+
+
+
+ Starts pruning the specified cache based on the rules of the pruner.
+
+ The cache that will be pruned.
+
+
+
+ Stops pruning.
+
+
+
+
+ Gets the cache that is being pruned.
+
+
+
+
+ A provider that delegates to a callback method to create instances.
+
+ The type of instances the provider creates.
+
+
+
+ A simple abstract provider for instances of a specific type.
+
+ The type of instances the provider creates.
+
+
+
+ Creates instances of services.
+
+
+
+
+ Creates an instance within the specified context.
+
+ The context.
+ The created instance.
+
+
+
+ Gets the type (or prototype) of instances the provider creates.
+
+
+
+
+ Creates an instance within the specified context.
+
+ The context.
+ The created instance.
+
+
+
+ Creates an instance within the specified context.
+
+ The context.
+ The created instance.
+
+
+
+ Gets the type (or prototype) of instances the provider creates.
+
+
+
+
+ Initializes a new instance of the CallbackProvider<T> class.
+
+ The callback method that will be called to create instances.
+
+
+
+ Invokes the callback method to create an instance.
+
+ The context.
+ The created instance.
+
+
+
+ Gets the callback method used by the provider.
+
+
+
+
+ A provider that always returns the same constant value.
+
+ The type of value that is returned.
+
+
+
+ Initializes a new instance of the ConstantProvider<T> class.
+
+ The value that the provider should return.
+
+
+
+ Creates an instance within the specified context.
+
+ The context.
+ The constant value this provider returns.
+
+
+
+ Gets the value that the provider will return.
+
+
+
+
+ The standard provider for types, which activates instances via a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type (or prototype) of instances the provider creates.
+ The planner component.
+ The selector component.
+
+
+
+ Creates an instance within the specified context.
+
+ The context.
+ The created instance.
+
+
+
+ Gets the value to inject into the specified target.
+
+ The context.
+ The target.
+ The value to inject into the specified target.
+
+
+
+ Gets the implementation type that the provider will activate an instance of
+ for the specified service.
+
+ The service in question.
+ The implementation type that will be activated.
+
+
+
+ Gets a callback that creates an instance of the
+ for the specified type.
+
+ The prototype the provider instance will create.
+ The created callback.
+
+
+
+ Gets the type (or prototype) of instances the provider creates.
+
+
+
+
+ Gets or sets the planner component.
+
+
+
+
+ Gets or sets the selector component.
+
+
+
+
+ Contributes to a , and is called during the activation
+ and deactivation of an instance.
+
+
+
+
+ Contributes to a , and is called during the activation
+ and deactivation of an instance.
+
+
+
+
+ Contributes to the activation of the instance in the specified context.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Contributes to the deactivation of the instance in the specified context.
+
+ The context.
+ A reference to the instance being deactivated.
+
+
+
+ Contributes to the activation of the instance in the specified context.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Contributes to the deactivation of the instance in the specified context.
+
+ The context.
+ A reference to the instance being deactivated.
+
+
+
+ Executes actions defined on the binding during activation and deactivation.
+
+
+
+
+ Calls the activation actions defined on the binding.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Calls the deactivation actions defined on the binding.
+
+ The context.
+ A reference to the instance being deactivated.
+
+
+
+ During deactivation, disposes instances that implement .
+
+
+
+
+ Disposes the specified instance.
+
+ The context.
+ A reference to the instance being deactivated.
+
+
+
+ During activation, initializes instances that implement .
+
+
+
+
+ Initializes the specified instance.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Injects methods on an instance during activation.
+
+
+
+
+ Injects values into the properties as described by s
+ contained in the plan.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Injects properties on an instance during activation.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The injector factory component.
+
+
+
+ Injects values into the properties as described by s
+ contained in the plan.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Applies user supplied override values to instance properties.
+
+ The context.
+ A reference to the instance being activated.
+ The parameter ovverride value accessors.
+
+
+
+ Gets the value to inject into the specified target.
+
+ The context.
+ The target.
+ The value to inject into the specified target.
+
+
+
+ Gets the injector factory component.
+
+
+
+
+ Starts instances that implement during activation,
+ and stops them during deactivation.
+
+
+
+
+ Starts the specified instance.
+
+ The context.
+ A reference to the instance being activated.
+
+
+
+ Stops the specified instance.
+
+ The context.
+ A reference to the instance being deactivated.
+
+
+
+ Contains information about the activation of a single instance.
+
+
+
+
+ Contains information about the activation of a single instance.
+
+
+
+
+ Gets the provider that should be used to create the instance for this context.
+
+ The provider that should be used.
+
+
+
+ Gets the scope for the context that "owns" the instance activated therein.
+
+ The object that acts as the scope.
+
+
+
+ Resolves this instance for this context.
+
+ The resolved instance.
+
+
+
+ Gets the kernel that is driving the activation.
+
+
+
+
+ Gets the request.
+
+
+
+
+ Gets the binding.
+
+
+
+
+ Gets or sets the activation plan.
+
+
+
+
+ Gets the parameters that were passed to manipulate the activation process.
+
+
+
+
+ Gets the generic arguments for the request, if any.
+
+
+
+
+ Gets a value indicating whether the request involves inferred generic arguments.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The kernel managing the resolution.
+ The context's request.
+ The context's binding.
+ The cache component.
+ The planner component.
+ The pipeline component.
+
+
+
+ Gets the scope for the context that "owns" the instance activated therein.
+
+ The object that acts as the scope.
+
+
+
+ Gets the provider that should be used to create the instance for this context.
+
+ The provider that should be used.
+
+
+
+ Resolves the instance associated with this hook.
+
+ The resolved instance.
+
+
+
+ Gets the kernel that is driving the activation.
+
+
+
+
+ Gets the request.
+
+
+
+
+ Gets the binding.
+
+
+
+
+ Gets or sets the activation plan.
+
+
+
+
+ Gets the parameters that were passed to manipulate the activation process.
+
+
+
+
+ Gets the generic arguments for the request, if any.
+
+
+
+
+ Gets a value indicating whether the request involves inferred generic arguments.
+
+
+
+
+ Gets or sets the cache component.
+
+
+
+
+ Gets or sets the planner component.
+
+
+
+
+ Gets or sets the pipeline component.
+
+
+
+
+ Holds an instance during activation or after it has been cached.
+
+
+
+
+ Returns a value indicating whether the instance is of the specified type.
+
+ The type in question.
+ if the instance is of the specified type, otherwise .
+
+
+
+ Returns the instance as the specified type.
+
+ The requested type.
+ The instance.
+
+
+
+ Executes the specified action if the instance if of the specified type.
+
+ The type in question.
+ The action to execute.
+
+
+
+ Gets or sets the instance.
+
+
+
+
+ Drives the activation (injection, etc.) of an instance.
+
+
+
+
+ Activates the instance in the specified context.
+
+ The context.
+ The instance reference.
+
+
+
+ Deactivates the instance in the specified context.
+
+ The context.
+ The instance reference.
+
+
+
+ Gets the strategies that contribute to the activation and deactivation processes.
+
+
+
+
+ Describes the request for a service resolution.
+
+
+
+
+ Determines whether the specified binding satisfies the constraint defined on this request.
+
+ The binding.
+ True if the binding satisfies the constraint; otherwise false.
+
+
+
+ Gets the scope if one was specified in the request.
+
+ The object that acts as the scope.
+
+
+
+ Creates a child request.
+
+ The service that is being requested.
+ The context in which the request was made.
+ The target that will receive the injection.
+ The child request.
+
+
+
+ Gets the service that was requested.
+
+
+
+
+ Gets the parent request.
+
+
+
+
+ Gets the parent context.
+
+
+
+
+ Gets the target that will receive the injection, if any.
+
+
+
+
+ Gets the constraint that will be applied to filter the bindings used for the request.
+
+
+
+
+ Gets the parameters that affect the resolution.
+
+
+
+
+ Gets the stack of bindings which have been activated by either this request or its ancestors.
+
+
+
+
+ Gets the recursive depth at which this request occurs.
+
+
+
+
+ Gets or sets value indicating whether the request is optional.
+
+
+
+
+ Gets or sets value indicating whether the request should return a unique result.
+
+
+
+
+ Drives the activation (injection, etc.) of an instance.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The strategies to execute during activation and deactivation.
+
+
+
+ Activates the instance in the specified context.
+
+ The context.
+ The instance reference.
+
+
+
+ Deactivates the instance in the specified context.
+
+ The context.
+ The instance reference.
+
+
+
+ Gets the strategies that contribute to the activation and deactivation processes.
+
+
+
+
+ Describes the request for a service resolution.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The service that was requested.
+ The constraint that will be applied to filter the bindings used for the request.
+ The parameters that affect the resolution.
+ The scope callback, if an external scope was specified.
+ True if the request is optional; otherwise, false.
+ True if the request should return a unique result; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+ The parent context.
+ The service that was requested.
+ The target that will receive the injection.
+ The scope callback, if an external scope was specified.
+
+
+
+ Determines whether the specified binding satisfies the constraints defined on this request.
+
+ The binding.
+ True if the binding satisfies the constraints; otherwise false.
+
+
+
+ Gets the scope if one was specified in the request.
+
+ The object that acts as the scope.
+
+
+
+ Creates a child request.
+
+ The service that is being requested.
+ The context in which the request was made.
+ The target that will receive the injection.
+ The child request.
+
+
+
+ Gets the service that was requested.
+
+
+
+
+ Gets the parent request.
+
+
+
+
+ Gets the parent context.
+
+
+
+
+ Gets the target that will receive the injection, if any.
+
+
+
+
+ Gets the constraint that will be applied to filter the bindings used for the request.
+
+
+
+
+ Gets the parameters that affect the resolution.
+
+
+
+
+ Gets the stack of bindings which have been activated by either this request or its ancestors.
+
+
+
+
+ Gets the recursive depth at which this request occurs.
+
+
+
+
+ Gets or sets value indicating whether the request is optional.
+
+
+
+
+ Gets or sets value indicating whether the request is for a single service.
+
+
+
+
+ Gets the callback that resolves the scope for the request, if an external scope was provided.
+
+
+
+
+ Defines a constraint on the decorated member.
+
+
+
+
+ Determines whether the specified binding metadata matches the constraint.
+
+ The metadata in question.
+ True if the metadata matches; otherwise false.
+
+
+
+ Indicates that the decorated member should be injected.
+
+
+
+
+ Indicates that the decorated member should only be injected using binding(s) registered
+ with the specified name.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the binding(s) to use.
+
+
+
+ Determines whether the specified binding metadata matches the constraint.
+
+ The metadata in question.
+ True if the metadata matches; otherwise false.
+
+
+
+ Gets the binding name.
+
+
+
+
+ Indicates that the decorated member represents an optional dependency.
+
+
+
+
+ An internal container that manages and resolves components that contribute to Ninject.
+
+
+
+
+ An internal container that manages and resolves components that contribute to Ninject.
+
+
+
+
+ Registers a component in the container.
+
+ The component type.
+ The component's implementation type.
+
+
+
+ Removes all registrations for the specified component.
+
+ The component type.
+
+
+
+ Removes all registrations for the specified component.
+
+ The component's type.
+
+
+
+ Gets one instance of the specified component.
+
+ The component type.
+ The instance of the component.
+
+
+
+ Gets all available instances of the specified component.
+
+ The component type.
+ A series of instances of the specified component.
+
+
+
+ Gets one instance of the specified component.
+
+ The component type.
+ The instance of the component.
+
+
+
+ Gets all available instances of the specified component.
+
+ The component type.
+ A series of instances of the specified component.
+
+
+
+ Gets or sets the kernel that owns the component container.
+
+
+
+
+ Releases resources held by the object.
+
+
+
+
+ Registers a component in the container.
+
+ The component type.
+ The component's implementation type.
+
+
+
+ Removes all registrations for the specified component.
+
+ The component type.
+
+
+
+ Removes all registrations for the specified component.
+
+ The component type.
+
+
+
+ Gets one instance of the specified component.
+
+ The component type.
+ The instance of the component.
+
+
+
+ Gets all available instances of the specified component.
+
+ The component type.
+ A series of instances of the specified component.
+
+
+
+ Gets one instance of the specified component.
+
+ The component type.
+ The instance of the component.
+
+
+
+ Gets all available instances of the specified component.
+
+ The component type.
+ A series of instances of the specified component.
+
+
+
+ Gets or sets the kernel that owns the component container.
+
+
+
+
+ Represents a future value.
+
+ The type of value.
+
+
+
+ Initializes a new instance of the Future<T> class.
+
+ The callback that will be triggered to read the value.
+
+
+
+ Gets the value from the future.
+
+ The future.
+ The future value.
+
+
+
+ Gets the value, resolving it if necessary.
+
+
+
+
+ Gets the callback that will be called to resolve the value.
+
+
+
+
+ Indicates the object has a reference to a .
+
+
+
+
+ Gets the binding.
+
+
+
+
+ Indicates that the object has a reference to an .
+
+
+
+
+ Gets the kernel.
+
+
+
+
+ A data structure that contains multiple values for a each key.
+
+ The type of key.
+ The type of value.
+
+
+
+ Adds the specified value for the specified key.
+
+ The key.
+ The value.
+
+
+
+ Removes the specified value for the specified key.
+
+ The key.
+ The value.
+ True if such a value existed and was removed; otherwise false.
+
+
+
+ Removes all values for the specified key.
+
+ The key.
+ True if any such values existed; otherwise false.
+
+
+
+ Removes all values.
+
+
+
+
+ Determines whether the multimap contains any values for the specified key.
+
+ The key.
+ True if the multimap has one or more values for the specified key; otherwise, false.
+
+
+
+ Determines whether the multimap contains the specified value for the specified key.
+
+ The key.
+ The value.
+ True if the multimap contains such a value; otherwise, false.
+
+
+
+ Returns an enumerator that iterates through a the multimap.
+
+ An object that can be used to iterate through the multimap.
+
+
+
+ Gets the collection of values stored under the specified key.
+
+ The key.
+
+
+
+ Gets the collection of keys.
+
+
+
+
+ Gets the collection of collections of values.
+
+
+
+
+ Defines the style of request (single or multi-injection, whether it is optional, etc.)
+
+
+
+
+ Indicates a request for a single instance of a service.
+
+
+
+
+ Indicates a request for multiple instances of a service.
+
+
+
+
+ Indicates that null should be returned (instead of throwing) if the service cannot be resolved.
+
+
+
+
+ Scope callbacks for standard scopes.
+
+
+
+
+ Gets the callback for transient scope.
+
+
+
+
+ Gets the callback for singleton scope.
+
+
+
+
+ Gets the callback for thread scope.
+
+
+
+
+ Gets the callback for request scope.
+
+
+
+
+ A delegate that can inject values into a constructor.
+
+
+
+
+ Creates injectors for members via s.
+
+
+
+
+ Creates injectors from members.
+
+
+
+
+ Gets or creates an injector for the specified constructor.
+
+ The constructor.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified property.
+
+ The property.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified method.
+
+ The method.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified constructor.
+
+ The constructor.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified property.
+
+ The property.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified method.
+
+ The method.
+ The created injector.
+
+
+
+ A delegate that can inject values into a method.
+
+
+
+
+ A delegate that can inject values into a property.
+
+
+
+
+ Creates injectors from members via reflective invocation.
+
+
+
+
+ Gets or creates an injector for the specified constructor.
+
+ The constructor.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified property.
+
+ The property.
+ The created injector.
+
+
+
+ Gets or creates an injector for the specified method.
+
+ The method.
+ The created injector.
+
+
+
+ Loads modules from compiled assemblies.
+
+
+
+
+ Loads modules at runtime by searching external files.
+
+
+
+
+ Loads modules from the specified files.
+
+ The names of the files to load modules from.
+
+
+
+ Gets the file extensions that the plugin understands how to load.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The kernel into which modules will be loaded.
+
+
+
+ Loads modules from the specified files.
+
+ The names of the files to load modules from.
+
+
+
+ Gets or sets the kernel into which modules will be loaded.
+
+
+
+
+ Gets the file extensions that the plugin understands how to load.
+
+
+
+
+ Finds modules defined in external files.
+
+
+
+
+ Loads any modules found in the files that match the specified patterns.
+
+ The patterns to search.
+
+
+
+ A pluggable unit that can be loaded into an .
+
+
+
+
+ Called when the module is loaded into a kernel.
+
+ The kernel that is loading the module.
+
+
+
+ Called when the module is unloaded from a kernel.
+
+ The kernel that is unloading the module.
+
+
+
+ Gets the module's name.
+
+
+
+
+ Automatically finds and loads modules from assemblies.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The kernel into which modules will be loaded.
+
+
+
+ Loads any modules found in the files that match the specified patterns.
+
+ The patterns to search.
+
+
+
+ Gets or sets the kernel into which modules will be loaded.
+
+
+
+
+ A loadable unit that defines bindings for your application.
+
+
+
+
+ Provides a path to register bindings.
+
+
+
+
+ Provides a path to register bindings.
+
+
+
+
+ Declares a binding for the specified service.
+
+ The service to bind.
+
+
+
+ Declares a binding from the service to itself.
+
+ The service to bind.
+
+
+
+ Unregisters all bindings for the specified service.
+
+ The service to unbind.
+
+
+
+ Unregisters all bindings for the specified service.
+
+ The service to unbind.
+
+
+
+ Removes any existing bindings for the specified service, and declares a new one.
+
+ The service to re-bind.
+
+
+
+ Removes any existing bindings for the specified service, and declares a new one.
+
+ The service to re-bind.
+
+
+
+ Registers the specified binding.
+
+ The binding to add.
+
+
+
+ Unregisters the specified binding.
+
+ The binding to remove.
+
+
+
+ Declares a binding for the specified service.
+
+ The service to bind.
+
+
+
+ Declares a binding for the specified service.
+
+ The service to bind.
+
+
+
+ Unregisters all bindings for the specified service.
+
+ The service to unbind.
+
+
+
+ Unregisters all bindings for the specified service.
+
+ The service to unbind.
+
+
+
+ Removes any existing bindings for the specified service, and declares a new one.
+
+ The service to re-bind.
+
+
+
+ Removes any existing bindings for the specified service, and declares a new one.
+
+ The service to re-bind.
+
+
+
+ Registers the specified binding.
+
+ The binding to add.
+
+
+
+ Unregisters the specified binding.
+
+ The binding to remove.
+
+
+
+ Creates a new builder for the specified binding.
+
+ The type restriction to apply to the binding builder.
+ The binding that will be built.
+ The created builder.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Called when the module is loaded into a kernel.
+
+ The kernel that is loading the module.
+
+
+
+ Called when the module is unloaded from a kernel.
+
+ The kernel that is unloading the module.
+
+
+
+ Loads the module into the kernel.
+
+
+
+
+ Unloads the module from the kernel.
+
+
+
+
+ Unregisters all bindings for the specified service.
+
+ The service to unbind.
+
+
+
+ Registers the specified binding.
+
+ The binding to add.
+
+
+
+ Unregisters the specified binding.
+
+ The binding to remove.
+
+
+
+ Creates a new builder for the specified binding.
+
+ The type restriction to apply to the binding builder.
+ The binding that will be built.
+ The created builder.
+
+
+
+ Gets the kernel that the module is loaded into.
+
+
+
+
+ Gets the module's name. Only a single module with a given name can be loaded at one time.
+
+
+
+
+ Gets the bindings that were registered by the module.
+
+
+
+
+ Overrides the injected value of a constructor argument.
+
+
+
+
+ Modifies an activation process in some way.
+
+
+
+
+ Modifies an activation process in some way.
+
+
+
+
+ Gets the value for the parameter within the specified context.
+
+ The context.
+ The value for the parameter.
+
+
+
+ Gets the name of the parameter.
+
+
+
+
+ Gets a value indicating whether the parameter should be inherited into child requests.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the parameter.
+ The value of the parameter.
+ Whether the parameter should be inherited into child requests.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the parameter.
+ The callback that will be triggered to get the parameter's value.
+ Whether the parameter should be inherited into child requests.
+
+
+
+ Gets the value for the parameter within the specified context.
+
+ The context.
+ The value for the parameter.
+
+
+
+ Determines whether the object equals the specified object.
+
+ An object to compare with this object.
+ True if the objects are equal; otherwise false
+
+
+
+ Serves as a hash function for a particular type.
+
+ A hash code for the object.
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+ An object to compare with this object.
+ True if the objects are equal; otherwise false
+
+
+
+ Gets the name of the parameter.
+
+
+
+
+ Gets a value indicating whether the parameter should be inherited into child requests.
+
+
+
+
+ Gets or sets the callback that will be triggered to get the parameter's value.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the argument to override.
+ The value to inject into the property.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the argument to override.
+ The callback to invoke to get the value that should be injected.
+
+
+
+ Overrides the injected value of a property.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the property to override.
+ The value to inject into the property.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the property to override.
+ The callback to invoke to get the value that should be injected.
+
+
+
+ Contains logic about which bindings to use for a given service request.
+
+
+
+
+ Returns any bindings from the specified collection that match the specified service.
+
+ The multimap of all registered bindings.
+ The service in question.
+ The series of matching bindings.
+
+
+
+ Resolves bindings for open generic types.
+
+
+
+
+ Returns any bindings from the specified collection that match the specified service.
+
+ The multimap of all registered bindings.
+ The service in question.
+ The series of matching bindings.
+
+
+
+ Resolves bindings that have been registered directly for the service.
+
+
+
+
+ Returns any bindings from the specified collection that match the specified service.
+
+ The multimap of all registered bindings.
+ The service in question.
+ The series of matching bindings.
+
+
+
+ Contains information about a service registration.
+
+
+
+
+ Contains information about a service registration.
+
+
+
+
+ Gets the provider for the binding.
+
+ The context.
+ The provider to use.
+
+
+
+ Gets the scope for the binding, if any.
+
+ The context.
+ The object that will act as the scope, or if the service is transient.
+
+
+
+ Determines whether the specified request satisfies the condition defined on the binding,
+ if one was defined.
+
+ The request.
+ True if the request satisfies the condition; otherwise false.
+
+
+
+ Gets the service type that is controlled by the binding.
+
+
+
+
+ Gets the binding's metadata.
+
+
+
+
+ Gets or sets the type of target for the binding.
+
+
+
+
+ Gets or sets a value indicating whether the binding was implicitly registered.
+
+
+
+
+ Gets a value indicating whether the binding has a condition associated with it.
+
+
+
+
+ Gets or sets the condition defined for the binding.
+
+
+
+
+ Gets or sets the callback that returns the provider that should be used by the binding.
+
+
+
+
+ Gets or sets the callback that returns the object that will act as the binding's scope.
+
+
+
+
+ Gets the parameters defined for the binding.
+
+
+
+
+ Gets the actions that should be called after instances are activated via the binding.
+
+
+
+
+ Gets the actions that should be called before instances are deactivated via the binding.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The service that is controlled by the binding.
+
+
+
+ Initializes a new instance of the class.
+
+ The service that is controlled by the binding.
+ The binding's metadata container.
+
+
+
+ Gets the provider for the binding.
+
+ The context.
+ The provider to use.
+
+
+
+ Gets the scope for the binding, if any.
+
+ The context.
+ The object that will act as the scope, or if the service is transient.
+
+
+
+ Determines whether the specified request satisfies the conditions defined on this binding.
+
+ The request.
+ True if the request satisfies the conditions; otherwise false.
+
+
+
+ Gets the service type that is controlled by the binding.
+
+
+
+
+ Gets the binding's metadata.
+
+
+
+
+ Gets or sets a value indicating whether the binding was implicitly registered.
+
+
+
+
+ Gets a value indicating whether the binding has a condition associated with it.
+
+
+
+
+ Gets or sets the type of target for the binding.
+
+
+
+
+ Gets or sets the condition defined for the binding.
+
+
+
+
+ Gets or sets the callback that returns the provider that should be used by the binding.
+
+
+
+
+ Gets or sets the callback that returns the object that will act as the binding's scope.
+
+
+
+
+ Gets the parameters defined for the binding.
+
+
+
+
+ Gets the actions that should be called after instances are activated via the binding.
+
+
+
+
+ Gets the actions that should be called before instances are deactivated via the binding.
+
+
+
+
+ Provides a root for the fluent syntax associated with an .
+
+
+
+
+ Used to define the target of a binding.
+
+ The service being bound.
+
+
+
+ Used to define a basic binding syntax builder.
+
+
+
+
+ A hack to hide methods defined on for IntelliSense
+ on fluent interfaces. Credit to Daniel Cazzulino.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates that the service should be self-bound.
+
+
+
+
+ Indicates that the service should be bound to the specified implementation type.
+
+ The implementation type.
+
+
+
+ Indicates that the service should be bound to the specified implementation type.
+
+ The implementation type.
+
+
+
+ Indicates that the service should be bound to an instance of the specified provider type.
+ The instance will be activated via the kernel when an instance of the service is activated.
+
+ The type of provider to activate.
+
+
+
+ Indicates that the service should be bound to an instance of the specified provider type.
+ The instance will be activated via the kernel when an instance of the service is activated.
+
+ The type of provider to activate.
+
+
+
+ Indicates that the service should be bound to the specified provider.
+
+ The provider.
+
+
+
+ Indicates that the service should be bound to the specified callback method.
+
+ The method.
+
+
+
+ Indicates that the service should be bound to the specified constant value.
+
+ The constant value.
+
+
+
+ Used to set the condition, scope, name, or add additional information or actions to a binding.
+
+ The service being bound.
+
+
+
+ Used to define the conditions under which a binding should be used.
+
+ The service being bound.
+
+
+
+ Indicates that the binding should be used only for requests that support the specified condition.
+
+ The condition.
+
+
+
+ Indicates that the binding should be used only for injections on the specified type.
+
+ The type.
+
+
+
+ Indicates that the binding should be used only for injections on the specified type.
+
+ The type.
+
+
+
+ Indicates that the binding should be used only when the class being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the member being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the target being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the class being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the member being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the target being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the service is being requested
+ by a service bound with the specified name.
+
+ The name to expect.
+
+
+
+ Used to define the scope in which instances activated via a binding should be re-used.
+
+ The service being bound.
+
+
+
+ Indicates that only a single instance of the binding should be created, and then
+ should be re-used for all subsequent requests.
+
+
+
+
+ Indicates that instances activated via the binding should not be re-used, nor have
+ their lifecycle managed by Ninject.
+
+
+
+
+ Indicates that instances activated via the binding should be re-used within the same thread.
+
+
+
+
+ Indicates that instances activated via the binding should be re-used within the same
+ HTTP request.
+
+
+
+
+ Indicates that instances activated via the binding should be re-used as long as the object
+ returned by the provided callback remains alive (that is, has not been garbage collected).
+
+ The callback that returns the scope.
+
+
+
+ Used to define the name of a binding.
+
+ The service being bound.
+
+
+
+ Indicates that the binding should be registered with the specified name. Names are not
+ necessarily unique; multiple bindings for a given service may be registered with the same name.
+
+ The name to give the binding.
+
+
+
+ Used to add additional information to a binding.
+
+ The service being bound.
+
+
+
+ Indicates that the specified constructor argument should be overridden with the specified value.
+
+ The name of the argument to override.
+ The value for the argument.
+
+
+
+ Indicates that the specified constructor argument should be overridden with the specified value.
+
+ The name of the argument to override.
+ The callback to invoke to get the value for the argument.
+
+
+
+ Indicates that the specified property should be injected with the specified value.
+
+ The name of the property to override.
+ The value for the property.
+
+
+
+ Indicates that the specified property should be injected with the specified value.
+
+ The name of the property to override.
+ The callback to invoke to get the value for the property.
+
+
+
+ Adds a custom parameter to the binding.
+
+ The parameter.
+
+
+
+ Sets the value of a piece of metadata on the binding.
+
+ The metadata key.
+ The metadata value.
+
+
+
+ Used to add additional actions to be performed during activation or deactivation of instances via a binding.
+
+ The service being bound.
+
+
+
+ Indicates that the specified callback should be invoked when instances are activated.
+
+ The action callback.
+
+
+
+ Indicates that the specified callback should be invoked when instances are deactivated.
+
+ The action callback.
+
+
+
+ Used to set the scope, name, or add additional information or actions to a binding.
+
+ The service being bound.
+
+
+
+ Used to set the name, or add additional information or actions to a binding.
+
+ The service being bound.
+
+
+
+ Used to add additional information or actions to a binding.
+
+ The service being bound.
+
+
+
+ Initializes a new instance of the BindingBuilder<T> class.
+
+ The binding to build.
+ The kernel.
+
+
+
+ Indicates that the service should be self-bound.
+
+
+
+
+ Indicates that the service should be bound to the specified implementation type.
+
+ The implementation type.
+
+
+
+ Indicates that the service should be bound to the specified implementation type.
+
+ The implementation type.
+
+
+
+ Indicates that the service should be bound to an instance of the specified provider type.
+ The instance will be activated via the kernel when an instance of the service is activated.
+
+ The type of provider to activate.
+
+
+
+ Indicates that the service should be bound to an instance of the specified provider type.
+ The instance will be activated via the kernel when an instance of the service is activated.
+
+ The type of provider to activate.
+
+
+
+ Indicates that the service should be bound to the specified provider.
+
+ The provider.
+
+
+
+ Indicates that the service should be bound to the specified callback method.
+
+ The method.
+
+
+
+ Indicates that the service should be bound to the specified constant value.
+
+ The constant value.
+
+
+
+ Indicates that the binding should be used only for requests that support the specified condition.
+
+ The condition.
+
+
+
+ Indicates that the binding should be used only for injections on the specified type.
+
+ The type.
+
+
+
+ Indicates that the binding should be used only for injections on the specified type.
+
+ The type.
+
+
+
+ Indicates that the binding should be used only when the class being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the member being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the target being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the class being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the member being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the target being injected has
+ an attribute of the specified type.
+
+ The type of attribute.
+
+
+
+ Indicates that the binding should be used only when the service is being requested
+ by a service bound with the specified name.
+
+ The name to expect.
+
+
+
+ Indicates that the binding should be registered with the specified name. Names are not
+ necessarily unique; multiple bindings for a given service may be registered with the same name.
+
+ The name to give the binding.
+
+
+
+ Indicates that only a single instance of the binding should be created, and then
+ should be re-used for all subsequent requests.
+
+
+
+
+ Indicates that instances activated via the binding should not be re-used, nor have
+ their lifecycle managed by Ninject.
+
+
+
+
+ Indicates that instances activated via the binding should be re-used within the same thread.
+
+
+
+
+ Indicates that instances activated via the binding should be re-used within the same
+ HTTP request.
+
+
+
+
+ Indicates that instances activated via the binding should be re-used as long as the object
+ returned by the provided callback remains alive (that is, has not been garbage collected).
+
+ The callback that returns the scope.
+
+
+
+ Indicates that the specified constructor argument should be overridden with the specified value.
+
+ The name of the argument to override.
+ The value for the argument.
+
+
+
+ Indicates that the specified constructor argument should be overridden with the specified value.
+
+ The name of the argument to override.
+ The callback to invoke to get the value for the argument.
+
+
+
+ Indicates that the specified property should be injected with the specified value.
+
+ The name of the property to override.
+ The value for the property.
+
+
+
+ Indicates that the specified property should be injected with the specified value.
+
+ The name of the property to override.
+ The callback to invoke to get the value for the property.
+
+
+
+ Adds a custom parameter to the binding.
+
+ The parameter.
+
+
+
+ Sets the value of a piece of metadata on the binding.
+
+ The metadata key.
+ The metadata value.
+
+
+
+ Indicates that the specified callback should be invoked when instances are activated.
+
+ The action callback.
+
+
+
+ Indicates that the specified callback should be invoked when instances are deactivated.
+
+ The action callback.
+
+
+
+ Provides a root for the fluent syntax associated with an .
+
+
+
+
+ Gets the binding being built.
+
+
+
+
+ Gets the kernel.
+
+
+
+
+ Additional information available about a binding, which can be used in constraints
+ to select bindings to use in activation.
+
+
+
+
+ Additional information available about a binding, which can be used in constraints
+ to select bindings to use in activation.
+
+
+
+
+ Determines whether a piece of metadata with the specified key has been defined.
+
+ The metadata key.
+ True if such a piece of metadata exists; otherwise, false.
+
+
+
+ Gets the value of metadata defined with the specified key, cast to the specified type.
+
+ The type of value to expect.
+ The metadata key.
+ The metadata value.
+
+
+
+ Gets the value of metadata defined with the specified key.
+
+ The metadata key.
+ The value to return if the binding has no metadata set with the specified key.
+ The metadata value, or the default value if none was set.
+
+
+
+ Sets the value of a piece of metadata.
+
+ The metadata key.
+ The metadata value.
+
+
+
+ Gets or sets the binding's name.
+
+
+
+
+ Determines whether a piece of metadata with the specified key has been defined.
+
+ The metadata key.
+ True if such a piece of metadata exists; otherwise, false.
+
+
+
+ Gets the value of metadata defined with the specified key, cast to the specified type.
+
+ The type of value to expect.
+ The metadata key.
+ The metadata value.
+
+
+
+ Gets the value of metadata defined with the specified key.
+
+ The metadata key.
+ The value to return if the binding has no metadata set with the specified key.
+ The metadata value, or the default value if none was set.
+
+
+
+ Sets the value of a piece of metadata.
+
+ The metadata key.
+ The metadata value.
+
+
+
+ Gets or sets the binding's name.
+
+
+
+
+ Describes the target of a binding.
+
+
+
+
+ Indicates that the binding is from a type to itself.
+
+
+
+
+ Indicates that the binding is from one type to another.
+
+
+
+
+ Indicates that the binding is from a type to a provider.
+
+
+
+
+ Indicates that the binding is from a type to a callback method.
+
+
+
+
+ Indicates that the binding is from a type to a constant value.
+
+
+
+
+ Describes the injection of a constructor.
+
+
+
+
+ Describes the injection of a method or constructor.
+
+
+
+
+ A piece of information used in an . (Just a marker.)
+
+
+
+
+ Initializes a new instance of the MethodInjectionDirectiveBase<TMethod, TInjector> class.
+
+ The method this directive represents.
+ The injector that will be triggered.
+
+
+
+ Creates targets for the parameters of the method.
+
+ The method.
+ The targets for the method's parameters.
+
+
+
+ Gets or sets the injector that will be triggered.
+
+
+
+
+ Gets or sets the targets for the directive.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The constructor described by the directive.
+ The injector that will be triggered.
+
+
+
+ The base .ctor definition.
+
+
+
+
+ Describes the injection of a method.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The method described by the directive.
+ The injector that will be triggered.
+
+
+
+ Describes the injection of a property.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The member the directive describes.
+ The injector that will be triggered.
+
+
+
+ Creates a target for the property.
+
+ The property.
+ The target for the property.
+
+
+
+ Gets or sets the injector that will be triggered.
+
+
+
+
+ Gets or sets the injection target for the directive.
+
+
+
+
+ Adds a directive to plans indicating which constructor should be injected during activation.
+
+
+
+
+ Contributes to the generation of a .
+
+
+
+
+ Contributes to the specified plan.
+
+ The plan that is being generated.
+
+
+
+ Initializes a new instance of the class.
+
+ The selector component.
+ The injector factory component.
+
+
+
+ Adds a to the plan for the constructor
+ that should be injected.
+
+ The plan that is being generated.
+
+
+
+ Gets the selector component.
+
+
+
+
+ Gets the injector factory component.
+
+
+
+
+ Adds directives to plans indicating which methods should be injected during activation.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The selector component.
+ The injector factory component.
+
+
+
+ Adds a to the plan for each method
+ that should be injected.
+
+ The plan that is being generated.
+
+
+
+ Gets the selector component.
+
+
+
+
+ Gets the injector factory component.
+
+
+
+
+ Adds directives to plans indicating which properties should be injected during activation.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The selector component.
+ The injector factory component.
+
+
+
+ Adds a to the plan for each property
+ that should be injected.
+
+ The plan that is being generated.
+
+
+
+ Gets the selector component.
+
+
+
+
+ Gets the injector factory component.
+
+
+
+
+ Represents a site on a type where a value will be injected.
+
+
+
+
+ Resolves a value for the target within the specified parent context.
+
+ The parent context.
+ The resolved value.
+
+
+
+ Gets the type of the target.
+
+
+
+
+ Gets the name of the target.
+
+
+
+
+ Gets the member that contains the target.
+
+
+
+
+ Gets the constraint defined on the target.
+
+
+
+
+ Gets a value indicating whether the target represents an optional dependency.
+
+
+
+
+ Represents an injection target for a .
+
+
+
+
+ Represents a site on a type where a value can be injected.
+
+ The type of site this represents.
+
+
+
+ Initializes a new instance of the Target<T> class.
+
+ The member that contains the target.
+ The site represented by the target.
+
+
+
+ Returns an array of custom attributes of a specified type defined on the target.
+
+ The type of attribute to search for.
+ Whether to look up the hierarchy chain for inherited custom attributes.
+ An array of custom attributes of the specified type.
+
+
+
+ Returns an array of custom attributes defined on the target.
+
+ Whether to look up the hierarchy chain for inherited custom attributes.
+ An array of custom attributes.
+
+
+
+ Returns a value indicating whether an attribute of the specified type is defined on the target.
+
+ The type of attribute to search for.
+ Whether to look up the hierarchy chain for inherited custom attributes.
+ True if such an attribute is defined; otherwise false.
+
+
+
+ Resolves a value for the target within the specified parent context.
+
+ The parent context.
+ The resolved value.
+
+
+
+ Gets the value(s) that should be injected into the target.
+
+ The service that the target is requesting.
+ The parent context in which the target is being injected.
+ A series of values that are available for injection.
+
+
+
+ Reads whether the target represents an optional dependency.
+
+ if it is optional; otherwise .
+
+
+
+ Reads the resolution constraint from target.
+
+ The resolution constraint.
+
+
+
+ Gets the member that contains the target.
+
+
+
+
+ Gets or sets the site (property, parameter, etc.) represented by the target.
+
+
+
+
+ Gets the name of the target.
+
+
+
+
+ Gets the type of the target.
+
+
+
+
+ Gets the constraint defined on the target.
+
+
+
+
+ Gets a value indicating whether the target represents an optional dependency.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The method that defines the parameter.
+ The parameter that this target represents.
+
+
+
+ Gets the name of the target.
+
+
+
+
+ Gets the type of the target.
+
+
+
+
+ Represents an injection target for a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The property that this target represents.
+
+
+
+ Gets the name of the target.
+
+
+
+
+ Gets the type of the target.
+
+
+
+
+ Describes the means by which a type should be activated.
+
+
+
+
+ Adds the specified directive to the plan.
+
+ The directive.
+
+
+
+ Determines whether the plan contains one or more directives of the specified type.
+
+ The type of directive.
+ True if the plan has one or more directives of the type; otherwise, false.
+
+
+
+ Gets the first directive of the specified type from the plan.
+
+ The type of directive.
+ The first directive, or if no matching directives exist.
+
+
+
+ Gets all directives of the specified type that exist in the plan.
+
+ The type of directive.
+ A series of directives of the specified type.
+
+
+
+ Gets the type that the plan describes.
+
+
+
+
+ Generates plans for how to activate instances.
+
+
+
+
+ Gets or creates an activation plan for the specified type.
+
+ The type for which a plan should be created.
+ The type's activation plan.
+
+
+
+ Gets the strategies that contribute to the planning process.
+
+
+
+
+ Describes the means by which a type should be activated.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type the plan describes.
+
+
+
+ Adds the specified directive to the plan.
+
+ The directive.
+
+
+
+ Determines whether the plan contains one or more directives of the specified type.
+
+ The type of directive.
+ True if the plan has one or more directives of the type; otherwise, false.
+
+
+
+ Gets the first directive of the specified type from the plan.
+
+ The type of directive.
+ The first directive, or if no matching directives exist.
+
+
+
+ Gets all directives of the specified type that exist in the plan.
+
+ The type of directive.
+ A series of directives of the specified type.
+
+
+
+ Gets the type that the plan describes.
+
+
+
+
+ Gets the directives defined in the plan.
+
+
+
+
+ Generates plans for how to activate instances.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The strategies to execute during planning.
+
+
+
+ Gets or creates an activation plan for the specified type.
+
+ The type for which a plan should be created.
+ The type's activation plan.
+
+
+
+ Creates an empty plan for the specified type.
+
+ The type for which a plan should be created.
+ The created plan.
+
+
+
+ Gets the strategies that contribute to the planning process.
+
+
+
+
+ Generates scores for constructors, to determine which is the best one to call during activation.
+
+
+
+
+ Gets the score for the specified constructor.
+
+ The injection context.
+ The constructor.
+ The constructor's score.
+
+
+
+ Determines whether members should be injected during activation.
+
+
+
+
+ Returns a value indicating whether the specified member should be injected.
+
+ The member in question.
+ True if the member should be injected; otherwise false.
+
+
+
+ Scores constructors by either looking for the existence of an injection marker
+ attribute, or by counting the number of parameters.
+
+
+
+
+ Gets the score for the specified constructor.
+
+ The injection context.
+ The constructor.
+ The constructor's score.
+
+
+
+ Determines whether members should be injected during activation by checking
+ if they are decorated with an injection marker attribute.
+
+
+
+
+ Returns a value indicating whether the specified member should be injected.
+
+ The member in question.
+ True if the member should be injected; otherwise false.
+
+
+
+ Selects members for injection.
+
+
+
+
+ Selects the constructor to call on the specified type, by using the constructor scorer.
+
+ The type.
+ The selected constructor, or if none were available.
+
+
+
+ Selects properties that should be injected.
+
+ The type.
+ A series of the selected properties.
+
+
+
+ Selects methods that should be injected.
+
+ The type.
+ A series of the selected methods.
+
+
+
+ Gets or sets the constructor scorer.
+
+
+
+
+ Gets the heuristics used to determine which members should be injected.
+
+
+
+
+ Selects members for injection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The constructor scorer.
+ The injection heuristics.
+
+
+
+ Selects the constructor to call on the specified type, by using the constructor scorer.
+
+ The type.
+ The selected constructor, or if none were available.
+
+
+
+ Selects properties that should be injected.
+
+ The type.
+ A series of the selected properties.
+
+
+
+ Selects methods that should be injected.
+
+ The type.
+ A series of the selected methods.
+
+
+
+ Gets or sets the constructor scorer.
+
+
+
+
+ Gets the property injection heuristics.
+
+
+
+
+ Extension methods that enhance module loading.
+
+
+
+
+ Creates a new instance of the module and loads it into the kernel.
+
+ The type of the module.
+ The kernel.
+
+
+
+ Loads the module(s) into the kernel.
+
+ The kernel.
+ The modules to load.
+
+
+
+ Loads modules from the files that match the specified pattern(s).
+
+ The kernel.
+ The file patterns (i.e. "*.dll", "modules/*.rb") to match.
+
+
+
+ Loads modules defined in the specified assemblies.
+
+ The kernel.
+ The assemblies to search.
+
+
+
+ Extensions that enhance resolution of services.
+
+
+
+
+ Gets an instance of the specified service.
+
+ The service to resolve.
+ The resolution root.
+ The parameters to pass to the request.
+ An instance of the service.
+
+
+
+ Gets an instance of the specified service by using the first binding with the specified name.
+
+ The service to resolve.
+ The resolution root.
+ The name of the binding.
+ The parameters to pass to the request.
+ An instance of the service.
+
+
+
+ Gets an instance of the specified service by using the first binding that matches the specified constraint.
+
+ The service to resolve.
+ The resolution root.
+ The constraint to apply to the binding.
+ The parameters to pass to the request.
+ An instance of the service.
+
+
+
+ Tries to get an instance of the specified service.
+
+ The service to resolve.
+ The resolution root.
+ The parameters to pass to the request.
+ An instance of the service, or if no implementation was available.
+
+
+
+ Tries to get an instance of the specified service by using the first binding with the specified name.
+
+ The service to resolve.
+ The resolution root.
+ The name of the binding.
+ The parameters to pass to the request.
+ An instance of the service, or if no implementation was available.
+
+
+
+ Tries to get an instance of the specified service by using the first binding that matches the specified constraint.
+
+ The service to resolve.
+ The resolution root.
+ The constraint to apply to the binding.
+ The parameters to pass to the request.
+ An instance of the service, or if no implementation was available.
+
+
+
+ Gets all available instances of the specified service.
+
+ The service to resolve.
+ The resolution root.
+ The parameters to pass to the request.
+ A series of instances of the service.
+
+
+
+ Gets all instances of the specified service using bindings registered with the specified name.
+
+ The service to resolve.
+ The resolution root.
+ The name of the binding.
+ The parameters to pass to the request.
+ A series of instances of the service.
+
+
+
+ Gets all instances of the specified service by using the bindings that match the specified constraint.
+
+ The service to resolve.
+ The resolution root.
+ The constraint to apply to the bindings.
+ The parameters to pass to the request.
+ A series of instances of the service.
+
+
+
+ Gets an instance of the specified service.
+
+ The resolution root.
+ The service to resolve.
+ The parameters to pass to the request.
+ An instance of the service.
+
+
+
+ Gets an instance of the specified service by using the first binding with the specified name.
+
+ The resolution root.
+ The service to resolve.
+ The name of the binding.
+ The parameters to pass to the request.
+ An instance of the service.
+
+
+
+ Gets an instance of the specified service by using the first binding that matches the specified constraint.
+
+ The resolution root.
+ The service to resolve.
+ The constraint to apply to the binding.
+ The parameters to pass to the request.
+ An instance of the service.
+
+
+
+ Tries to get an instance of the specified service.
+
+ The resolution root.
+ The service to resolve.
+ The parameters to pass to the request.
+ An instance of the service, or if no implementation was available.
+
+
+
+ Tries to get an instance of the specified service by using the first binding with the specified name.
+
+ The resolution root.
+ The service to resolve.
+ The name of the binding.
+ The parameters to pass to the request.
+ An instance of the service, or if no implementation was available.
+
+
+
+ Tries to get an instance of the specified service by using the first binding that matches the specified constraint.
+
+ The resolution root.
+ The service to resolve.
+ The constraint to apply to the binding.
+ The parameters to pass to the request.
+ An instance of the service, or if no implementation was available.
+
+
+
+ Gets all available instances of the specified service.
+
+ The resolution root.
+ The service to resolve.
+ The parameters to pass to the request.
+ A series of instances of the service.
+
+
+
+ Gets all instances of the specified service using bindings registered with the specified name.
+
+ The resolution root.
+ The service to resolve.
+ The name of the binding.
+ The parameters to pass to the request.
+ A series of instances of the service.
+
+
+
+ Gets all instances of the specified service by using the bindings that match the specified constraint.
+
+ The resolution root.
+ The service to resolve.
+ The constraint to apply to the bindings.
+ The parameters to pass to the request.
+ A series of instances of the service.
+
+
+
+ Indicates that an error occured during activation of an instance.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The exception message.
+
+
+
+ Initializes a new instance of the class.
+
+ The exception message.
+ The inner exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The serialized object data.
+ The serialization context.
+
+
+
+ A service that requires initialization after it is activated.
+
+
+
+
+ Initializes the instance. Called during activation.
+
+
+
+
+ A super-factory that can create objects of all kinds, following hints provided by s.
+
+
+
+
+ Gets the modules that have been loaded into the kernel.
+
+ A series of loaded modules.
+
+
+
+ Determines whether a module with the specified name has been loaded in the kernel.
+
+ The name of the module.
+ True if the specified module has been loaded; otherwise, false.
+
+
+
+ Loads the module(s) into the kernel.
+
+ The modules to load.
+
+
+
+ Loads modules from the files that match the specified pattern(s).
+
+ The file patterns (i.e. "*.dll", "modules/*.rb") to match.
+
+
+
+ Loads modules defined in the specified assemblies.
+
+ The assemblies to search.
+
+
+
+ Unloads the plugin with the specified name.
+
+ The plugin's name.
+
+
+
+ Injects the specified existing instance, without managing its lifecycle.
+
+ The instance to inject.
+ The parameters to pass to the request.
+
+
+
+ Deactivates and releases the specified instance if it is currently managed by Ninject.
+
+ The instance to release.
+ if the instance was found and released; otherwise .
+
+
+
+ Gets the bindings registered for the specified service.
+
+ The service in question.
+ A series of bindings that are registered for the service.
+
+
+
+ Begins a new activation block, which can be used to deterministically dispose resolved instances.
+
+ The new activation block.
+
+
+
+ Gets the kernel settings.
+
+
+
+
+ Gets the component container, which holds components that contribute to Ninject.
+
+
+
+
+ Contains configuration options for Ninject.
+
+
+
+
+ Gets the value for the specified key.
+
+ The type of value to return.
+ The setting's key.
+ The value to return if no setting is available.
+ The value, or the default value if none was found.
+
+
+
+ Sets the value for the specified key.
+
+ The setting's key.
+ The setting's value.
+
+
+
+ Gets the attribute that indicates that a member should be injected.
+
+
+
+
+ Gets the interval at which the cache should be pruned.
+
+
+
+
+ Gets a value indicating whether the kernel should automatically load extensions at startup.
+
+
+
+
+ Gets the path that should be searched for extensions.
+
+
+
+
+ Gets a value indicating whether Ninject should use reflection-based injection instead of
+ the (usually faster) lightweight code generation system.
+
+
+
+
+ Gets a value indicating whether Ninject should inject non public members.
+
+
+
+
+ A service that is started when activated, and stopped when deactivated.
+
+
+
+
+ Starts this instance. Called during activation.
+
+
+
+
+ Stops this instance. Called during deactivation.
+
+
+
+
+ The base implementation of an .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The modules to load into the kernel.
+
+
+
+ Initializes a new instance of the class.
+
+ The configuration to use.
+ The modules to load into the kernel.
+
+
+
+ Initializes a new instance of the class.
+
+ The component container to use.
+ The configuration to use.
+ The modules to load into the kernel.
+
+
+
+ Releases resources held by the object.
+
+
+
+
+ Unregisters all bindings for the specified service.
+
+ The service to unbind.
+
+
+
+ Registers the specified binding.
+
+ The binding to add.
+
+
+
+ Unregisters the specified binding.
+
+ The binding to remove.
+
+
+
+ Determines whether a module with the specified name has been loaded in the kernel.
+
+ The name of the module.
+ True if the specified module has been loaded; otherwise, false.
+
+
+
+ Gets the modules that have been loaded into the kernel.
+
+ A series of loaded modules.
+
+
+
+ Loads the module(s) into the kernel.
+
+ The modules to load.
+
+
+
+ Loads modules from the files that match the specified pattern(s).
+
+ The file patterns (i.e. "*.dll", "modules/*.rb") to match.
+
+
+
+ Loads modules defined in the specified assemblies.
+
+ The assemblies to search.
+
+
+
+ Unloads the plugin with the specified name.
+
+ The plugin's name.
+
+
+
+ Injects the specified existing instance, without managing its lifecycle.
+
+ The instance to inject.
+ The parameters to pass to the request.
+
+
+
+ Deactivates and releases the specified instance if it is currently managed by Ninject.
+
+ The instance to release.
+ if the instance was found and released; otherwise .
+
+
+
+ Determines whether the specified request can be resolved.
+
+ The request.
+ True if the request can be resolved; otherwise, false.
+
+
+
+ Resolves instances for the specified request. The instances are not actually resolved
+ until a consumer iterates over the enumerator.
+
+ The request to resolve.
+ An enumerator of instances that match the request.
+
+
+
+ Creates a request for the specified service.
+
+ The service that is being requested.
+ The constraint to apply to the bindings to determine if they match the request.
+ The parameters to pass to the resolution.
+ True if the request is optional; otherwise, false.
+ True if the request should return a unique result; otherwise, false.
+ The created request.
+
+
+
+ Gets the bindings registered for the specified service.
+
+ The service in question.
+ A series of bindings that are registered for the service.
+
+
+
+ Begins a new activation block, which can be used to deterministically dispose resolved instances.
+
+ The new activation block.
+
+
+
+ Creates a new builder for the specified binding.
+
+ The type restriction to apply to the binding builder.
+ The binding that will be built.
+ The created builder.
+
+
+
+ Adds components to the kernel during startup.
+
+
+
+
+ Attempts to handle a missing binding for a service.
+
+ The service.
+ True if the missing binding can be handled; otherwise false.
+
+
+
+ Returns a value indicating whether the specified service is self-bindable.
+
+ The service.
+ if the type is self-bindable; otherwise .
+
+
+
+ Creates a context for the specified request and binding.
+
+ The request.
+ The binding.
+ The created context.
+
+
+
+ Gets the kernel settings.
+
+
+
+
+ Gets the component container, which holds components that contribute to Ninject.
+
+
+
+
+ Contains configuration options for Ninject.
+
+
+
+
+ Gets the value for the specified key.
+
+ The type of value to return.
+ The setting's key.
+ The value to return if no setting is available.
+ The value, or the default value if none was found.
+
+
+
+ Sets the value for the specified key.
+
+ The setting's key.
+ The setting's value.
+
+
+
+ Gets or sets the attribute that indicates that a member should be injected.
+
+
+
+
+ Gets or sets the interval at which the GC should be polled.
+
+
+
+
+ Gets or sets a value indicating whether the kernel should automatically load extensions at startup.
+
+
+
+
+ Gets or sets the path that should be searched for extensions.
+
+
+
+
+ Gets a value indicating whether Ninject should use reflection-based injection instead of
+ the (usually faster) lightweight code generation system.
+
+
+
+
+ Gets a value indicating whether Ninject should inject non public members.
+
+
+
+
+ Provides callbacks to more aggressively collect objects scoped to HTTP requests.
+
+
+
+
+ Initializes the module.
+
+ The whose instances will be managed.
+
+
+
+ Start managing instances for the specified kernel.
+
+ The kernel.
+
+
+
+ Stops managing instances for the specified kernel.
+
+ The kernel.
+
+
+
+ Deactivates instances owned by the current .
+
+
+
+
+ The standard implementation of a kernel.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The modules to load into the kernel.
+
+
+
+ Initializes a new instance of the class.
+
+ The configuration to use.
+ The modules to load into the kernel.
+
+
+
+ Adds components to the kernel during startup.
+
+
+
+
diff --git a/Include/Ninject/extensions/CommonServiceLocator.NinjectAdapter.dll b/Include/Ninject/extensions/CommonServiceLocator.NinjectAdapter.dll
new file mode 100644
index 0000000..414464f
Binary files /dev/null and b/Include/Ninject/extensions/CommonServiceLocator.NinjectAdapter.dll differ
diff --git a/Include/Ninject/lib/Microsoft.Practices.ServiceLocation.dll b/Include/Ninject/lib/Microsoft.Practices.ServiceLocation.dll
new file mode 100644
index 0000000..3f88954
Binary files /dev/null and b/Include/Ninject/lib/Microsoft.Practices.ServiceLocation.dll differ
diff --git a/Include/Ninject/lib/System.Web.Abstractions.dll b/Include/Ninject/lib/System.Web.Abstractions.dll
new file mode 100644
index 0000000..317242e
Binary files /dev/null and b/Include/Ninject/lib/System.Web.Abstractions.dll differ
diff --git a/Include/Ninject/lib/System.Web.Mvc.dll b/Include/Ninject/lib/System.Web.Mvc.dll
new file mode 100644
index 0000000..10b038f
Binary files /dev/null and b/Include/Ninject/lib/System.Web.Mvc.dll differ
diff --git a/Include/Ninject/lib/System.Web.Routing.dll b/Include/Ninject/lib/System.Web.Routing.dll
new file mode 100644
index 0000000..93f0ff8
Binary files /dev/null and b/Include/Ninject/lib/System.Web.Routing.dll differ
diff --git a/Include/Tanshu.Common.dll b/Include/Tanshu.Common.dll
index 063d73d..6a6bd1b 100644
Binary files a/Include/Tanshu.Common.dll and b/Include/Tanshu.Common.dll differ
diff --git a/Tanshu.Accounts.Contracts/Attributes/NotNullAttribute.cs b/Tanshu.Accounts.Contracts/Attributes/NotNullAttribute.cs
index 5c7a241..466a725 100644
--- a/Tanshu.Accounts.Contracts/Attributes/NotNullAttribute.cs
+++ b/Tanshu.Accounts.Contracts/Attributes/NotNullAttribute.cs
@@ -6,7 +6,7 @@ using System.Text;
namespace Tanshu.Accounts.Contracts
{
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
- public class NotNullAttribute : Attribute
+ public class AllowNullAttribute : Attribute
{
private string message = string.Empty;
public string Message
diff --git a/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs b/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs
index 6ffcd5e..9ae7d73 100644
--- a/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs
+++ b/Tanshu.Accounts.Contracts/Data Contracts/InventoryBO.cs
@@ -9,9 +9,7 @@ namespace Tanshu.Accounts.Entities
public class Inventory
{
public virtual int InventoryID { get; set; }
- [NotNull]
public virtual Voucher Voucher { get; set; }
- [NotNull]
public virtual Product Product { get; set; }
private decimal quantity;
@@ -91,6 +89,13 @@ namespace Tanshu.Accounts.Entities
{ }
}
+ //public decimal DiscountAmount
+ //{
+ // get
+ // {
+ // return quantity * rate * (1 + tax) * (1 + serviceCharge) * discount;
+ // }
+ //}
protected void CalculateAmount()
{
amount = quantity * rate * (1 + tax) * (1 + serviceCharge) * (1 - discount);
diff --git a/Tanshu.Accounts.Contracts/Data Contracts/InventoryModifierBO.cs b/Tanshu.Accounts.Contracts/Data Contracts/InventoryModifierBO.cs
index 0ec01db..384028f 100644
--- a/Tanshu.Accounts.Contracts/Data Contracts/InventoryModifierBO.cs
+++ b/Tanshu.Accounts.Contracts/Data Contracts/InventoryModifierBO.cs
@@ -8,9 +8,7 @@ namespace Tanshu.Accounts.Entities
public class InventoryModifier
{
public virtual int InventoryModifierID { get; set; }
- [NotNull]
public virtual Inventory Inventory { get; set; }
- [NotNull]
public virtual Modifier Modifier { get; set; }
}
}
diff --git a/Tanshu.Accounts.Contracts/Data Contracts/ModifierBO.cs b/Tanshu.Accounts.Contracts/Data Contracts/ModifierBO.cs
index 5dc327f..286e8dd 100644
--- a/Tanshu.Accounts.Contracts/Data Contracts/ModifierBO.cs
+++ b/Tanshu.Accounts.Contracts/Data Contracts/ModifierBO.cs
@@ -11,7 +11,6 @@ namespace Tanshu.Accounts.Entities
public virtual int ModifierID { get; set; }
public virtual string Name { get; set; }
- [NotNull]
public virtual IList ProductGroupModifiers { get; set; }
public override int GetHashCode()
diff --git a/Tanshu.Accounts.Contracts/Data Contracts/SaleVoucherBO.cs b/Tanshu.Accounts.Contracts/Data Contracts/SaleVoucherBO.cs
index 5bc98b6..12399ac 100644
--- a/Tanshu.Accounts.Contracts/Data Contracts/SaleVoucherBO.cs
+++ b/Tanshu.Accounts.Contracts/Data Contracts/SaleVoucherBO.cs
@@ -13,6 +13,7 @@ namespace Tanshu.Accounts.Entities
public virtual Customer Customer { get; set; }
public virtual SettleOption Settled { get; set; }
public virtual bool Void { get; set; }
+ [AllowNull]
public virtual string VoidReason { get; set; }
public virtual bool Printed { get; set; }
public virtual string KotID { get; set; }
diff --git a/Tanshu.Accounts.PointOfSale/App.config b/Tanshu.Accounts.PointOfSale/App.config
index 77c1433..bbd28be 100644
--- a/Tanshu.Accounts.PointOfSale/App.config
+++ b/Tanshu.Accounts.PointOfSale/App.config
@@ -1,7 +1,6 @@
-
diff --git a/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs b/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs
index 92a4e46..377d640 100644
--- a/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs
+++ b/Tanshu.Accounts.PointOfSale/Controllers/BillController.cs
@@ -368,6 +368,7 @@ namespace Tanshu.Accounts.PointOfSale
}
}
bill.Remove(new BillItemKey(billInventory.ProductID, billInventory.Printed == 0));
+ bill.ReCompact();
ShowAmount();
}
diff --git a/Tanshu.Accounts.PointOfSale/Program.cs b/Tanshu.Accounts.PointOfSale/Program.cs
index ce46de7..c248b8b 100644
--- a/Tanshu.Accounts.PointOfSale/Program.cs
+++ b/Tanshu.Accounts.PointOfSale/Program.cs
@@ -5,6 +5,7 @@ using System.Windows.Forms;
using System.Threading;
using Tanshu.Accounts.Helpers;
using Tanshu.Accounts.Repository;
+using Tanshu.Accounts.Entities;
namespace Tanshu.Accounts.PointOfSale
{
@@ -17,7 +18,6 @@ namespace Tanshu.Accounts.PointOfSale
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
-
//log.Warn("Application Started");
Application.Run(new MainForm());
//log.Warn("Application Closed");
diff --git a/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.Designer.cs b/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.Designer.cs
index 211b40d..d3c48f7 100644
--- a/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.Designer.cs
+++ b/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.Designer.cs
@@ -65,12 +65,16 @@
this.txtAdvanceReceived = new System.Windows.Forms.TextBox();
this.txtReceipts = new System.Windows.Forms.TextBox();
this.txtOpening = new System.Windows.Forms.TextBox();
+ this.label11 = new System.Windows.Forms.Label();
+ this.NC = new System.Windows.Forms.Label();
+ this.txtBillToCompany = new System.Windows.Forms.TextBox();
+ this.txtNC = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// label18
//
this.label18.AutoSize = true;
- this.label18.Location = new System.Drawing.Point(12, 380);
+ this.label18.Location = new System.Drawing.Point(12, 432);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(68, 13);
this.label18.TabIndex = 71;
@@ -78,9 +82,10 @@
//
// txtClosingCash
//
- this.txtClosingCash.Location = new System.Drawing.Point(99, 377);
+ this.txtClosingCash.Location = new System.Drawing.Point(99, 429);
this.txtClosingCash.Name = "txtClosingCash";
this.txtClosingCash.ReadOnly = true;
+ this.txtClosingCash.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtClosingCash.Size = new System.Drawing.Size(200, 20);
this.txtClosingCash.TabIndex = 55;
//
@@ -103,7 +108,7 @@
// label17
//
this.label17.AutoSize = true;
- this.label17.Location = new System.Drawing.Point(12, 276);
+ this.label17.Location = new System.Drawing.Point(12, 328);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(85, 13);
this.label17.TabIndex = 67;
@@ -112,7 +117,7 @@
// label16
//
this.label16.AutoSize = true;
- this.label16.Location = new System.Drawing.Point(12, 302);
+ this.label16.Location = new System.Drawing.Point(12, 354);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(81, 13);
this.label16.TabIndex = 68;
@@ -121,7 +126,7 @@
// label15
//
this.label15.AutoSize = true;
- this.label15.Location = new System.Drawing.Point(12, 354);
+ this.label15.Location = new System.Drawing.Point(12, 406);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(53, 13);
this.label15.TabIndex = 70;
@@ -130,7 +135,7 @@
// label14
//
this.label14.AutoSize = true;
- this.label14.Location = new System.Drawing.Point(12, 406);
+ this.label14.Location = new System.Drawing.Point(12, 458);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(82, 13);
this.label14.TabIndex = 72;
@@ -139,7 +144,7 @@
// label13
//
this.label13.AutoSize = true;
- this.label13.Location = new System.Drawing.Point(12, 432);
+ this.label13.Location = new System.Drawing.Point(12, 484);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(37, 13);
this.label13.TabIndex = 73;
@@ -148,7 +153,7 @@
// label12
//
this.label12.AutoSize = true;
- this.label12.Location = new System.Drawing.Point(12, 328);
+ this.label12.Location = new System.Drawing.Point(12, 380);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(62, 13);
this.label12.TabIndex = 69;
@@ -156,7 +161,7 @@
//
// btnCalculate
//
- this.btnCalculate.Location = new System.Drawing.Point(12, 455);
+ this.btnCalculate.Location = new System.Drawing.Point(12, 507);
this.btnCalculate.Name = "btnCalculate";
this.btnCalculate.Size = new System.Drawing.Size(287, 23);
this.btnCalculate.TabIndex = 39;
@@ -166,7 +171,7 @@
//
// btnPrint
//
- this.btnPrint.Location = new System.Drawing.Point(12, 484);
+ this.btnPrint.Location = new System.Drawing.Point(12, 536);
this.btnPrint.Name = "btnPrint";
this.btnPrint.Size = new System.Drawing.Size(287, 23);
this.btnPrint.TabIndex = 40;
@@ -176,7 +181,7 @@
//
// txtStatus
//
- this.txtStatus.Location = new System.Drawing.Point(99, 429);
+ this.txtStatus.Location = new System.Drawing.Point(99, 481);
this.txtStatus.Name = "txtStatus";
this.txtStatus.ReadOnly = true;
this.txtStatus.Size = new System.Drawing.Size(200, 20);
@@ -184,25 +189,28 @@
//
// txtSales
//
- this.txtSales.Location = new System.Drawing.Point(99, 351);
+ this.txtSales.Location = new System.Drawing.Point(99, 403);
this.txtSales.Name = "txtSales";
this.txtSales.ReadOnly = true;
+ this.txtSales.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtSales.Size = new System.Drawing.Size(200, 20);
this.txtSales.TabIndex = 54;
this.txtSales.TextChanged += new System.EventHandler(this.txtSales_TextChanged);
//
// txtDeposited
//
- this.txtDeposited.Location = new System.Drawing.Point(99, 403);
+ this.txtDeposited.Location = new System.Drawing.Point(99, 455);
this.txtDeposited.Name = "txtDeposited";
+ this.txtDeposited.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtDeposited.Size = new System.Drawing.Size(200, 20);
this.txtDeposited.TabIndex = 38;
//
// txtPending
//
- this.txtPending.Location = new System.Drawing.Point(99, 325);
+ this.txtPending.Location = new System.Drawing.Point(99, 377);
this.txtPending.Name = "txtPending";
this.txtPending.ReadOnly = true;
+ this.txtPending.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtPending.Size = new System.Drawing.Size(200, 20);
this.txtPending.TabIndex = 53;
//
@@ -237,7 +245,7 @@
// label8
//
this.label8.AutoSize = true;
- this.label8.Location = new System.Drawing.Point(12, 250);
+ this.label8.Location = new System.Drawing.Point(12, 302);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(81, 13);
this.label8.TabIndex = 66;
@@ -246,7 +254,7 @@
// label7
//
this.label7.AutoSize = true;
- this.label7.Location = new System.Drawing.Point(12, 224);
+ this.label7.Location = new System.Drawing.Point(12, 276);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(82, 13);
this.label7.TabIndex = 65;
@@ -255,7 +263,7 @@
// label6
//
this.label6.AutoSize = true;
- this.label6.Location = new System.Drawing.Point(12, 198);
+ this.label6.Location = new System.Drawing.Point(12, 250);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(53, 13);
this.label6.TabIndex = 64;
@@ -264,7 +272,7 @@
// label5
//
this.label5.AutoSize = true;
- this.label5.Location = new System.Drawing.Point(12, 172);
+ this.label5.Location = new System.Drawing.Point(12, 224);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(73, 13);
this.label5.TabIndex = 63;
@@ -308,17 +316,19 @@
//
// txtPayments
//
- this.txtPayments.Location = new System.Drawing.Point(99, 195);
+ this.txtPayments.Location = new System.Drawing.Point(99, 247);
this.txtPayments.Name = "txtPayments";
this.txtPayments.ReadOnly = true;
+ this.txtPayments.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtPayments.Size = new System.Drawing.Size(200, 20);
this.txtPayments.TabIndex = 48;
//
// txtAdvanceAdjusted
//
- this.txtAdvanceAdjusted.Location = new System.Drawing.Point(99, 169);
+ this.txtAdvanceAdjusted.Location = new System.Drawing.Point(99, 221);
this.txtAdvanceAdjusted.Name = "txtAdvanceAdjusted";
this.txtAdvanceAdjusted.ReadOnly = true;
+ this.txtAdvanceAdjusted.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtAdvanceAdjusted.Size = new System.Drawing.Size(200, 20);
this.txtAdvanceAdjusted.TabIndex = 47;
//
@@ -327,38 +337,43 @@
this.txtCCReceipts.Location = new System.Drawing.Point(99, 143);
this.txtCCReceipts.Name = "txtCCReceipts";
this.txtCCReceipts.ReadOnly = true;
+ this.txtCCReceipts.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtCCReceipts.Size = new System.Drawing.Size(200, 20);
this.txtCCReceipts.TabIndex = 46;
//
// txtAdditionalVoids
//
- this.txtAdditionalVoids.Location = new System.Drawing.Point(99, 221);
+ this.txtAdditionalVoids.Location = new System.Drawing.Point(99, 273);
this.txtAdditionalVoids.Name = "txtAdditionalVoids";
this.txtAdditionalVoids.ReadOnly = true;
+ this.txtAdditionalVoids.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtAdditionalVoids.Size = new System.Drawing.Size(200, 20);
this.txtAdditionalVoids.TabIndex = 49;
//
// txtVoidsInSystem
//
- this.txtVoidsInSystem.Location = new System.Drawing.Point(99, 247);
+ this.txtVoidsInSystem.Location = new System.Drawing.Point(99, 299);
this.txtVoidsInSystem.Name = "txtVoidsInSystem";
this.txtVoidsInSystem.ReadOnly = true;
+ this.txtVoidsInSystem.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtVoidsInSystem.Size = new System.Drawing.Size(200, 20);
this.txtVoidsInSystem.TabIndex = 50;
//
// txtDiscounts
//
- this.txtDiscounts.Location = new System.Drawing.Point(99, 273);
+ this.txtDiscounts.Location = new System.Drawing.Point(99, 325);
this.txtDiscounts.Name = "txtDiscounts";
this.txtDiscounts.ReadOnly = true;
+ this.txtDiscounts.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtDiscounts.Size = new System.Drawing.Size(200, 20);
this.txtDiscounts.TabIndex = 51;
//
// txtRates
//
- this.txtRates.Location = new System.Drawing.Point(99, 299);
+ this.txtRates.Location = new System.Drawing.Point(99, 351);
this.txtRates.Name = "txtRates";
this.txtRates.ReadOnly = true;
+ this.txtRates.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtRates.Size = new System.Drawing.Size(200, 20);
this.txtRates.TabIndex = 52;
//
@@ -367,6 +382,7 @@
this.txtAdvanceReceived.Location = new System.Drawing.Point(99, 117);
this.txtAdvanceReceived.Name = "txtAdvanceReceived";
this.txtAdvanceReceived.ReadOnly = true;
+ this.txtAdvanceReceived.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtAdvanceReceived.Size = new System.Drawing.Size(200, 20);
this.txtAdvanceReceived.TabIndex = 45;
//
@@ -375,6 +391,7 @@
this.txtReceipts.Location = new System.Drawing.Point(99, 91);
this.txtReceipts.Name = "txtReceipts";
this.txtReceipts.ReadOnly = true;
+ this.txtReceipts.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtReceipts.Size = new System.Drawing.Size(200, 20);
this.txtReceipts.TabIndex = 44;
//
@@ -383,14 +400,55 @@
this.txtOpening.Location = new System.Drawing.Point(99, 65);
this.txtOpening.Name = "txtOpening";
this.txtOpening.ReadOnly = true;
+ this.txtOpening.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.txtOpening.Size = new System.Drawing.Size(200, 20);
this.txtOpening.TabIndex = 43;
//
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Location = new System.Drawing.Point(12, 198);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(79, 13);
+ this.label11.TabIndex = 77;
+ this.label11.Text = "Bill to Company";
+ //
+ // NC
+ //
+ this.NC.AutoSize = true;
+ this.NC.Location = new System.Drawing.Point(12, 172);
+ this.NC.Name = "NC";
+ this.NC.Size = new System.Drawing.Size(58, 13);
+ this.NC.TabIndex = 76;
+ this.NC.Text = "No Charge";
+ //
+ // txtBillToCompany
+ //
+ this.txtBillToCompany.Location = new System.Drawing.Point(99, 195);
+ this.txtBillToCompany.Name = "txtBillToCompany";
+ this.txtBillToCompany.ReadOnly = true;
+ this.txtBillToCompany.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.txtBillToCompany.Size = new System.Drawing.Size(200, 20);
+ this.txtBillToCompany.TabIndex = 75;
+ //
+ // txtNC
+ //
+ this.txtNC.Location = new System.Drawing.Point(99, 169);
+ this.txtNC.Name = "txtNC";
+ this.txtNC.ReadOnly = true;
+ this.txtNC.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.txtNC.Size = new System.Drawing.Size(200, 20);
+ this.txtNC.TabIndex = 74;
+ //
// Cashier_Checkout_Form
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(311, 519);
+ this.ClientSize = new System.Drawing.Size(311, 571);
+ this.Controls.Add(this.label11);
+ this.Controls.Add(this.NC);
+ this.Controls.Add(this.txtBillToCompany);
+ this.Controls.Add(this.txtNC);
this.Controls.Add(this.label18);
this.Controls.Add(this.txtClosingCash);
this.Controls.Add(this.dtpFinish);
@@ -477,5 +535,9 @@
private System.Windows.Forms.TextBox txtAdvanceReceived;
private System.Windows.Forms.TextBox txtReceipts;
private System.Windows.Forms.TextBox txtOpening;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.Label NC;
+ private System.Windows.Forms.TextBox txtBillToCompany;
+ private System.Windows.Forms.TextBox txtNC;
}
}
\ No newline at end of file
diff --git a/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.cs b/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.cs
index bc84994..5164b22 100644
--- a/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.cs
+++ b/Tanshu.Accounts.PointOfSale/Reports/CheckoutForm.cs
@@ -47,17 +47,20 @@ namespace Tanshu.Accounts.PointOfSale
dtpFinish.Value = Convert.ToDateTime(String.Format("{0:dd-MMM-yyyy} 23:59:59", dtpFinish.Value));
coProxy = new CheckoutBI((int)cmbCashier.SelectedValue, dtpStart.Value, dtpFinish.Value);
- txtOpening.Text = coProxy.Opening.ToString();
- txtReceipts.Text = coProxy.Receipts.ToString();
- txtAdvanceReceived.Text = coProxy.AdvanceReceipts.ToString();
- txtCCReceipts.Text = coProxy.CCReceipts.ToString();
- txtAdvanceAdjusted.Text = coProxy.AdvanceAdjusted.ToString();
- txtPayments.Text = coProxy.CashPayments.ToString();
- txtAdditionalVoids.Text = coProxy.AdditionalVoids.ToString();
- txtVoidsInSystem.Text = coProxy.VoidsInSystem.ToString();
- txtPending.Text = coProxy.PendingBills.ToString();
- txtSales.Text = coProxy.NetSales.ToString();
- txtClosingCash.Text = coProxy.ClosingBalance.ToString();
+ txtOpening.Text = string.Format("{0:#,##0.00}", coProxy);
+ txtReceipts.Text = string.Format("{0:#,##0.00}", coProxy.Receipts);
+ txtAdvanceReceived.Text = string.Format("{0:#,##0.00}", coProxy.AdvanceReceipts);
+ txtCCReceipts.Text = string.Format("{0:#,##0.00}", coProxy.CCReceipts);
+ txtNC.Text = string.Format("{0:#,##0.00}", coProxy.NCReceipts);
+ txtBillToCompany.Text = string.Format("{0:#,##0.00}", coProxy.BTCReceipts);
+ txtAdvanceAdjusted.Text = string.Format("{0:#,##0.00}", coProxy.AdvanceAdjusted);
+ txtPayments.Text = string.Format("{0:#,##0.00}", coProxy.CashPayments);
+ txtAdditionalVoids.Text = string.Format("{0:#,##0.00}", coProxy.AdditionalVoids);
+ txtVoidsInSystem.Text = string.Format("{0:#,##0.00}", coProxy.VoidsInSystem);
+ txtPending.Text = string.Format("{0:#,##0.00}", coProxy.PendingBills);
+ txtSales.Text = string.Format("{0:#,##0.00}", coProxy.NetSales);
+ txtClosingCash.Text = string.Format("{0:#,##0.00}", coProxy.ClosingBalance
+ );
txtStatus.Text = coProxy.Status;
}
diff --git a/Tanshu.Accounts.PointOfSale/Sales/SalesForm.cs b/Tanshu.Accounts.PointOfSale/Sales/SalesForm.cs
index 2c271b3..bb742ec 100644
--- a/Tanshu.Accounts.PointOfSale/Sales/SalesForm.cs
+++ b/Tanshu.Accounts.PointOfSale/Sales/SalesForm.cs
@@ -170,7 +170,7 @@ namespace Tanshu.Accounts.PointOfSale
}
else
{
- ControlFactory.GenerateTables(ref flpMain, ref buttonHeads, new Point(75, 75), 0, new FoodTableBI().GetFoodTables(), new ButtonClickDelegate(tableButton_Click));
+ ControlFactory.GenerateTables(ref flpMain, ref buttonHeads, new Point(75, 75), 0, new FoodTableBI().List(), new ButtonClickDelegate(tableButton_Click));
}
}
@@ -223,7 +223,7 @@ namespace Tanshu.Accounts.PointOfSale
int start = item.FoodTableID;
if (start < 0)
start = 0;
- var list = new FoodTableBI().GetFoodTables();
+ var list = new FoodTableBI().List();
ControlFactory.GenerateTables(ref flpMain, ref buttonHeads, new Point(75, 75), start, list, new ButtonClickDelegate(tableButton_Click));
}
else
diff --git a/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj b/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj
index 26f0bf7..ee2fcf0 100644
--- a/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj
+++ b/Tanshu.Accounts.PointOfSale/Tanshu.Accounts.PointOfSale.csproj
@@ -55,6 +55,10 @@
False
..\Include\Fluent\Castle.Core.dll
+
+ False
+ ..\Include\Windsor\Castle.Windsor.dll
+
False
..\Include\Fluent\FluentNHibernate.dll
@@ -101,7 +105,6 @@
False
..\Include\Tanshu.Common.dll
-
False
..\Include\Tanshu.Data.dll
diff --git a/Tanshu.Accounts.Print/Thermal.cs b/Tanshu.Accounts.Print/Thermal.cs
index 031a94b..ad12b36 100644
--- a/Tanshu.Accounts.Print/Thermal.cs
+++ b/Tanshu.Accounts.Print/Thermal.cs
@@ -162,6 +162,10 @@ namespace Tanshu.Accounts.Print
private static bool PrintRAW(PrintLocation printer, string Text, string DocumentName)
{
+#if (DEBUG)
+ System.Windows.Forms.MessageBox.Show(Text);
+ return true;
+#else
try
{
Text += printer.CutCode;
@@ -176,6 +180,7 @@ namespace Tanshu.Accounts.Print
throw ex;
}
return true;
+#endif
}
#region Print Cash Total
@@ -278,7 +283,7 @@ namespace Tanshu.Accounts.Print
string BillText;
try
{
- BillText = FormatText(string.Format("{0} Checkout By {1}", details.Cashier, details.Manager), 42, false, Align.Centre);
+ BillText = FormatText(string.Format("{0} Checkout By {1}", details.Cashier.Name, details.Manager), 42, false, Align.Centre);
BillText += string.Format("{0:dd-MMM-yy} To {1:dd-MMM-yy} @ {2:dd-MMM-yyyy HH:mm}", details.StartDate, details.FinishDate, DateTime.Now);
BillText += DrawLine;
BillText += string.Format("\n\rOpening : {0,26:#,##0.00}", details.Opening);
diff --git a/Tanshu.Accounts.SqlDAO/BusinessLayer/AdvanceBI.cs b/Tanshu.Accounts.SqlDAO/BusinessLayer/AdvanceBI.cs
index a1651be..9d0acef 100644
--- a/Tanshu.Accounts.SqlDAO/BusinessLayer/AdvanceBI.cs
+++ b/Tanshu.Accounts.SqlDAO/BusinessLayer/AdvanceBI.cs
@@ -7,6 +7,7 @@ using Tanshu.Data.DAO;
using Tanshu.Accounts.Entities;
using Tanshu.Accounts.SqlDAO;
using Tanshu.Accounts.Entities.Auth;
+using NHibernate;
namespace Tanshu.Accounts.Repository
{
@@ -29,14 +30,20 @@ namespace Tanshu.Accounts.Repository
finishDate = finishDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
using (var session = SessionManager.Session)
{
- var ab = from ad in session.QueryOver()
- where ad.DateIn >= startDate && ad.DateIn <= finishDate
- select ad;
+ var query = from ad in session.QueryOver()
+ where ad.DateIn >= startDate && ad.DateIn <= finishDate
+ select ad;
if (!all)
- ab = from a in ab
- where a.CashierOut == null
- select a;
- return ab.List();
+ query = from a in query
+ where a.CashierOut == null
+ select a;
+ var list = query.List();
+ foreach (var item in list)
+ {
+ NHibernateUtil.Initialize(item.CashierIn);
+ NHibernateUtil.Initialize(item.CashierOut);
+ }
+ return list;
}
}
public void Adjust(int advanceID, int userID)
diff --git a/Tanshu.Accounts.SqlDAO/BusinessLayer/CheckoutBI.cs b/Tanshu.Accounts.SqlDAO/BusinessLayer/CheckoutBI.cs
index 6599e34..4dd00e1 100644
--- a/Tanshu.Accounts.SqlDAO/BusinessLayer/CheckoutBI.cs
+++ b/Tanshu.Accounts.SqlDAO/BusinessLayer/CheckoutBI.cs
@@ -1,12 +1,14 @@
using System;
using System.Collections.Generic;
-//using System.Linq;
+using System.Linq;
using System.Text;
using System.Threading;
using System.Data.SqlClient;
using Tanshu.Data.DAO;
using Tanshu.Accounts.SqlDAO;
using Tanshu.Accounts.Entities;
+using Tanshu.Accounts.Entities.Auth;
+using NHibernate.Criterion;
namespace Tanshu.Accounts.Repository
{
@@ -17,6 +19,8 @@ namespace Tanshu.Accounts.Repository
public decimal Receipts { get; private set; }
public decimal AdvanceReceipts { get; private set; }
public decimal CCReceipts { get; private set; }
+ public decimal NCReceipts { get; private set; }
+ public decimal BTCReceipts { get; private set; }
public decimal AdvanceAdjusted { get; private set; }
public decimal CashPayments { get; private set; }
public decimal AdditionalVoids { get; private set; }
@@ -29,36 +33,21 @@ namespace Tanshu.Accounts.Repository
public decimal Excess { get; private set; } //
public string Status { get; private set; } //
public string Cashiers { get; private set; } //
- public int CashierID { get; private set; } //
- public string Cashier { get; private set; } //
+ public User Cashier { get; private set; }
public decimal OldPending { get; private set; }
public decimal OldReceipts { get; private set; }
public decimal OldVoided { get; private set; }
- public DateTime StartDate { get; private set; } //
- public DateTime FinishDate { get; private set; } //
+ public DateTime StartDate { get; private set; }
+ public DateTime FinishDate { get; private set; }
- private string pendingString;
- public string PendingString
- {
- get { return pendingString; }
- }
- private string cCString;
- public string CCString
- {
- get { return cCString; }
- }
- private string voidsString;
- public string VoidsString
- {
- get { return voidsString; }
- }
- private string discountString;
- public string DiscountString
- {
- get { return discountString; }
- }
+ public string PendingString { get; private set; }
+ public string CCString { get; private set; }
+ public string NCString { get; private set; }
+ public string BTCString { get; private set; }
+ public string VoidsString { get; private set; }
+ public string DiscountString { get; private set; }
//public string PendingString { get; private set; } //
//public string CCString { get; private set; } //
@@ -77,21 +66,29 @@ namespace Tanshu.Accounts.Repository
using (var session = SessionManager.Session)
{
//Actual Closing
- this.CashierID = cashier;
+ this.Cashier = UserBI.GetUser(cashier);
this.StartDate = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} 00:00:00", startDate));
this.FinishDate = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} 23:59:59", finishDate));
- Cashier = UserBI.GetUser(CashierID).Name;
- //PendingBills = dao.GetPending(ref pendingString);
- // CCReceipts = dao.GetCreditCard(ref cCString);
- // VoidsInSystem = dao.GetVoids(ref voidsString);
+ string info;
+ PendingBills = GetPending(out info);
+ PendingString = info;
+ CCReceipts = GetCreditCard(out info);
+ CCString = info;
+ NCReceipts = GetNoCharge(out info);
+ NCString = info;
+ BTCReceipts = GetBillToCompany(out info);
+ BTCString = info;
+ VoidsInSystem = GetVoids(out info);
+ VoidsString = info;
// Opening = dao.GetOpenings();
- // Receipts = dao.GetReceipts();
+ // Receipts = GetReceipts();
// CashPayments = dao.GetPayments();
// AdditionalVoids = dao.GetAdditionalVoids();
// RetainedOvernight = dao.GetRetainedOvernight();
- // AdvanceReceipts = dao.GetAdvancesReceived();
- // AdvanceAdjusted = dao.GetAdvancesAdjusted();
+
+ AdvanceReceipts = GetAdvancesReceived();
+ AdvanceAdjusted = GetAdvancesAdjusted();
// PaymentString = dao.GetPaymentString();
// OldPending = dao.GetOldPending();
@@ -99,17 +96,42 @@ namespace Tanshu.Accounts.Repository
// OldVoided = dao.GetOldVoided();
- // Cashiers = dao.GetActiveCashiers();
- // NetSales = dao.GetNetSales();
- // dao.GetDiscountsBills(ref discountString);
- // ClosingBalance = Opening
- // + Receipts
- // + AdvanceReceipts
- // - CCReceipts
- // - AdvanceAdjusted
- // - CashPayments
- // - AdditionalVoids
- // + NetSales;
+ //Cashiers = GetActiveCashiers();
+ NetSales = GetNetSales();
+ GetDiscountBills(.1M, out info);
+ DiscountString = info;
+ ClosingBalance = Opening
+ + Receipts
+ + AdvanceReceipts
+ - CCReceipts
+ - AdvanceAdjusted
+ - CashPayments
+ - AdditionalVoids
+ + NetSales;
+ }
+ }
+
+ private decimal GetAdvancesAdjusted()
+ {
+ using (var session = SessionManager.Session)
+ {
+ var amt = session.QueryOver()
+ .Where(i => i.DateOut >= StartDate && i.DateOut <= FinishDate && i.CashierOut == Cashier)
+ .SelectList(k => k.SelectSum(j => j.Amount))
+ .SingleOrDefault();
+ return amt;
+ }
+ }
+
+ private decimal GetAdvancesReceived()
+ {
+ using (var session = SessionManager.Session)
+ {
+ var amt = session.QueryOver()
+ .Where(i => i.DateIn >= StartDate && i.DateIn <= FinishDate && i.CashierIn == Cashier)
+ .SelectList(k => k.SelectSum(j => j.Amount))
+ .SingleOrDefault();
+ return amt;
}
}
public void Calculate(decimal cashDeposited, decimal retainedOvernight)
@@ -119,49 +141,155 @@ namespace Tanshu.Accounts.Repository
Excess = CashDeposited - ClosingBalance;
Status = string.Format("{0:Extra Cash Rs #,##0.00; Cash Short Rs #,##0.00;Cash Perfect}", Excess);
}
-// public decimal GetPending(ref string info)
-// {
-// using (var session = SessionManager.Session)
-// {
-// var a = from i in session.QueryOver()
-// where i.LastEditDate >= StartDate && i.LastEditDate <= FinishDate && i.User.UserID == userid
-// }
-// decimal amount = 0;
-// info = "";
-// string query = @"
-//SELECT t.Date, s.BillID, c.Name, SUM(i.Amount) AS Amount, SUM(Quantity * Rate * Discount) AS Discount FROM Vouchers t INNER JOIN SaleVoucher s ON t.VoucherID = s.VoucherID
-//INNER JOIN Inventory i ON t.VoucherID = i.VoucherID
-//INNER JOIN Customers c ON s.CustomerID = c.CustomerID
-//WHERE t.Type = 'S'
-//AND t.LastEditDate BETWEEN @StartDate AND @FinishDate AND t.UserID = @UserID
-//AND s.Void = 0 AND s.Paid = 0
-//GROUP BY t.Date, c.Name, s.BillID
-//";
-// using (SqlCommand cmd = new SqlCommand(query))
-// {
-// cmd.Parameters.AddWithValue("@StartDate", startDate);
-// cmd.Parameters.AddWithValue("@FinishDate", finishDate);
-// cmd.Parameters.AddWithValue("@UserID", userID);
+ private decimal GetPending(out string info)
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount;
+ info = "\n\r--- Pending Bills ------------------------";
+ var list = (from i in session.QueryOver()
+ where i.LastEditDate >= StartDate &&
+ i.LastEditDate <= FinishDate &&
+ i.User == Cashier &&
+ i.Void == false &&
+ i.Settled == SettleOptionFactory.OUnsettled
+ select i).List();
+ GetInfo(list, out amount, ref info);
+ return amount;
+ }
+ }
+ private decimal GetNoCharge(out string info)
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount;
+ info = "\n\r--- No Charge ----------------------------";
+ var list = (from i in session.QueryOver()
+ where i.LastEditDate >= StartDate &&
+ i.LastEditDate <= FinishDate &&
+ i.User == Cashier &&
+ i.Void == false &&
+ i.Settled == SettleOptionFactory.ONoCharge
+ select i).List();
+ GetInfo(list, out amount, ref info);
+ return amount;
+ }
+ }
+ private decimal GetBillToCompany(out string info)
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount;
+ info = "\n\r--- Bill To Company ----------------------";
+ var list = (from i in session.QueryOver()
+ where i.LastEditDate >= StartDate &&
+ i.LastEditDate <= FinishDate &&
+ i.User == Cashier &&
+ i.Void == false &&
+ i.Settled == SettleOptionFactory.OBillToCompany
+ select i).List();
+ GetInfo(list, out amount, ref info);
+ return amount;
+ }
+ }
+ private decimal GetCreditCard(out string info)
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount;
+ info = "\n\r--- Credit Card Bills --------------------";
+ var list = (from i in session.QueryOver()
+ where i.LastEditDate >= StartDate &&
+ i.LastEditDate <= FinishDate &&
+ i.User == Cashier &&
+ i.Void == false &&
+ i.Settled == SettleOptionFactory.OCreditCard
+ select i).List();
+ GetInfo(list, out amount, ref info);
+ return amount;
+ }
+ }
+ private decimal GetVoids(out string info)
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount;
+ info = "\n\r--- Void Bills ---------------------------";
+ var list = (from i in session.QueryOver()
+ where i.LastEditDate >= StartDate &&
+ i.LastEditDate <= FinishDate &&
+ i.User == Cashier &&
+ i.Void == true
+ select i).List();
+ GetInfo(list, out amount, ref info);
+ return amount;
+ }
+ }
+ private decimal GetDiscountBills(decimal disount, out string info)
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount;
+ info = "\n\r--- High Discount Bills ------------------";
+ string query = @"
+select v from SaleVoucher v
+inner join v.Inventories i
+where v.Date >= :startDate and v.Date <= :finishDate and v.User = :cashierID and v.Void = false and v.Settled != :unSettled and v.Settled != :noCharge
+and i.Discount >= :discount";
+ var list = session.CreateQuery(query)
+ .SetParameter("startDate", StartDate)
+ .SetParameter("finishDate", FinishDate)
+ .SetParameter("cashierID", Cashier.UserID)
+ .SetParameter("unSettled", SettleOptionFactory.Unsettled)
+ .SetParameter("noCharge", SettleOptionFactory.NoCharge)
+ .SetParameter("discount", disount)
+ .List();
-// using (IDataReader dr = connection.ExecuteReader(cmd))
-// {
-// if (dr.Read())
-// {
-// info = "\n\r--- Pending Bills ------------------------";
+ GetInfo(list, out amount, ref info);
+ return amount;
+ }
+ }
-// do
-// {
-// amount += dr.GetDecimal(3);
-// info += string.Format("\n\r{0:dd-MMM-yyyy HH:mm:ss} {1} {2}", dr.GetDateTime(0), dr.GetString(1), dr.GetString(2));
-// info += string.Format("\n\rAmount: {0:#0.00} :: Discount: {1:#0.00}", dr.GetDecimal(3), dr.GetDecimal(4));
-// info += "\n\r------------------------------------------";
-// } while (dr.Read());
-// }
-// }
-// }
-// return amount;
-// }
+ private decimal GetNetSales()
+ {
+ using (var session = SessionManager.Session)
+ {
+ decimal amount = 0;
+ string query = @"
+select sum(i.Amount) from SaleVoucher v
+inner join v.Inventories i
+where v.Date >= :startDate and v.Date <= :finishDate and v.User = :cashierID and v.Void = false and v.Settled != :unSettled and v.Settled != :noCharge";
+ amount = session.CreateQuery(query)
+ .SetParameter("startDate", StartDate)
+ .SetParameter("finishDate", FinishDate)
+ .SetParameter("cashierID", Cashier.UserID)
+ .SetParameter("unSettled", SettleOptionFactory.Unsettled)
+ .SetParameter("noCharge", SettleOptionFactory.NoCharge)
+ .UniqueResult();
+ return amount;
+ }
+ }
+
+ private void GetInfo(IList list, out decimal amount, ref string info)
+ {
+ amount = 0;
+ if (list.Count == 0)
+ {
+ info = string.Empty;
+ return;
+ }
+
+ foreach (var item in list)
+ {
+ decimal amt, disc;
+ amt = item.Inventories.Sum(x => x.Amount);
+ disc = item.Inventories.Sum(x => x.Quantity * x.Rate * (1 + x.Tax) * (1 + x.ServiceCharge) * x.Discount);
+ info += string.Format("\n\r{0:dd-MMM-yyyy HH:mm:ss} {1} {2}", item.Date, item.BillID, item.Customer.Name);
+ info += string.Format("\n\rAmount: {0:#0.00} :: Discount: {1:#0.00}", amt, disc);
+ info += "\n\r------------------------------------------";
+ amount += amt;
+ }
+ }
}
-
}
diff --git a/Tanshu.Accounts.SqlDAO/BusinessLayer/FoodTableBI.cs b/Tanshu.Accounts.SqlDAO/BusinessLayer/FoodTableBI.cs
index 4688497..4781d0c 100644
--- a/Tanshu.Accounts.SqlDAO/BusinessLayer/FoodTableBI.cs
+++ b/Tanshu.Accounts.SqlDAO/BusinessLayer/FoodTableBI.cs
@@ -6,45 +6,41 @@ using System.Data.SqlClient;
using Tanshu.Data.DAO;
using Tanshu.Accounts.Entities;
using Tanshu.Accounts.SqlDAO;
+using NHibernate;
namespace Tanshu.Accounts.Repository
{
public class FoodTableBI
{
+ ISession session;
+ public FoodTableBI()
+ {
+ this.session = SessionManager.Session;
+ }
+
public void Insert(FoodTable foodTable)
{
- using (var session = SessionManager.Session)
- {
- session.Save(foodTable);
- }
+ session.Save(foodTable);
}
public void Update(FoodTable foodTable)
{
- using (var session = SessionManager.Session)
- {
- session.Update(foodTable);
- }
+ session.Update(foodTable);
}
public void Delete(int foodTableID)
{
- using (var session = SessionManager.Session)
- {
- session.Delete(new FoodTable() { FoodTableID = foodTableID });
- }
+ session.Delete(new FoodTable() { FoodTableID = foodTableID });
}
- public FoodTable GetFoodTable(int foodTableID)
+ public FoodTable Get(int foodTableID)
{
- using (var session = SessionManager.Session)
- {
- return session.Get(foodTableID);
- }
+ return session.Get(foodTableID);
}
- public IList GetFoodTables()
+ public IList List()
{
- using (var session = SessionManager.Session)
- {
- return session.CreateCriteria().List();
- }
+ return session.CreateCriteria().List();
+ }
+ public void Dispose()
+ {
+ session.Dispose();
}
}
}
diff --git a/Tanshu.Accounts.SqlDAO/Fluent/AllowNullConvention.cs b/Tanshu.Accounts.SqlDAO/Fluent/AllowNullConvention.cs
new file mode 100644
index 0000000..32dbcbc
--- /dev/null
+++ b/Tanshu.Accounts.SqlDAO/Fluent/AllowNullConvention.cs
@@ -0,0 +1,33 @@
+//using System;
+//using FluentNHibernate.Conventions;
+//using System.Reflection;
+//using FluentNHibernate;
+//using FluentNHibernate.Conventions.Instances;
+//using FluentNHibernate.Conventions.Inspections;
+//using FluentNHibernate.Conventions.AcceptanceCriteria;
+//using Tanshu.Accounts.Contracts;
+
+//namespace Tanshu.Accounts.Conventions
+//{
+// public class AllowNullConvention : IPropertyConvention, IPropertyConventionAcceptance
+// {
+// public void Accept(IAcceptanceCriteria criteria)
+// {
+// criteria.Expect(
+// x => !this.IsNullableProperty(x)
+// || x.Property.MemberInfo.GetCustomAttributes(typeof(AllowNullAttribute), true).Length > 0);
+// }
+
+// public void Apply(IPropertyInstance instance)
+// {
+// instance.Nullable();
+// }
+
+// private bool IsNullableProperty(IExposedThroughPropertyInspector target)
+// {
+// var type = target.Property.PropertyType;
+
+// return type.Equals(typeof(string)) || (type.IsGenericType && type.GetGenericTypeDefinition().Equals(typeof(Nullable<>)));
+// }
+// }
+//}
diff --git a/Tanshu.Accounts.SqlDAO/Fluent/Fixtures.cs b/Tanshu.Accounts.SqlDAO/Fluent/Fixtures.cs
index fd30972..31e7b88 100644
--- a/Tanshu.Accounts.SqlDAO/Fluent/Fixtures.cs
+++ b/Tanshu.Accounts.SqlDAO/Fluent/Fixtures.cs
@@ -360,66 +360,66 @@ namespace Tanshu.Accounts.Repository
{
using (var session = SessionManager.StatelessSession)
{
- session.Insert(new FoodTable() { Name = "1" });
- session.Insert(new FoodTable() { Name = "2" });
- session.Insert(new FoodTable() { Name = "3" });
- session.Insert(new FoodTable() { Name = "4" });
- session.Insert(new FoodTable() { Name = "5" });
- session.Insert(new FoodTable() { Name = "6" });
- session.Insert(new FoodTable() { Name = "7" });
- session.Insert(new FoodTable() { Name = "8" });
- session.Insert(new FoodTable() { Name = "9" });
- session.Insert(new FoodTable() { Name = "10" });
- session.Insert(new FoodTable() { Name = "11" });
- session.Insert(new FoodTable() { Name = "12" });
- session.Insert(new FoodTable() { Name = "13" });
- session.Insert(new FoodTable() { Name = "14" });
- session.Insert(new FoodTable() { Name = "15" });
- session.Insert(new FoodTable() { Name = "16" });
- session.Insert(new FoodTable() { Name = "17" });
- session.Insert(new FoodTable() { Name = "18" });
- session.Insert(new FoodTable() { Name = "19" });
- session.Insert(new FoodTable() { Name = "20" });
- session.Insert(new FoodTable() { Name = "21" });
- session.Insert(new FoodTable() { Name = "22" });
- session.Insert(new FoodTable() { Name = "23" });
- session.Insert(new FoodTable() { Name = "24" });
- session.Insert(new FoodTable() { Name = "25" });
- session.Insert(new FoodTable() { Name = "26" });
- session.Insert(new FoodTable() { Name = "27" });
- session.Insert(new FoodTable() { Name = "28" });
- session.Insert(new FoodTable() { Name = "29" });
- session.Insert(new FoodTable() { Name = "30" });
- session.Insert(new FoodTable() { Name = "31" });
- session.Insert(new FoodTable() { Name = "32" });
- session.Insert(new FoodTable() { Name = "33" });
- session.Insert(new FoodTable() { Name = "34" });
- session.Insert(new FoodTable() { Name = "35" });
- session.Insert(new FoodTable() { Name = "36" });
- session.Insert(new FoodTable() { Name = "37" });
- session.Insert(new FoodTable() { Name = "38" });
- session.Insert(new FoodTable() { Name = "39" });
- session.Insert(new FoodTable() { Name = "40" });
- session.Insert(new FoodTable() { Name = "41" });
- session.Insert(new FoodTable() { Name = "42" });
- session.Insert(new FoodTable() { Name = "43" });
- session.Insert(new FoodTable() { Name = "44" });
- session.Insert(new FoodTable() { Name = "45" });
- session.Insert(new FoodTable() { Name = "46" });
- session.Insert(new FoodTable() { Name = "47" });
- session.Insert(new FoodTable() { Name = "48" });
- session.Insert(new FoodTable() { Name = "49" });
- session.Insert(new FoodTable() { Name = "50" });
- session.Insert(new FoodTable() { Name = "51" });
- session.Insert(new FoodTable() { Name = "52" });
- session.Insert(new FoodTable() { Name = "53" });
- session.Insert(new FoodTable() { Name = "54" });
- session.Insert(new FoodTable() { Name = "55" });
- session.Insert(new FoodTable() { Name = "56" });
- session.Insert(new FoodTable() { Name = "57" });
- session.Insert(new FoodTable() { Name = "58" });
- session.Insert(new FoodTable() { Name = "59" });
- session.Insert(new FoodTable() { Name = "60" });
+ session.Insert(new FoodTable() { Location = "", Name = "1" });
+ session.Insert(new FoodTable() { Location = "", Name = "2" });
+ session.Insert(new FoodTable() { Location = "", Name = "3" });
+ session.Insert(new FoodTable() { Location = "", Name = "4" });
+ session.Insert(new FoodTable() { Location = "", Name = "5" });
+ session.Insert(new FoodTable() { Location = "", Name = "6" });
+ session.Insert(new FoodTable() { Location = "", Name = "7" });
+ session.Insert(new FoodTable() { Location = "", Name = "8" });
+ session.Insert(new FoodTable() { Location = "", Name = "9" });
+ session.Insert(new FoodTable() { Location = "", Name = "10" });
+ session.Insert(new FoodTable() { Location = "", Name = "11" });
+ session.Insert(new FoodTable() { Location = "", Name = "12" });
+ session.Insert(new FoodTable() { Location = "", Name = "13" });
+ session.Insert(new FoodTable() { Location = "", Name = "14" });
+ session.Insert(new FoodTable() { Location = "", Name = "15" });
+ session.Insert(new FoodTable() { Location = "", Name = "16" });
+ session.Insert(new FoodTable() { Location = "", Name = "17" });
+ session.Insert(new FoodTable() { Location = "", Name = "18" });
+ session.Insert(new FoodTable() { Location = "", Name = "19" });
+ session.Insert(new FoodTable() { Location = "", Name = "20" });
+ session.Insert(new FoodTable() { Location = "", Name = "21" });
+ session.Insert(new FoodTable() { Location = "", Name = "22" });
+ session.Insert(new FoodTable() { Location = "", Name = "23" });
+ session.Insert(new FoodTable() { Location = "", Name = "24" });
+ session.Insert(new FoodTable() { Location = "", Name = "25" });
+ session.Insert(new FoodTable() { Location = "", Name = "26" });
+ session.Insert(new FoodTable() { Location = "", Name = "27" });
+ session.Insert(new FoodTable() { Location = "", Name = "28" });
+ session.Insert(new FoodTable() { Location = "", Name = "29" });
+ session.Insert(new FoodTable() { Location = "", Name = "30" });
+ session.Insert(new FoodTable() { Location = "", Name = "31" });
+ session.Insert(new FoodTable() { Location = "", Name = "32" });
+ session.Insert(new FoodTable() { Location = "", Name = "33" });
+ session.Insert(new FoodTable() { Location = "", Name = "34" });
+ session.Insert(new FoodTable() { Location = "", Name = "35" });
+ session.Insert(new FoodTable() { Location = "", Name = "36" });
+ session.Insert(new FoodTable() { Location = "", Name = "37" });
+ session.Insert(new FoodTable() { Location = "", Name = "38" });
+ session.Insert(new FoodTable() { Location = "", Name = "39" });
+ session.Insert(new FoodTable() { Location = "", Name = "40" });
+ session.Insert(new FoodTable() { Location = "", Name = "41" });
+ session.Insert(new FoodTable() { Location = "", Name = "42" });
+ session.Insert(new FoodTable() { Location = "", Name = "43" });
+ session.Insert(new FoodTable() { Location = "", Name = "44" });
+ session.Insert(new FoodTable() { Location = "", Name = "45" });
+ session.Insert(new FoodTable() { Location = "", Name = "46" });
+ session.Insert(new FoodTable() { Location = "", Name = "47" });
+ session.Insert(new FoodTable() { Location = "", Name = "48" });
+ session.Insert(new FoodTable() { Location = "", Name = "49" });
+ session.Insert(new FoodTable() { Location = "", Name = "50" });
+ session.Insert(new FoodTable() { Location = "", Name = "51" });
+ session.Insert(new FoodTable() { Location = "", Name = "52" });
+ session.Insert(new FoodTable() { Location = "", Name = "53" });
+ session.Insert(new FoodTable() { Location = "", Name = "54" });
+ session.Insert(new FoodTable() { Location = "", Name = "55" });
+ session.Insert(new FoodTable() { Location = "", Name = "56" });
+ session.Insert(new FoodTable() { Location = "", Name = "57" });
+ session.Insert(new FoodTable() { Location = "", Name = "58" });
+ session.Insert(new FoodTable() { Location = "", Name = "59" });
+ session.Insert(new FoodTable() { Location = "", Name = "60" });
}
}
#endregion
diff --git a/Tanshu.Accounts.SqlDAO/Fluent/NotNullConvention.cs b/Tanshu.Accounts.SqlDAO/Fluent/NotNullConvention.cs
index 58dda6e..6bf6dfd 100644
--- a/Tanshu.Accounts.SqlDAO/Fluent/NotNullConvention.cs
+++ b/Tanshu.Accounts.SqlDAO/Fluent/NotNullConvention.cs
@@ -1,24 +1,20 @@
-using System;
-using FluentNHibernate.Conventions;
-using System.Reflection;
-using FluentNHibernate;
-using FluentNHibernate.Conventions.Instances;
-using FluentNHibernate.Conventions.Inspections;
-using FluentNHibernate.Conventions.AcceptanceCriteria;
-using Tanshu.Accounts.Contracts;
+//using System;
+//using FluentNHibernate.Conventions;
+//using System.Reflection;
+//using FluentNHibernate;
+//using FluentNHibernate.Conventions.Instances;
+//using FluentNHibernate.Conventions.Inspections;
+//using FluentNHibernate.Conventions.AcceptanceCriteria;
+//using Tanshu.Accounts.Contracts;
-namespace Tanshu.Accounts.Conventions
-{
- public class NotNullConvention : IPropertyConvention
- {
- public void Apply(IPropertyInstance instance)
- {
- if (!HasAttribute(instance.Property.MemberInfo)) return;
- instance.Not.Nullable();
- }
- bool HasAttribute(ICustomAttributeProvider provider)
- {
- return provider.GetCustomAttributes(typeof(NotNullAttribute), false).Length == 1;
- }
- }
-}
+//namespace Tanshu.Accounts.Conventions
+//{
+// public class NotNullConvention : IPropertyConvention
+// {
+// public void Apply(IPropertyInstance instance)
+// {
+// instance.Not.Nullable();
+// }
+// }
+
+//}
diff --git a/Tanshu.Accounts.SqlDAO/Fluent/QueryStore.cs b/Tanshu.Accounts.SqlDAO/Fluent/QueryStore.cs
index 58c17c2..caa2cb2 100644
--- a/Tanshu.Accounts.SqlDAO/Fluent/QueryStore.cs
+++ b/Tanshu.Accounts.SqlDAO/Fluent/QueryStore.cs
@@ -29,9 +29,7 @@ namespace Tanshu.Accounts.SqlDAO
public class NHSQLInterceptor : EmptyInterceptor, IInterceptor
{
- SqlString
- IInterceptor.OnPrepareStatement
- (SqlString sql)
+ SqlString IInterceptor.OnPrepareStatement(SqlString sql)
{
QueryStore.Query = sql.ToString();
return sql;
diff --git a/Tanshu.Accounts.SqlDAO/Fluent/SetupStore.cs b/Tanshu.Accounts.SqlDAO/Fluent/SetupStore.cs
index 2b90e44..08bc0d7 100644
--- a/Tanshu.Accounts.SqlDAO/Fluent/SetupStore.cs
+++ b/Tanshu.Accounts.SqlDAO/Fluent/SetupStore.cs
@@ -51,7 +51,8 @@ namespace Tanshu.Accounts.Repository
c.Add();
c.Add();
c.Add();
- c.Add();
+ //c.Add();
+ //c.Add();
//c.Add(DefaultLazy.Never());
//c.Add();
});
diff --git a/Tanshu.Accounts.SqlDAO/Ninject/QueryStore.cs b/Tanshu.Accounts.SqlDAO/Ninject/QueryStore.cs
new file mode 100644
index 0000000..a8010ad
--- /dev/null
+++ b/Tanshu.Accounts.SqlDAO/Ninject/QueryStore.cs
@@ -0,0 +1,24 @@
+//using System;
+//using System.Collections.Generic;
+//using System.Linq;
+//using System.Text;
+//using FluentNHibernate.Conventions;
+//using FluentNHibernate.Conventions.Instances;
+//using NHibernate;
+//using NHibernate.SqlCommand;
+//using System.Diagnostics;
+//using Ninject.Modules;
+
+//namespace Tanshu.Accounts.Repository
+//{
+// public class RepositoryModule : NinjectModule
+// {
+// public override void Load()
+// {
+// Bind().ToMethod(m => SessionRepository.GetSessionFactory()).InSingletonScope();
+// Bind().ToMethod (m=>m.Kernel.
+// Bind().To();
+// Bind().ToSelf();
+// }
+// }
+//}
diff --git a/Tanshu.Accounts.SqlDAO/Ninject/SessionRepository.cs b/Tanshu.Accounts.SqlDAO/Ninject/SessionRepository.cs
new file mode 100644
index 0000000..af4b6a0
--- /dev/null
+++ b/Tanshu.Accounts.SqlDAO/Ninject/SessionRepository.cs
@@ -0,0 +1,48 @@
+//using FluentNHibernate.Automapping;
+//using FluentNHibernate.Cfg;
+//using FluentNHibernate.Cfg.Db;
+//using NHibernate;
+//using NHibernate.Cfg;
+//using Tanshu.Accounts.Conventions;
+//using Tanshu.Accounts.Entities;
+//using Tanshu.Accounts.SqlDAO;
+
+//namespace Tanshu.Accounts.Repository
+//{
+// public class SessionRepository
+// {
+// public static Configuration GetConfiguration()
+// {
+// var storeConfiguration = new StoreConfiguration();
+// var persistenceModel = AutoMap.AssemblyOf(storeConfiguration)
+// .Conventions.Setup(c =>
+// {
+// c.Add();
+// c.Add();
+// c.Add();
+// c.Add();
+// c.Add();
+// //c.Add(DefaultLazy.Never());
+// //c.Add();
+// });
+
+// return Fluently.Configure()
+// .Database(MsSqlConfiguration.MsSql2005.ConnectionString(p => p.FromConnectionStringWithKey("FluentCon")))
+// .Mappings(m => m.AutoMappings.Add(persistenceModel))
+// .BuildConfiguration()
+// .SetInterceptor(new NHSQLInterceptor());
+// }
+// public static ISessionFactory GetSessionFactory()
+// {
+// return GetConfiguration().BuildSessionFactory();
+// }
+// public static ISession GetSession(ISessionFactory factory)
+// {
+// return factory.OpenSession();
+// }
+// public static IStatelessSession GetStatelessSession(ISessionFactory factory)
+// {
+// return factory.OpenStatelessSession();
+// }
+// }
+//}
\ No newline at end of file
diff --git a/Tanshu.Accounts.SqlDAO/Tanshu.Accounts.Repository.csproj b/Tanshu.Accounts.SqlDAO/Tanshu.Accounts.Repository.csproj
index 23302b2..682d24f 100644
--- a/Tanshu.Accounts.SqlDAO/Tanshu.Accounts.Repository.csproj
+++ b/Tanshu.Accounts.SqlDAO/Tanshu.Accounts.Repository.csproj
@@ -40,9 +40,9 @@
False
..\Include\Fluent\Castle.Core.dll
-
+
False
- ..\Include\Fluent\Castle.DynamicProxy2.dll
+ ..\Include\Windsor\Castle.Windsor.dll
False
@@ -52,10 +52,6 @@
False
..\Include\Fluent\Iesi.Collections.dll
-
- False
- ..\Include\Fluent\log4net.dll
-
False
..\Include\Fluent\NHibernate.dll
@@ -64,6 +60,10 @@
False
..\Include\Fluent\NHibernate.ByteCode.Castle.dll
+
+ False
+ ..\Include\Ninject\Ninject.dll
+
@@ -96,6 +96,8 @@
+
+
@@ -121,6 +123,7 @@
+