Example Data Class (C#) - mpavey/sql-code-gen GitHub Wiki
Data.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Sandbox.Utilities;
namespace Sandbox
{
public class Fields
{
public Model.Field Get(int FieldID)
{
// validate
if (FieldID < 1)
{
return new Model.Field();
}
// lookup
List<Model.Field> x = List(FieldID: FieldID);
// return
if (x.Count > 0)
{
return x.First();
}
else
{
return new Model.Field();
}
}
public List<Model.Field> List(Int32 FieldID = 0)
{
// variables
Database DB = DatabaseFactory.CreateDatabase();
List<Model.Field> Fields = new List<Model.Field>();
// command
using (DbCommand cmd = DB.GetStoredProcCommand("dbo.Fields_List"))
{
// parameters
DB.AddInParameter(cmd, "@FieldID", DbType.Int32, FieldID);
// execute query and get results
using (DataTable DT = new DataTable())
{
using (IDataReader IDR = DB.ExecuteReader(cmd))
{
if (IDR != null)
{
DT.Load(IDR);
}
}
// convert to business object
Fields = DT.ToList<Model.Field>().ToList();
}
}
// return list
return Fields;
}
public int Save(Model.Field Field)
{
// variables
Database DB = DatabaseFactory.CreateDatabase();
int ReturnValue = -1;
// command
using (DbCommand cmd = DB.GetStoredProcCommand("dbo.Fields_List"))
{
// parameters
DB.AddInParameter(cmd, "@FieldID", DbType.Int32, Field.FieldID);
// return value parameter
DB.AddParameter(cmd, "@ReturnValue", DbType.Int32, 4, ParameterDirection.ReturnValue, false, 0, 0, "@ReturnValue", DataRowVersion.Default, null);
// execute query
DB.ExecuteNonQuery(cmd);
// get return value
ReturnValue = (int)DB.GetParameterValue(cmd, "@ReturnValue");
}
// return value
return ReturnValue;
}
public int Delete(int FieldID)
{
// variables
Database DB = DatabaseFactory.CreateDatabase();
int ReturnValue = -1;
// command
using (DbCommand cmd = DB.GetStoredProcCommand("dbo.Fields_Delete"))
{
// parameters
DB.AddInParameter(cmd, "@FieldID", DbType.Int32, FieldID);
// return value parameter
DB.AddParameter(cmd, "@ReturnValue", DbType.Int32, 4, ParameterDirection.ReturnValue, false, 0, 0, "@ReturnValue", DataRowVersion.Default, null);
// execute query
DB.ExecuteNonQuery(cmd);
// get return value
ReturnValue = (int)DB.GetParameterValue(cmd, "@ReturnValue");
}
// return value
return ReturnValue;
}
}
}