EchoTex_Payroll/Ease.Core/Model/ServiceTemplate.cs

107 lines
2.7 KiB
C#
Raw Permalink Normal View History

2024-10-14 10:01:49 +06:00
/*
|-------------------------------------------------------------------------------|
| Copyright © Computer Ease Limited |
| Address: 1/9 Bloack-A Lalmatia, Dhaka-1207, Bangladesh |
| Email: info@celimited.com, cease@bol-online.com, web: www.celimited.com |
| Unauthorized copy or distribution is strictly prohibited |
| Author: S. M. Russel, Last modified date: 18/04/2009 |
|-------------------------------------------------------------------------------|
*/
using System;
using System.Data;
using System.Data.SqlClient;
using Ease.Core.Model;
using System.Collections.Generic;
using Ease.Core;
using Ease.Core.DataAccess;
namespace Ease.Core.Model
{
#region Framework: Service base
public abstract class ServiceTemplate
{
private string _svcName;
private string _endPoint;
public ServiceTemplate(string svcName)
{
_svcName = svcName;
}
public ServiceTemplate()
{
_svcName = "";
}
public bool IsAlive
{
get { return true; }
}
public string ServiceName
{
get { return _svcName; }
set { _svcName = value; }
}
internal void SetEndPoint(string value)
{
_endPoint = value;
}
protected string EndPoint
{
get { return _endPoint; }
}
protected void SetObjectID(ObjectTemplate ot, int id)
{
ot.SetID(id);
}
protected void SetObjectID(ObjectTemplate ot, long id)
{
ot.SetID((int)id);
}
protected void SetObjectState(ObjectTemplate ot, ObjectState state)
{
ot.SetState(state);
}
protected void SetObjectReadOnlyProperties(ObjectTemplate ot, params object[] propertyValues)
{
ot.SetReadOnlyProperties(propertyValues);
}
protected abstract T CreateObject<T>(DataReader dr)
where T : ObjectTemplate;
/// <summary>
/// Return collection of objects of type T.
/// </summary>
/// <typeparam name="T">Type of object.</typeparam>
/// <param name="dr">A valid datareader.</param>
/// <returns>Return List of type T.</returns>
protected List<T> CreateObjects<T>(DataReader dr)
where T : ObjectTemplate
{
List<T> list = new List<T>();
while (dr.Read())
{
T ot = this.CreateObject<T>(dr);
ot.SetState(ObjectState.Saved);
list.Add(ot);
}
return list;
}
}
#endregion
}