Click here to Skip to main content
15,885,216 members
Articles / Desktop Programming / WPF

Introduction to Model Driven Development with Sculpture – Part 1

Rate me:
Please Sign up or sign in to vote.
5.00/5 (23 votes)
3 Sep 2008CPOL15 min read 114.7K   759   124  
This article introduces how to create and manage .NET enterprise applications using your favorite technology (Data Access Application Block, LINQ, NHibernate, ASMX, and WCF) with the Model Driven Development approach by Sculpture.
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by Sculpture Code Generation Engine.
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
//     Generated On : 28/08/2008 06:20:10 م
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using NHibernate;
using NHibernate.Expression;
using System.Collections.Generic;
using Entities;

namespace DataAccess
{
	
	/// <summary>
	/// Data Repository Class - ProductsRepository
	/// </summary>
	public partial class ProductsRepository : RepositoryBase, IProductsRepository
	{
	
		#region Select Methods
		
		public List<Products> GetAll()
		{
			List<Products> productsList = new List<Products>();
            NHibernateSession.CreateCriteria(typeof(Products)).List(productsList);
            return productsList;
		}
		
		public Products GetById(System.Int32 productid)
		{
			return NHibernateSession.Load(typeof(Products), productid) as Products;
		}
		
		public List<Products> Find(string ConditionString)
		{
			
			if (string.IsNullOrEmpty(ConditionString))
            {
				List<Products> productsList = new List<Products>();
				NHibernateSession.CreateCriteria(typeof(Products)).List(productsList);
				return productsList;
            }
            else
            {
                IQuery query = NHibernateSession.CreateQuery(string.Format("From {0} where {1}", "Products", ConditionString));
				return new List<Products>(query.List<Products>());
            }
		}
		

		public List<Products> GetByCategories(System.Int32 CategoryID)
		{
			List<Products> _Products = new List<Products>();
			ICriteria criteria = NHibernateSession.CreateCriteria(typeof(Products));
			criteria.Add(Expression.Eq("CategoryID", CategoryID));
			criteria.List(_Products);
			return _Products;
		}

		#endregion
		
		#region Insert Methods
		
		public void Insert(Products _Products)
		{
			NHibernateSession.Save(_Products);
			_Products.EntityState = EntityState.Unchanged;
		}
		
		public void Insert(List<Products> _Productss)
		{
			foreach(Products _Products in _Productss)
			{
				NHibernateSession.Save(_Products);
				_Products.EntityState = EntityState.Unchanged;
			}
		}
		
		#endregion
		
		#region Update Methods
		
		public void Update(Products _Products)
		{
			NHibernateSession.SaveOrUpdate(_Products);
			_Products.EntityState = EntityState.Unchanged;
		}
		
		public void Update(List<Products> _Productss)
		{
			foreach(Products _Products in _Productss)
			{
				NHibernateSession.SaveOrUpdate(_Products);
				_Products.EntityState = EntityState.Unchanged;
            }
		}
		
		#endregion
		
		#region Delete Methods
		
		public void Delete(Products _Products)
		{
			NHibernateSession.Delete(_Products);
			_Products.EntityState = EntityState.Deleted;
		}
		
		public void Delete(List<Products> _Productss)
		{
			foreach(Products _Products in _Productss)
			{
				NHibernateSession.Delete(_Products);
				_Products.EntityState = EntityState.Deleted;
			}
		}
		
		public void Delete(string ConditionString)
		{
			foreach(Products _Products in Find(ConditionString))
			{
				NHibernateSession.Delete(_Products);
				_Products.EntityState = EntityState.Deleted;
			}
		}
		
		#endregion

	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer www.Dawliasoft.com
Egypt Egypt
Program Manager in Sculpture project, Interesting in .NET Model driven development.

Comments and Discussions