EchoTex_Payroll/HRM.DA/Service/Notifications/NotificationService.cs
2024-10-14 10:01:49 +06:00

583 lines
19 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;
namespace HRM.DA
{
//public class NotificationService : ServiceTemplate
//{
// #region Map Objects
// #region Map Parent
// private void MapObject(Notification oNotification, DataReader oReader)
// {
// base.SetObjectID(oNotification, (oReader.GetInt32("NotificationID").Value));
// oNotification.Subject = oReader.GetString("Subject");
// oNotification.Body = oReader.GetString("Body");
// oNotification.TagOutputID = oReader.GetInt32("TagOutputID",0);
// oNotification.ObjectID = oReader.GetInt32("ObjectID",0);
// oNotification.OptionalObjectID = oReader.GetInt32("OptionalObjectID",0);
// oNotification.Attachment = oReader.GetString("Attachment");
// oNotification.Footer = oReader.GetString("Footer");
// oNotification.Type = (EnumNotificationType)oReader.GetInt32("Type");
// //oNotification.Medium = (EnumNotificationMedium) oReader.GetInt32("Medium");
// oNotification.IsMailNf = oReader.GetBoolean("IsMailNf").Value;
// oNotification.IsSMSNf = oReader.GetBoolean("IsSMSNf").Value;
// oNotification.IsWebNf = oReader.GetBoolean("IsWebNf").Value;
// oNotification.Status = (EnumNotificationStatus) oReader.GetInt32("Status");
// this.SetObjectState(oNotification, Ease.Core.ObjectState.Saved);
// }
// protected override T CreateObject<T>(DataReader oReader)
// {
// Notification oNotification = new Notification();
// MapObject(oNotification, oReader);
// return oNotification as T;
// }
// #endregion
// #region Map NotificationParticipants
// private void MapParticipantObject(NotificationParticipant oNotificationParticipant, DataReader oReader)
// {
// base.SetObjectID(oNotificationParticipant, (oReader.GetInt32("NotificationParticipantID").Value));
// oNotificationParticipant.NotificationID = oReader.GetInt32("NotificationID",0);
// oNotificationParticipant.EmployeeID = oReader.GetInt32("EmployeeID",0);
// oNotificationParticipant.Comments = oReader.GetString("Comments");
// oNotificationParticipant.SentTime = (DateTime) oReader.GetDateTime("SentTime");
// this.SetObjectState(oNotificationParticipant, Ease.Core.ObjectState.Saved);
// }
// private NotificationParticipant CreateParticipant(DataReader oReader)
// {
// NotificationParticipant oNotificationParticipant = new NotificationParticipant();
// MapParticipantObject(oNotificationParticipant, oReader);
// return oNotificationParticipant;
// }
// private List<NotificationParticipant> CreateParticipants(DataReader oReader)
// {
// List<NotificationParticipant> oNotificationParticipants = new List<NotificationParticipant>();
// NotificationParticipant oNotificationParticipant;
// while (oReader.Read())
// {
// oNotificationParticipant = new NotificationParticipant();
// oNotificationParticipant = CreateParticipant(oReader);
// oNotificationParticipants.Add(oNotificationParticipant);
// }
// return oNotificationParticipants;
// }
// #endregion
// #region Map NotificationRule
// private void MapNotificationRuleObject(NotificationRule oNotificationRule, DataReader oReader)
// {
// base.SetObjectID(oNotificationRule, (oReader.GetInt32("NotificationRuleID").Value));
// oNotificationRule.BatchNo = oReader.GetInt32("BatchNo").Value;
// oNotificationRule.NotificationID = oReader.GetInt32("NotificationID",0);
// oNotificationRule.PerticipantID = oReader.GetInt32("PerticipantID",0);
// oNotificationRule.PerticipantType = (EnumPerticipantType) oReader.GetInt32("PerticipantType");
// oNotificationRule.SendDate = oReader.GetDateTime("SendDate").Value;
// oNotificationRule.ExtendedBody = oReader.GetString("ExtendedBody");
// oNotificationRule.Remarks = oReader.GetString("Remarks");
// oNotificationRule.EmailSendStatus = (EnumSendStatus)oReader.GetInt32("EmailSendStatus");
// oNotificationRule.WebSendStatus = (EnumSendStatus)oReader.GetInt32("WebSendStatus");
// oNotificationRule.SMSSendStatus = (EnumSendStatus)oReader.GetInt32("SMSSendStatus");
// oNotificationRule.AllowWrite = (bool)oReader.GetBoolean("AllowWrite");
// this.SetObjectState(oNotificationRule, Ease.Core.ObjectState.Saved);
// }
// private NotificationRule CreateNotificationRule(DataReader oReader)
// {
// NotificationRule oNotificationRule = new NotificationRule();
// MapNotificationRuleObject(oNotificationRule, oReader);
// return oNotificationRule;
// }
// private List<NotificationRule> CreateNotificationRules(DataReader oReader)
// {
// List<NotificationRule> oCreateNotificationRules = new List<NotificationRule>();
// NotificationRule oCreateNotificationRule;
// while (oReader.Read())
// {
// oCreateNotificationRule = CreateNotificationRule(oReader);
// oCreateNotificationRules.Add(oCreateNotificationRule);
// }
// return oCreateNotificationRules;
// }
// #endregion
// #endregion
// #region Implementation of INotificationService
// #region Get Functions
// public int GetNewID()
// {
// TransactionContext tc = null;
// tc = TransactionContext.Begin(true);
// try
// {
// return tc.GenerateID("Notification", "NotificationID");
// }
// catch (Exception e)
// {
// throw e;
// }
// finally
// {
// tc.End();
// }
// }
// public Notification Get(int id)
// {
// Notification oNotification = null;
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin();
// DataReader oreader = new DataReader(NotificationDA.Get(tc,id));
// if(oreader.Read())
// {
// oNotification = CreateObject<Notification>(oreader);
// }
// oreader.Close();
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// return oNotification;
// }
// public List<Notification> Get()
// {
// List<Notification> oNotifications = new List<Notification>();
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin();
// DataReader oreader = new DataReader(NotificationDA.Get(tc));
// oNotifications = CreateObjects<Notification>(oreader);
// oreader.Close();
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// return oNotifications;
// }
// public List<Notification> Get(EnumNotificationStatus status)
// {
// List<Notification> oNotifications = new List<Notification>();
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin();
// DataReader oreader = new DataReader(NotificationDA.Get(tc,status));
// oNotifications = CreateObjects<Notification>(oreader);
// oreader.Close();
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// return oNotifications;
// }
// public List<Notification> GetByDateRange(DateTime startDate, DateTime endDate)
// {
// List<Notification> oNotifications = new List<Notification>();
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin();
// DataReader oreader = new DataReader(NotificationDA.GetByDateRange(tc,startDate,endDate));
// oNotifications = CreateObjects<Notification>(oreader);
// oreader.Close();
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// return oNotifications;
// }
// public List<NotificationParticipant> GetNotificationParticipants(int id)
// {
// List<NotificationParticipant> oNotificationParticipants = new List<NotificationParticipant>();
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin();
// DataReader oreader = new DataReader(NotificationDA.GetParticipants(tc, id));
// oNotificationParticipants = CreateParticipants(oreader);
// oreader.Close();
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// return oNotificationParticipants;
// }
// public List<NotificationRule> GetNotificationRules(int id)
// {
// List<NotificationRule> oCreateNotificationRules = new List<NotificationRule>();
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin();
// DataReader oreader = new DataReader(NotificationDA.GetNotificationRules(tc, id));
// oCreateNotificationRules = CreateNotificationRules(oreader);
// oreader.Close();
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// return oCreateNotificationRules;
// }
// #endregion
// #region Get Scalars
// public int GetNewBatchNumber()
// {
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin(true);
// int id = tc.GenerateID("NotificationRule", "BatchNo");
// return id;
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// }
// private int GetNewBatchNumber(TransactionContext tc)
// {
// try
// {
// int id = tc.GenerateID("NotificationRule", "BatchNo");
// return id;
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// }
// public DateTime GetMinSendDateByID(int iD)
// {
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin(true);
// DateTime minDate = NotificationDA.GetMinDateByID(tc, iD);
// return minDate;
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// }
// #endregion
// public int Insert(Notification oNotification)
// {
// TransactionContext tc = null;
// try
// {
// int startingBatchNo;
// int previousBatchNo = 0;
// tc = TransactionContext.Begin(true);
// if (oNotification.IsNew)
// {
// int id = tc.GenerateID("Notification", "NotificationID");
// base.SetObjectID(oNotification, (id));
// NotificationDA.Insert(tc, oNotification);
// startingBatchNo = GetNewBatchNumber(tc);
// foreach (NotificationRule notificationRule in oNotification.NotificationRules)
// {
// if(previousBatchNo!=notificationRule.BatchNo && (previousBatchNo!=0))
// {
// startingBatchNo++;
// }
// previousBatchNo = notificationRule.BatchNo;
// notificationRule.BatchNo = startingBatchNo;
// base.SetObjectID(notificationRule, (tc.GenerateID("NotificationRule", "NotificationRuleID")));
// notificationRule.NotificationID = (id);
// NotificationDA.InsertNotificationRule(tc, notificationRule);
// }
// }
// else
// {
// NotificationDA.Update(tc, oNotification);
// NotificationDA.DeleteNotificationRules(tc,oNotification.ID);
// startingBatchNo = GetNewBatchNumber(tc);
// foreach (NotificationRule notificationRule in oNotification.NotificationRules)
// {
// if (previousBatchNo != notificationRule.BatchNo && (previousBatchNo != 0))
// {
// startingBatchNo++;
// }
// previousBatchNo = notificationRule.BatchNo;
// notificationRule.BatchNo = startingBatchNo;
// base.SetObjectID(notificationRule, (tc.GenerateID("NotificationRule", "NotificationRuleID")));
// notificationRule.NotificationID = (oNotification.ID);
// NotificationDA.InsertNotificationRule(tc, notificationRule);
// }
// }
// return oNotification.ID;
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// }
// public void SaveReply(NotificationParticipant oParticipant)
// {
// TransactionContext tc = null;
// tc = TransactionContext.Begin(true);
// try
// {
// if (oParticipant.IsNew)
// {
// int id = tc.GenerateID("NotificationParticipant", "NotificationParticipantID");
// base.SetObjectID(oParticipant, (id));
// NotificationDA.InsertReply(tc, oParticipant);
// }
// else
// {
// }
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// }
// public void UpdateNotificationRule(NotificationRule notfRule)
// {
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin(true);
// NotificationDA.UpdateNotficationRule(tc, notfRule);
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// }
// public void Delete(int id)
// {
// TransactionContext tc = null;
// try
// {
// tc = TransactionContext.Begin(true);
// NotificationDA.DeleteParticipants(tc,id);
// NotificationDA.DeleteNotificationRules(tc, id);
// NotificationDA.Delete(tc, id);
// }
// catch (Exception e)
// {
// #region Handle Exception
// if (tc != null)
// tc.HandleError();
// ExceptionLog.Write(e);
// throw new ServiceException(e.Message, e);
// #endregion
// }
// finally
// {
// tc.End();
// }
// }
// #endregion
//}
}