465 lines
13 KiB
C#
465 lines
13 KiB
C#
using System;
|
|
using System.Data;
|
|
using Ease.Core.Model;
|
|
using Ease.Core.DataAccess;
|
|
using Ease.Core;
|
|
using System.Collections.Generic;
|
|
using Ease.Core.Utility;
|
|
using HRM.BO;
|
|
using HRM.DA;
|
|
|
|
//using HRM.BO.Fund;
|
|
|
|
namespace HRM.DA.Fund
|
|
{
|
|
public class ProcessActivityService : ServiceTemplate
|
|
{
|
|
public ProcessActivityService()
|
|
{
|
|
}
|
|
|
|
private void MapObject(ProcessActivity ProcessActivity, DataReader dr)
|
|
{
|
|
base.SetObjectID(ProcessActivity, dr.GetInt32("ActivityID").Value);
|
|
ProcessActivity.Serial = dr.GetInt32("Serial").Value;
|
|
ProcessActivity.ProjectID = dr.GetInt32("ProjectID").Value;
|
|
ProcessActivity.ProcessID = dr.GetInt32("ProcessID").Value;
|
|
ProcessActivity.Description = dr.GetString("Description");
|
|
ProcessActivity.ActivityRelatedTo = dr.GetInt32("ActivityRelatedTo").Value;
|
|
ProcessActivity.RelatedValue = dr.GetInt32("RelatedValue").Value;
|
|
|
|
ProcessActivity.CreatedBy = dr.GetInt32("CreatedBy").Value;
|
|
ProcessActivity.CreatedDate = dr.GetDateTime("CreatedDate").Value;
|
|
ProcessActivity.ModifiedBy =
|
|
dr.GetInt32("ModifiedBy").Value != null ? dr.GetInt32("ModifiedBy").Value : (0);
|
|
ProcessActivity.ModifiedDate = dr.GetDateTime("ModifiedDate") != null
|
|
? dr.GetDateTime("ModifiedDate")
|
|
: DateTime.MinValue;
|
|
base.SetObjectState(ProcessActivity, ObjectState.Saved);
|
|
}
|
|
|
|
protected override T CreateObject<T>(DataReader dr)
|
|
{
|
|
ProcessActivity ProcessActivity = new ProcessActivity();
|
|
|
|
MapObject(ProcessActivity, dr);
|
|
|
|
return ProcessActivity as T;
|
|
}
|
|
|
|
private ProcessActivity CreateObject(DataReader oReader)
|
|
{
|
|
ProcessActivity oProcessActivity = new ProcessActivity();
|
|
MapObject(oProcessActivity, oReader);
|
|
return oProcessActivity;
|
|
}
|
|
|
|
private List<ProcessActivity> CreateObjects(IDataReader oReader)
|
|
{
|
|
List<ProcessActivity> oProcessActivitys = new List<ProcessActivity>();
|
|
DataReader oreader = new DataReader(oReader);
|
|
while (oreader.Read())
|
|
{
|
|
ProcessActivity oItem = CreateObject(oreader);
|
|
oProcessActivitys.Add(oItem);
|
|
}
|
|
|
|
return oProcessActivitys;
|
|
}
|
|
|
|
#region Service Implementation
|
|
|
|
#region GetMaxSerial
|
|
|
|
public int GetMaxSerial()
|
|
{
|
|
int maxSerial = 0;
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
maxSerial = ProcessActivityDA.GetMaxSerial(tc);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw e;
|
|
}
|
|
|
|
return maxSerial;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Insert
|
|
|
|
public bool Save(ProcessActivity processActivity)
|
|
{
|
|
//string serviceName = "FM.Services." + processActivity.SupportObjType.Name + "Service";
|
|
//string sPath = Application.StartupPath + @"\FM.Services.dll";
|
|
//Assembly oAssembly = Assembly.LoadFile(sPath);
|
|
//Type tempService = oAssembly.GetType(serviceName, true);
|
|
//ConstructorInfo cInfo = tempService.GetConstructor(new Type[] { });
|
|
//object oSerInstance = cInfo.Invoke(null);
|
|
//MethodInfo mInfo = tempService.GetMethod("UpdateActivityInfo", BindingFlags.Instance|BindingFlags.Public| BindingFlags.NonPublic);//null ,new Type[] { typeof(TransactionContext), typeof(Ease.CoreV35.Model.ID), typeof(Ease.CoreV35.Model.ID) }, null);
|
|
//MethodInfo mInfo = tempService.GetMethod("UpdateActivityInfo", BindingFlags.NonPublic,null ,new Type[] { typeof(TransactionContext), typeof(Ease.CoreV35.Model.ID), typeof(Ease.CoreV35.Model.ID) }, null);
|
|
|
|
TransactionContext tc = null;
|
|
bool flag = false;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
ActivityVoucherSetupService activitySetupService = new ActivityVoucherSetupService();
|
|
if (processActivity.IsNew)
|
|
{
|
|
int id = tc.GenerateID("ProcessActivity", "ActivityID");
|
|
base.SetObjectID(processActivity, (id));
|
|
ProcessActivityDA.Insert(tc, processActivity);
|
|
}
|
|
else
|
|
{
|
|
processActivity.ModifiedBy = processActivity.CreatedBy;
|
|
processActivity.ModifiedDate = DateTime.Now;
|
|
ProcessActivityDA.Update(tc, processActivity);
|
|
}
|
|
|
|
foreach (ActivityVoucherSetup oNVS in processActivity.VoucherSetupCol)
|
|
{
|
|
if (oNVS.IsNew)
|
|
{
|
|
int setupID = tc.GenerateID("ActivityVoucherSetup", "SetupID");
|
|
base.SetObjectID(oNVS, (setupID));
|
|
oNVS.Status = EnumVoucherSetupStatus.Active;
|
|
oNVS.CreatedBy = oNVS.CreatedBy;
|
|
oNVS.CreatedDate = DateTime.Now;
|
|
oNVS.ActivityID = processActivity.ID;
|
|
ActivityVoucherSetupDA.Insert(tc, oNVS);
|
|
}
|
|
}
|
|
|
|
tc.End();
|
|
flag = true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return flag;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region UpdatePosition
|
|
|
|
public void UpdatePosition(List<ProcessActivity> processActivitys)
|
|
{
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
foreach (ProcessActivity item in processActivitys)
|
|
{
|
|
ProcessActivityDA.UpdatePosition(tc, item);
|
|
}
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw new ServiceException("Failed to update position ProcessActivity", e);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Delete
|
|
|
|
public void Delete(int id)
|
|
{
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
|
|
ProcessActivityDA.Delete(tc, id);
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Get(By ID)
|
|
|
|
public ProcessActivity Get(int ID)
|
|
{
|
|
#region Cache Header
|
|
|
|
ProcessActivity ProcessActivity = new ProcessActivity();
|
|
if (ProcessActivity != null)
|
|
return ProcessActivity;
|
|
|
|
#endregion
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
IDataReader dr = ProcessActivityDA.Get(tc, ID);
|
|
DataReader oreader = new DataReader(dr);
|
|
ProcessActivity = CreateObject(oreader);
|
|
dr.Close();
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
#region Cache Footer
|
|
|
|
#endregion
|
|
|
|
return ProcessActivity;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetbyProjectID(By ID)
|
|
|
|
public List<ProcessActivity> GetbyProjectID(int ID)
|
|
{
|
|
#region Cache Header
|
|
|
|
List<ProcessActivity> ProcessActivity = new List<ProcessActivity>();
|
|
if (ProcessActivity != null)
|
|
return ProcessActivity;
|
|
|
|
#endregion
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
IDataReader dr = ProcessActivityDA.GetbyProjectID(tc, ID);
|
|
ProcessActivity = CreateObjects(dr);
|
|
dr.Close();
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
#region Cache Footer
|
|
|
|
#endregion
|
|
|
|
return ProcessActivity;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetbyProcessID(By ID)
|
|
|
|
public List<ProcessActivity> GetbyProcessID(int ID)
|
|
{
|
|
#region Cache Header
|
|
|
|
List<ProcessActivity> ProcessActivity = new List<ProcessActivity>();
|
|
if (ProcessActivity != null)
|
|
return ProcessActivity;
|
|
|
|
#endregion
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
IDataReader dr = ProcessActivityDA.GetbyProcessID(tc, ID);
|
|
ProcessActivity = CreateObjects(dr);
|
|
dr.Close();
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
#region Cache Footer
|
|
|
|
#endregion
|
|
|
|
return ProcessActivity;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetbyProjectProcessID(By ID)
|
|
|
|
public List<ProcessActivity> GetbyProjectProcessID(int Projectid, int Processid)
|
|
{
|
|
#region Cache Header
|
|
|
|
List<ProcessActivity> ProcessActivity = new List<ProcessActivity>();
|
|
if (ProcessActivity != null)
|
|
return ProcessActivity;
|
|
|
|
#endregion
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
IDataReader dr = ProcessActivityDA.GetbyProjectProcessID(tc, Projectid, Processid);
|
|
ProcessActivity = CreateObjects(dr);
|
|
dr.Close();
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
#region Cache Footer
|
|
|
|
#endregion
|
|
|
|
return ProcessActivity;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Get()
|
|
|
|
public List<ProcessActivity> Getbyfundtype(int fundtypeid)
|
|
{
|
|
#region Cache Header
|
|
|
|
List<ProcessActivity> ProcessActivitys = new List<ProcessActivity>();
|
|
|
|
if (ProcessActivitys != null)
|
|
return ProcessActivitys;
|
|
|
|
#endregion
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
IDataReader dr = ProcessActivityDA.Get(tc, fundtypeid);
|
|
ProcessActivitys = CreateObjects(dr);
|
|
dr.Close();
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
#region Cache Footer
|
|
|
|
#endregion
|
|
|
|
return ProcessActivitys;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region GetTable
|
|
|
|
public DataTable GetTable(int fundtypeid)
|
|
{
|
|
DataTable dTbl = new DataTable("ProcessActivitys");
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
|
|
IDataReader ir = ProcessActivityDA.Get(tc, fundtypeid);
|
|
dTbl.Load(ir);
|
|
ir.Close();
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return dTbl;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
} |