Click here to Skip to main content
15,891,951 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 115.9K   760   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 05:49:33 م
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Data;
using System.Linq;
using System.Data.Linq;
using System.Collections.Generic;
using Entities;

namespace  DataAccess
{
	
	/// <summary>
	/// Data Repository Class - CategoriesRepository
	/// </summary>
	public partial class CategoriesRepository : RepositoryBase<Categories>, ICategoriesRepository
	{
		
		#region Select Methods
		
		public List<Categories> GetAll()
		{
			return new List<Categories>(_entityTable.ToList());
		}
		
		public Categories GetById(System.Int32 categoryid)
		{
			return (from _Categories in _entityTable
					where (_Categories.CategoryID == categoryid)
					select _Categories).Single<Categories>();
		}
		
		public List<Categories> Find(string ConditionString)
		{
			
			if (string.IsNullOrEmpty(ConditionString))
                return new List<Categories>(_entityTable.ToList());
            else
            {
                string sql = string.Format("select * from {0} where {1}", "dbo.Categories", ConditionString);
                return new List<Categories>(DataContext.ExecuteQuery<Categories>(sql).ToList());
            }
		}
		

		#endregion
		
		#region Insert Methods
		
		public void Insert(Categories _Categories)
		{
			_entityTable.InsertOnSubmit(_Categories);
			_Categories.EntityState = EntityState.Unchanged;
		}
		
		public void Insert(List<Categories> _Categoriess)
		{
			foreach(Categories _Categories in _Categoriess)
			{
				_entityTable.InsertOnSubmit(_Categories);
				_Categories.EntityState = EntityState.Unchanged;
			}
		}
		
		#endregion
		
		#region Update Methods
		
		public void Update(Categories _Categories)
		{
			if(!_entityTable.Contains(_Categories))
                _entityTable.Attach(_Categories);
			_Categories.EntityState = EntityState.Unchanged;
			
		}
		
		public void Update(List<Categories> _Categoriess)
		{
			foreach(Categories _Categories in _Categoriess)
			{
				if(!_entityTable.Contains(_Categories))
					_entityTable.Attach(_Categories);
				_Categories.EntityState = EntityState.Unchanged;
            }
		}
		
		#endregion
		
		#region Delete Methods
		
		public void Delete(Categories _Categories)
		{
			if(!_entityTable.Contains(_Categories))
                _entityTable.Attach(_Categories);
			_entityTable.DeleteOnSubmit(_Categories);
			_Categories.EntityState = EntityState.Deleted;
		}
		
		public void Delete(List<Categories> _Categoriess)
		{
			foreach(Categories _Categories in _Categoriess)
			{
				if(!_entityTable.Contains(_Categories))
					_entityTable.Attach(_Categories);
				_entityTable.DeleteOnSubmit(_Categories);
				
				_Categories.EntityState = EntityState.Deleted;
			}
		}
		
		public void Delete(string ConditionString)
		{
			foreach(Categories _Categories in Find(ConditionString))
			{
				if(!_entityTable.Contains(_Categories))
					_entityTable.Attach(_Categories);
				_entityTable.DeleteOnSubmit(_Categories);
				_Categories.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