1357 lines
49 KiB
C#
1357 lines
49 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Ease.Core.Model;
|
|
using Ease.Core.DataAccess;
|
|
using Ease.Core.Model;
|
|
using Ease.Core.Utility;
|
|
using HRM.BO;
|
|
|
|
namespace HRM.DA
|
|
{
|
|
public class FmLoanService : ServiceTemplate //, ILoanService, IFASService
|
|
{
|
|
public FmLoanService()
|
|
{
|
|
}
|
|
|
|
#region Child Schedule function
|
|
|
|
private void MapLoanSchedule(FmLoanSchedule loanSchedule, DataReader dr)
|
|
{
|
|
base.SetObjectID(loanSchedule, dr.GetInt32("LoanScheduleID").Value);
|
|
loanSchedule.ActivityID = dr.GetInt32("ActivityID").Value;
|
|
loanSchedule.CustomerID = dr.GetInt32("CustomerID").Value;
|
|
loanSchedule.EffectiveBalance = dr.GetDouble("EffectiveBalance").Value;
|
|
loanSchedule.InstallmentAmount = dr.GetDouble("InstallmentAmount").Value;
|
|
loanSchedule.InstallmentInterest = dr.GetDouble("InstallmentInterest").Value;
|
|
loanSchedule.InstallmentPrincipal = dr.GetDouble("InstallmentPrincipal").Value;
|
|
loanSchedule.LoanCategoryID = dr.GetInt32("LoanCategoryID").Value;
|
|
loanSchedule.LoanID = dr.GetInt32("LoanID").Value;
|
|
loanSchedule.PayDate = dr.GetDateTime("PayDate");
|
|
loanSchedule.ScheduledPayDate = dr.GetDateTime("ScheduledPayDate").Value;
|
|
loanSchedule.SerialNo = dr.GetInt32("SerialNo").Value;
|
|
loanSchedule.CreatedBy = dr.GetInt32("CreatedBy").Value;
|
|
loanSchedule.CreatedDate = dr.GetDateTime("CreatedDate").Value;
|
|
loanSchedule.ModifiedBy = dr.GetInt32("ModifiedBy");
|
|
loanSchedule.ModifiedDate = dr.GetDateTime("ModifiedDate");
|
|
loanSchedule.ProjectID = dr.GetInt32("ProjectID").Value;
|
|
|
|
base.SetObjectState(loanSchedule, Ease.Core.ObjectState.Saved);
|
|
}
|
|
|
|
private FmLoanSchedule CreateSchedules(DataReader dr)
|
|
{
|
|
FmLoanSchedule loanSchedule = new FmLoanSchedule();
|
|
MapLoanSchedule(loanSchedule, dr);
|
|
return loanSchedule;
|
|
}
|
|
|
|
private void FillSchedules(FmLoan parent, DataReader dr)
|
|
{
|
|
while (dr.Read())
|
|
{
|
|
FmLoanSchedule item = this.CreateSchedules(dr);
|
|
parent.LoanSchedules.Add(item);
|
|
}
|
|
}
|
|
|
|
internal void LoadSchedule(TransactionContext tc, FmLoan loan)
|
|
{
|
|
try
|
|
{
|
|
if (loan != null && loan.ID != null && loan.ID != 0)
|
|
{
|
|
//Get LoanSchedule
|
|
DataReader dr = new DataReader(FmLoanDA.GetSchedules(tc, loan.ID));
|
|
FillSchedules(loan, dr);
|
|
dr.Close();
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Child LoanCategory
|
|
|
|
private void MapCategoryObject(LoanCategory loanCategory, DataReader dr)
|
|
{
|
|
base.SetObjectID(loanCategory, dr.GetInt32("LoanCategoryID").Value);
|
|
loanCategory.DefaultInterestRate = dr.GetDouble("DefaultInterestRate").Value;
|
|
loanCategory.LoanCategoryCode = dr.GetString("LoanCategoryCode");
|
|
loanCategory.Description = dr.GetString("Description");
|
|
loanCategory.IsActive = (EnumLoanCategoryStatus)dr.GetInt16("IsActive").Value;
|
|
loanCategory.MaxAlowableFlatAmount = dr.GetDouble("MaxAlowableFlatAmount");
|
|
loanCategory.MaxInstallment = dr.GetInt32("MaxInstallment").Value;
|
|
loanCategory.MinInstallment = dr.GetInt32("MinInstallment").Value;
|
|
loanCategory.PercentageofFund = dr.GetDouble("PercentageofFund");
|
|
loanCategory.Version = dr.GetInt16("Version").Value;
|
|
loanCategory.CreatedBy = dr.GetInt32("CreatedBy").Value;
|
|
loanCategory.CreatedDate = dr.GetDateTime("CreatedDate").Value;
|
|
loanCategory.ModifiedBy = dr.GetInt32("ModifiedBy");
|
|
loanCategory.ModifiedDate = dr.GetDateTime("ModifiedDate");
|
|
loanCategory.ProjectID = dr.GetInt32("ProjectID").Value;
|
|
base.SetObjectState(loanCategory, Ease.Core.ObjectState.Saved);
|
|
}
|
|
|
|
private LoanCategory CreateCategoryObject(DataReader dr)
|
|
{
|
|
LoanCategory loanCategory = new LoanCategory();
|
|
|
|
MapCategoryObject(loanCategory, dr);
|
|
|
|
return loanCategory;
|
|
}
|
|
|
|
internal void LoadCategory(TransactionContext tc, FmLoan loan)
|
|
{
|
|
try
|
|
{
|
|
if (loan != null && loan.LoanCategoryID != null && loan.LoanCategoryID != 0)
|
|
{
|
|
//Get LoanCategory
|
|
LoanCategory loanCategory = null;
|
|
DataReader dr = new DataReader(FmLoanDA.GetCategory(tc, loan.LoanCategoryID));
|
|
|
|
if (dr.Read())
|
|
{
|
|
loanCategory = this.CreateCategoryObject(dr);
|
|
}
|
|
|
|
dr.Close();
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Child LoanCustomer
|
|
|
|
//private void MapCustomerObject(LoanCustomer loanCustomer, DataReader dr)
|
|
//{
|
|
// base.SetObjectID(loanCustomer, dr.GetID("CustomerID"));
|
|
// loanCustomer.AccNo = dr.GetString("AccNo");
|
|
// loanCustomer.Address = dr.GetString("Address");
|
|
// loanCustomer.DateOfBirth = dr.GetDateTime("DateOfBirth").Value;
|
|
// loanCustomer.DateOfJoining = dr.GetDateTime("DateOfJoining").Value;
|
|
// loanCustomer.EmpCode = dr.GetString("EmpCode");
|
|
// loanCustomer.IsMember = dr.GetBoolean("IsMember").Value;
|
|
// loanCustomer.MemberShipNo = dr.GetString("MemberShipNo");
|
|
// loanCustomer.Name = dr.GetString("Name");
|
|
// loanCustomer.CreatedBy = dr.GetID("CreatedBy");
|
|
// loanCustomer.CreatedDate = dr.GetDateTime("CreatedDate").Value;
|
|
// loanCustomer.ModifiedBy = dr.GetID("ModifiedBy");
|
|
// loanCustomer.ModifiedDate = dr.GetDateTime("ModifiedDate");
|
|
// loanCustomer.ProjectID = dr.GetID("ProjectID");
|
|
// loanCustomer.MemberID = dr.GetID("MemberID");
|
|
// loanCustomer.MembershipDate = dr.GetDateTime("MembershipDate").HasValue?dr.GetDateTime("MembershipDate").Value:DateTime.MinValue;
|
|
// loanCustomer.Email = dr.GetString("Email");
|
|
// base.SetObjectState(loanCustomer, Ease.Core.ObjectState.Saved);
|
|
//}
|
|
|
|
//private LoanCustomer CreateCustomerObject(DataReader dr)
|
|
//{
|
|
// LoanCustomer loanCustomer = new LoanCustomer();
|
|
|
|
// MapCustomerObject(loanCustomer, dr);
|
|
|
|
// return loanCustomer;
|
|
//}
|
|
|
|
//internal void LoadCustomer(TransactionContext tc, Loan loan)
|
|
//{
|
|
// try
|
|
// {
|
|
// if (loan != null && loan.ID != null && loan.ID.Integer != 0)
|
|
// {
|
|
// //Get LoanCustomer
|
|
// LoanCustomer loanCustomer = null;
|
|
// DataReader dr = new DataReader(LoanDA.GetCustomer(tc, loan.CustomerID));
|
|
|
|
// if (dr.Read())
|
|
// {
|
|
// loanCustomer = this.CreateCustomerObject(dr);
|
|
// }
|
|
// dr.Close();
|
|
// }
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// throw e;
|
|
// }
|
|
//}
|
|
|
|
#endregion
|
|
|
|
#region parent Loan Section
|
|
|
|
private void MapObject(FmLoan loan, DataReader dr)
|
|
{
|
|
base.SetObjectID(loan, dr.GetInt32("LoanID").Value);
|
|
loan.ActivityID = dr.GetInt32("ActivityID").Value;
|
|
loan.CustomerID = dr.GetInt32("CustomerID").Value;
|
|
loan.Description = dr.GetString("Description");
|
|
loan.InstallmentNo = dr.GetInt32("InstallmentNo").Value;
|
|
loan.InterestRate = dr.GetDouble("InterestRate") != null ? dr.GetInt32("InterestRate").Value : 0;
|
|
loan.IssueDate = dr.GetDateTime("IssueDate").Value;
|
|
loan.LoanCategoryID = dr.GetInt32("LoanCategoryID").Value;
|
|
loan.LoanNo = dr.GetString("LoanNo");
|
|
loan.Remarks = dr.GetString("Remarks");
|
|
loan.LoanAccNo = dr.GetString("LoanAccNo");
|
|
loan.MemberID = dr.GetInt32("MemberID").Value;
|
|
loan.PrincipalAmount = dr.GetDouble("PrincipalAmount").Value;
|
|
loan.Status = (EnumLoanStatus)dr.GetInt16("Status").Value;
|
|
loan.LoanIssueStatus = (EnumLoanIssueStatus)dr.GetInt16("LoanIssueStatus").Value;
|
|
loan.Version = dr.GetInt32("Version") != null ? dr.GetInt32("Version").Value : 0;
|
|
loan.CreatedBy = dr.GetInt32("CreatedBy").Value;
|
|
loan.CreatedDate = dr.GetDateTime("CreatedDate").Value;
|
|
loan.ModifiedBy = dr.GetInt32("ModifiedBy");
|
|
loan.ModifiedDate = dr.GetDateTime("ModifiedDate");
|
|
loan.ProjectID = dr.GetInt32("ProjectID").Value;
|
|
loan.GLTranID = dr.GetInt32("GLTranID").Value;
|
|
loan.StartPayBackMonth = dr.GetDateTime("StartPayBackMonth") != null
|
|
? dr.GetDateTime("StartPayBackMonth").Value
|
|
: DateTime.MinValue;
|
|
loan.TransferLogIDinInt = dr.GetInt32("TransferLogID") != null ? dr.GetInt32("TransferLogID").Value : 0;
|
|
base.SetObjectState(loan, Ease.Core.ObjectState.Saved);
|
|
}
|
|
|
|
protected override T CreateObject<T>(DataReader dr)
|
|
{
|
|
FmLoan loan = new FmLoan();
|
|
|
|
MapObject(loan, dr);
|
|
|
|
return loan as T;
|
|
}
|
|
|
|
#endregion
|
|
|
|
//Add LoanService
|
|
//public void UpdateLoanInfos(TransactionContext tc, List<FmLoan> loans, List<LoanReceiver> loanReceivers)
|
|
//{
|
|
// try
|
|
// {
|
|
// foreach (FmLoan loan in loans)
|
|
// {
|
|
// if (loan.IsModified)
|
|
// {
|
|
// loan.ModifiedBy = FM.BO.Common.User.CurrentUser.ID;
|
|
// loan.ModifiedDate = GlobalFunctions.GetServerDate().Date;
|
|
// LoanDA.UpdateLoanInfo(tc, loan);
|
|
// }
|
|
// foreach (FmLoanSchedule loanSchedule in loan.LoanSchedules)
|
|
// {
|
|
// if (loanSchedule.IsModified)
|
|
// {
|
|
// loanSchedule.ModifiedBy = FM.BO.Common.User.CurrentUser.ID;
|
|
// loanSchedule.ModifiedDate = GlobalFunctions.GetServerDate().Date;
|
|
// LoanScheduleDA.UpdateLoanPaid(tc, loanSchedule);
|
|
// }
|
|
// }
|
|
// }
|
|
// foreach (LoanReceiver loanRvr in loanReceivers)
|
|
// {
|
|
// SaveVoucher(tc, loanRvr.iFASTranObject_glTrans, (int)EnumLoanTransactionType.MonthlyInstallmentRealization);
|
|
// }
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
// ExceptionLog.Write(e);
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
//}
|
|
|
|
#region Service Implementation
|
|
|
|
#region Insert
|
|
|
|
//public void Insert(FmLoan loan, int noOfMonth, DateTime fromMonth, double rate)
|
|
//{
|
|
// FmLoan oloan = new FmLoan();
|
|
// oloan = loan;
|
|
// string logstring = string.Empty;
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// if (oloan.IsNew)
|
|
// {
|
|
// if (oloan.LoanCustomer.IsNew)
|
|
// {
|
|
// int customerID = tc.GenerateID("LoanCustomer", "CustomerID");
|
|
// //int customerID = base.GetNewID(tc, "LoanCustomer", "CustomerID");
|
|
// base.SetObjectID(oloan.LoanCustomer, ID.FromInteger(customerID));
|
|
// oloan.LoanCustomer.CreatedBy = oloan.CreatedBy;
|
|
// oloan.LoanCustomer.CreatedDate = oloan.CreatedDate;
|
|
// FmLoanDA.Insert(tc, oloan.LoanCustomer);
|
|
// oloan.CustomerID = oloan.LoanCustomer.ID;
|
|
// }
|
|
// else
|
|
// {
|
|
// oloan.LoanCustomer.ModifiedBy = oloan.ModifiedBy;
|
|
// oloan.LoanCustomer.ModifiedDate = oloan.ModifiedDate;
|
|
// LoanDA.Update(tc, oloan.LoanCustomer);
|
|
// }
|
|
// //10-04--23057246-LS001-001
|
|
|
|
// //oloan.LoanAccNo = GenerateLoanNo(oloan);
|
|
// //oloan.LoanNo = oloan.LoanAccNo;
|
|
// int id = tc.GenerateID("Loan", "LoanID");
|
|
// base.SetObjectID(oloan, ID.FromInteger(id));
|
|
// LoanDA.Insert(tc, oloan);
|
|
|
|
|
|
// // SaveUserRecords(tc, oloan.iFASUserObject_helperForSubsidiarysUpload);
|
|
// SaveVoucher(tc, oloan.ForVoucher_glTrans , (int)EnumLoanActivity.LoanIssue);
|
|
// LoanDA.UpdateGLTranID(tc,oloan.ID.Integer,oloan.ForVoucher_glTrans[0].ID.Integer);
|
|
|
|
// LoanTransaction loanTransaction = new LoanTransaction();
|
|
// loanTransaction = loanTransaction.CreateLoanTransaction(loanTransaction, oloan.CustomerID, oloan.ID, EnumLoanTransactionType.LoanIssue, oloan.PrincipalAmount, null, oloan.IssueDate, oloan.CreatedBy, oloan.CreatedDate);
|
|
// int tranId = tc.GenerateID("LoanTransaction", "LoanTransactionID");
|
|
// base.SetObjectID(loanTransaction, ID.FromInteger(tranId));
|
|
// LoanTransactionDA.Insert(tc, loanTransaction);
|
|
// }
|
|
// else if (oloan.IsModified)
|
|
// {
|
|
// if (oloan.LoanCustomer.IsNew)
|
|
// {
|
|
// int customerID = tc.GenerateID("LoanCustomer", "CustomerID");
|
|
// //int customerID = base.GetNewID(tc, "LoanCustomer", "CustomerID");
|
|
// base.SetObjectID(oloan.LoanCustomer, ID.FromInteger(customerID));
|
|
// oloan.LoanCustomer.CreatedBy = oloan.CreatedBy;
|
|
// oloan.LoanCustomer.CreatedDate = oloan.CreatedDate;
|
|
// LoanDA.Insert(tc, oloan.LoanCustomer);
|
|
// oloan.CustomerID = oloan.LoanCustomer.ID;
|
|
// }
|
|
// else
|
|
// {
|
|
// oloan.LoanCustomer.ModifiedBy = oloan.ModifiedBy;
|
|
// oloan.LoanCustomer.ModifiedDate = oloan.ModifiedDate;
|
|
// LoanDA.Update(tc, oloan.LoanCustomer);
|
|
// }
|
|
// LoanDA.Update(tc, oloan);
|
|
// SaveVoucher(tc, oloan.ForVoucher_glTrans, (int)EnumLoanActivity.LoanIssue);
|
|
// LoanDA.UpdateGLTranID(tc, oloan.ID.Integer, oloan.ForVoucher_glTrans[0].ID.Integer);
|
|
// }
|
|
// LoanDA.DeleteLoanSchedule(tc, oloan.ID);
|
|
// foreach (var item in oloan.LoanSchedules)
|
|
// {
|
|
// item.ProjectID = oloan.ProjectID;
|
|
// item.CustomerID = oloan.CustomerID;
|
|
// item.LoanID = oloan.ID;
|
|
// item.LoanCategoryID = oloan.LoanCategoryID;
|
|
// item.CreatedBy = oloan.CreatedBy;
|
|
// item.CreatedDate = oloan.CreatedDate;
|
|
// int id = tc.GenerateID("LoanSchedule", "LoanScheduleID");
|
|
// base.SetObjectID(item, ID.FromInteger(id));
|
|
// LoanDA.Insert(tc, item);
|
|
// }
|
|
// //logstring = oloan.LoanCategoryID.ToString() + "," + oloan.ID.ToString() + "," + oloan.LoanNo.ToString() + "," + oloan.CustomerID.ToString() + "," + oloan.LoanCustomer.EmpCode.ToString() + "," + oloan.CreatedBy.ToString() + "," + oloan.CreatedDate.ToString() + "," + oloan.Activity.ToString();
|
|
// LoanLog loanLog = new LoanLog();
|
|
// loanLog = loanLog.CreateLog(loanLog, oloan.LoanCategoryID, oloan.ID, oloan.LoanNo, oloan.CustomerID, oloan.LoanCustomer.EmpCode, oloan.CreatedBy, oloan.CreatedDate, oloan.Activity, noOfMonth, fromMonth, rate);
|
|
|
|
// int logId = tc.GenerateID("LoanLog", "LogID");
|
|
// //int logId = base.GetNewID(tc,"LoanLog", "LogID");
|
|
// base.SetObjectID(loanLog, ID.FromInteger(logId));
|
|
// LoanDA.Insert(tc, loanLog);
|
|
|
|
// tc.End();
|
|
// CacheInfo.ClearCache(typeof(FmLoanService).FullName);
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
// ExceptionLog.Write(e);
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
//}
|
|
|
|
public void Save(FmLoan loan)
|
|
{
|
|
FmLoan oLoan = new FmLoan();
|
|
oLoan = loan;
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
if (oLoan.IsNew)
|
|
{
|
|
int id = tc.GenerateID("FmLoan", "LoanID");
|
|
base.SetObjectID(oLoan, id);
|
|
FmLoanDA.Insert(tc, oLoan);
|
|
}
|
|
else
|
|
{
|
|
FmLoanDA.Update(tc, oLoan);
|
|
}
|
|
|
|
tc.End();
|
|
//return oLoanTransaction.ID;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
public void SetLoanStatus()
|
|
{
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
FmLoanDA.SetLoanStatus(tc);
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
//public void UpdateSchedules(List<FmLoanSchedule> oloanSchedules, EaseFAS.BO.GLTrans otrans)
|
|
//{
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// foreach (FmLoanSchedule oitem in oloanSchedules)
|
|
// {
|
|
// LoanDA.UpdateLoanSchedule(tc, oitem);
|
|
// }
|
|
|
|
// Ease.Core.DataAccess.TransactionContext coretc = Ease.Core.DataAccess.TransactionContext.SetConnection(tc.Connection, tc.Transaction);
|
|
// EaseFAS.Service.GLTranService oservice = new EaseFAS.Service.GLTranService();
|
|
// oservice.Insert(coretc, otrans);
|
|
|
|
// tc.End();
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
// ExceptionLog.Write(e);
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
//}
|
|
|
|
public void UpdateLoanIssueStatus(FmLoan oLoan)
|
|
{
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
FmLoanDA.UpdateLoanIssueStatus(tc, oLoan);
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
//public void SaveEarlySettlement(FmLoan oloan, LoanLog loanLog)
|
|
//{
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// if (oloan.IsModified)
|
|
// {
|
|
// FmLoanDA.UpdateLoanEarlySettle(tc, oloan);
|
|
// SaveVoucher(tc, oloan.iFASTranObject_glTrans, (int)EnumLoanActivity.EarlySettlement);
|
|
// }
|
|
// bool isEarlySettle = true;
|
|
// foreach (var item in oloan.LoanSchedules)
|
|
// {
|
|
// if (oloan.InstallmentNo > item.SerialNo && item.PayDate == GlobalFunctionDA.ServerDate(tc).Date && item.InstallmentInterest == 0 && item.InstallmentAmount == item.EffectiveBalance)
|
|
// //if (oloan.InstallmentNo >= item.SerialNo && item.InstallmentInterest == 0 && item.InstallmentAmount == item.EffectiveBalance)
|
|
// {
|
|
// item.ModifiedBy = FM.BO.Common.User.CurrentUser.ID;
|
|
// item.ModifiedDate = GlobalFunctionDA.ServerDate(tc);
|
|
// LoanDA.UpdateLoanSchedule(tc, item);
|
|
// isEarlySettle = true;
|
|
// }
|
|
// else if (isEarlySettle && item.PayDate==null)
|
|
// {
|
|
// LoanDA.DeleteLoanScheduleByID(tc, item.ID);
|
|
// }
|
|
// }
|
|
|
|
// int logId = tc.GenerateID("LoanLog", "LogID");
|
|
// //int logId = base.GetNewID(tc, "LoanLog", "LogID");
|
|
// base.SetObjectID(loanLog, ID.FromInteger(logId));
|
|
// LoanDA.Insert(tc, loanLog);
|
|
// LoanDA.UpdateGLTranID(tc, oloan.ID.Integer, oloan.ForVoucher_glTrans[0].ID.Integer);
|
|
// //SaveVoucher(tc, oloan.ForVoucher_glTrans, (int)EnumLoanActivity.EarlySettlement);
|
|
|
|
// tc.End();
|
|
// CacheInfo.ClearCache(typeof(FmLoanService).FullName);
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
// ExceptionLog.Write(e);
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
// }
|
|
|
|
//public void SaveEarlySettlement(TransactionContext tc, FmLoan oloan, LoanLog loanLog)
|
|
//{
|
|
// try
|
|
// {
|
|
// if (oloan.IsModified)
|
|
// {
|
|
// oloan.ModifiedBy = FM.BO.Common.User.CurrentUser.ID;
|
|
// oloan.ModifiedDate = GlobalFunctionDA.ServerDate(tc);
|
|
// LoanDA.UpdateLoanEarlySettle(tc, oloan);
|
|
// }
|
|
// bool isEarlySettle = false;
|
|
// foreach (var item in oloan.LoanSchedules)
|
|
// {
|
|
// //DateTime dTime = GlobalFunctionDA.ServerDate(tc).Date;
|
|
// if (oloan.InstallmentNo == item.SerialNo && item.PayDate.Value.Date == GlobalFunctionDA.ServerDate(tc).Date && item.InstallmentInterest == 0 && item.InstallmentAmount == item.EffectiveBalance)
|
|
// {
|
|
// item.ModifiedBy = FM.BO.Common.User.CurrentUser.ID;
|
|
// item.ModifiedDate = GlobalFunctionDA.ServerDate(tc);
|
|
// LoanDA.UpdateLoanSchedule(tc, item);
|
|
// isEarlySettle = true;
|
|
// }
|
|
// else if (isEarlySettle && item.PayDate == null)
|
|
// {
|
|
// LoanDA.DeleteLoanScheduleByID(tc, item.ID);
|
|
// }
|
|
// }
|
|
// if (isEarlySettle)
|
|
// {
|
|
// int logId = base.GetNewID(tc, "LoanLog", "LogID");
|
|
// base.SetObjectID(loanLog, ID.FromInteger(logId));
|
|
// loanLog.CreatedBy = FM.BO.Common.User.CurrentUser.ID;
|
|
// loanLog.CreatedDate = GlobalFunctionDA.ServerDate(tc);
|
|
// LoanDA.Insert(tc, loanLog);
|
|
// }
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
// ExceptionLog.Write(e);
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
//}
|
|
|
|
#endregion
|
|
|
|
#region GenerateLoanNo
|
|
|
|
//public string GenerateLoanNo(FmLoan loan)
|
|
//{
|
|
// string serial = string.Empty;
|
|
// string s = string.Empty;
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// //string year = loan.IssueDate.Year.ToString();
|
|
// //year = year.Substring(2);
|
|
// //string month = loan.IssueDate.Month.ToString();
|
|
// //if (month.Length == 1)
|
|
// //{
|
|
// // month = "0" + month;
|
|
// //}
|
|
// //s = year + "-" + month + "-";
|
|
// s = "PFLOAN";
|
|
// if (loan.LoanCustomer != null && loan.LoanCategoryID != null && !loan.LoanCategoryID.IsUnassigned && loan.LoanCategoryID.Integer > 0)
|
|
// {
|
|
// //s = s + "-" + loan.LoanCustomer.EmpCode.ToString() + "-" + loan.LoanCategory.LoanCategoryCode.ToString() + "-";
|
|
// s = s + "//" + loan.LoanCustomer.EmpCode.ToString() + "/";
|
|
// }
|
|
// tc = TransactionContext.Begin();
|
|
// int serialNo = LoanDA.GenerateLoanNo(tc, loan.MemberID, loan.LoanCategoryID);
|
|
// tc.End();
|
|
// serialNo = serialNo + 1;
|
|
// serial = serialNo.ToString();
|
|
// if (serial.Length == 1)
|
|
// {
|
|
// serial = "00" + serial;
|
|
// }
|
|
// if (serial.Length == 2)
|
|
// {
|
|
// serial = "0" + serial;
|
|
// }
|
|
// serial = s + serial;
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
// ExceptionLog.Write(e);
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
|
|
// #endregion
|
|
// }
|
|
// return serial;
|
|
//}
|
|
|
|
#endregion
|
|
|
|
#region Delete
|
|
|
|
public void Delete(int id)
|
|
{
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
|
|
FmLoanDA.DeleteLoanSchedule(tc, id);
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
throw new ServiceException("Failed to Delete " + e.Message);
|
|
;
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
//#region ISExist Month
|
|
|
|
//public bool ISValidMonth(Loan loan, DateTime dt)
|
|
//{
|
|
// bool exists = false;
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// tc = TransactionContext.Begin(true);
|
|
// exists = LoanDA.ISValidMonth(tc, loan, dt);
|
|
// tc.End();
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
|
|
// throw new ServiceException("Failed to Check by code" + e.Message, e);
|
|
|
|
// }
|
|
// return exists;
|
|
//}
|
|
//#endregion
|
|
|
|
#region Get Loan
|
|
|
|
public FmLoan Get(string LoanNo)
|
|
{
|
|
FmLoan loan = null;
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
|
|
DataReader dr = new DataReader(FmLoanDA.Get(tc, LoanNo));
|
|
if (dr.Read())
|
|
{
|
|
loan = this.CreateObject<FmLoan>(dr);
|
|
}
|
|
|
|
dr.Close();
|
|
LoadSchedule(tc, loan);
|
|
LoadCategory(tc, loan);
|
|
// LoadCustomer(tc, loan);
|
|
tc.End();
|
|
//tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return loan;
|
|
}
|
|
|
|
public FmLoan Get(int loanID, bool isGetSchedule, bool isGetCategory, bool isGetCustomer)
|
|
{
|
|
FmLoan loan = new FmLoan();
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
|
|
DataReader dr = new DataReader(LoanDA.Get(tc, loanID));
|
|
if (dr.Read())
|
|
{
|
|
loan = this.CreateObject<FmLoan>(dr);
|
|
}
|
|
|
|
dr.Close();
|
|
if (isGetSchedule)
|
|
{
|
|
LoadSchedule(tc, loan);
|
|
}
|
|
|
|
if (isGetCategory)
|
|
{
|
|
LoadCategory(tc, loan);
|
|
}
|
|
|
|
//if (isGetCustomer)
|
|
//{
|
|
// LoadCustomer(tc, loan);
|
|
//}
|
|
tc.End();
|
|
//tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
|
|
return loan;
|
|
}
|
|
|
|
#endregion
|
|
|
|
public bool GetIsUsedUserObjectName(LoanCategory loanCategory)
|
|
{
|
|
bool found = false;
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
DataReader dataReader = new DataReader(FmLoanDA.Get(tc, loanCategory));
|
|
if (dataReader.Read())
|
|
found = true;
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return found;
|
|
}
|
|
|
|
#region Get()
|
|
|
|
public List<FmLoan> Get()
|
|
{
|
|
List<FmLoan> loans = new List<FmLoan>();
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
|
|
DataReader dr = new DataReader(FmLoanDA.Get(tc));
|
|
loans = this.CreateObjects<FmLoan>(dr);
|
|
dr.Close();
|
|
foreach (FmLoan loan in loans)
|
|
{
|
|
LoadSchedule(tc, loan);
|
|
}
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return loans;
|
|
}
|
|
|
|
public List<FmLoan> Get(int runningLoan, bool isWithSchedule)
|
|
{
|
|
List<FmLoan> loans = new List<FmLoan>();
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
|
|
DataReader dr = new DataReader(FmLoanDA.Get(tc, runningLoan));
|
|
loans = this.CreateObjects<FmLoan>(dr);
|
|
dr.Close();
|
|
|
|
if (isWithSchedule)
|
|
{
|
|
foreach (FmLoan loan in loans)
|
|
{
|
|
LoadSchedule(tc, loan);
|
|
}
|
|
}
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return loans;
|
|
}
|
|
|
|
public List<FmLoan> GetNotSendLoan(int runningLoan, bool isWithSchedule)
|
|
{
|
|
List<FmLoan> loans = new List<FmLoan>();
|
|
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin(true);
|
|
|
|
DataReader dr = new DataReader(FmLoanDA.GetNotSendLoan(tc, runningLoan));
|
|
loans = this.CreateObjects<FmLoan>(dr);
|
|
dr.Close();
|
|
|
|
if (isWithSchedule)
|
|
{
|
|
foreach (FmLoan loan in loans)
|
|
{
|
|
LoadSchedule(tc, loan);
|
|
}
|
|
}
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return loans;
|
|
}
|
|
|
|
#endregion
|
|
|
|
//#region GetBySearch
|
|
//public ObjectsTemplate<Loan> GetBySearch(string sSearch)
|
|
//{
|
|
// #region Cache Header
|
|
|
|
// ObjectsTemplate<Loan> loans = _cache["GetBySearch", sSearch] as ObjectsTemplate<Loan>;
|
|
|
|
// if (loans != null)
|
|
// return loans;
|
|
|
|
// #endregion
|
|
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// tc = TransactionContext.Begin();
|
|
|
|
// DataReader dr = new DataReader(LoanDA.GetBySearch(tc, sSearch));
|
|
// loans = this.CreateObjects<Loan>(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
|
|
|
|
// _cache.Add(loans, "GetBySearch", sSearch);
|
|
|
|
// #endregion
|
|
// return loans;
|
|
//}
|
|
|
|
//#endregion
|
|
|
|
#region GetLoanMember
|
|
|
|
//public DataTable GetLoanMember(int loanCategoryID, string issueOperator, DateTime issueFromDate, DateTime issueToDate, string collectionOperator, DateTime collectionFromDate, DateTime collectionToDate, EnumLoanStatus status, int memberID, int custID)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// string subQuery = string.Empty;
|
|
// if (loanCategoryID != null && !loanCategoryID.IsUnassigned && loanCategoryID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" cat.LoanCategoryID = %n", loanCategoryID);
|
|
// }
|
|
|
|
// if (issueOperator != string.Empty && issueOperator != "None" && issueOperator != "" && issueOperator != "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.IssueDate " + issueOperator + " %d ", issueFromDate);
|
|
// }
|
|
// if (issueOperator == "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.IssueDate Between %d AND %d ", issueFromDate, issueToDate);
|
|
// }
|
|
|
|
|
|
// //if (collectionOperator != string.Empty && collectionOperator != "None" && collectionOperator != "" && collectionOperator != "<>")
|
|
// //{
|
|
// // subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.StartPayBackMonth " + collectionOperator + " %d ", collectionFromDate);
|
|
// //}
|
|
// //if (issueOperator == "<>")
|
|
// //{
|
|
// // subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.StartPayBackMonth Between %d AND %d ", collectionFromDate, collectionToDate);
|
|
// //}
|
|
// string statusClause = string.Empty;
|
|
// if (status != EnumLoanStatus.All)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.Status = %n", status);
|
|
// }
|
|
// string memberClause = string.Empty;
|
|
// if (custID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" cust.CustomerID = %n", custID);
|
|
// }
|
|
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// ds = FmLoanDA.GetLoanMember(tc, subQuery, custID);
|
|
// tc.End();
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
// return ds.Tables[0];
|
|
//}
|
|
|
|
#endregion
|
|
|
|
|
|
#region GetLoanList
|
|
|
|
//public DataTable GetLoanList(EnumLoanStatus status, int memberID)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// string subQuery = string.Empty;
|
|
|
|
// string statusClause = string.Empty;
|
|
// if (status != EnumLoanStatus.All)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.Status = %n", status);
|
|
// }
|
|
// string memberClause = string.Empty;
|
|
// if (memberID != null && !memberID.IsUnassigned && memberID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.MemberID = %n", memberID);
|
|
// }
|
|
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// ds = FmLoanDA.GetLoanList(tc, subQuery);
|
|
// tc.End();
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
// return ds.Tables[0];
|
|
//}
|
|
//public DataTable GetLoanList(int loanCategoryID, string issueOperator, DateTime issueFromDate, DateTime issueToDate, string collectionOperator, DateTime collectionFromDate, DateTime collectionToDate, EnumLoanIssueStatus status, int memberID)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// string subQuery = string.Empty;
|
|
// if (loanCategoryID != null && !loanCategoryID.IsUnassigned && loanCategoryID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" cat.LoanCategoryID = %n", loanCategoryID);
|
|
// }
|
|
|
|
// if (issueOperator != string.Empty && issueOperator != "None" && issueOperator != "" && issueOperator != "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.IssueDate " + issueOperator + " %d ", issueFromDate);
|
|
// }
|
|
// if (issueOperator == "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.IssueDate Between %d AND %d ", issueFromDate, issueToDate);
|
|
// }
|
|
|
|
|
|
// if (collectionOperator != string.Empty && collectionOperator != "None" && collectionOperator != "" && collectionOperator != "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.StartPayBackMonth " + collectionOperator + " %d ", collectionFromDate);
|
|
// }
|
|
// //if (issueOperator == "<>")
|
|
// //{
|
|
// // subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.StartPayBackMonth Between %d AND %d ", collectionFromDate, collectionToDate);
|
|
// //}
|
|
// string statusClause = string.Empty;
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.LoanIssueStatus = %n", status);
|
|
|
|
// string memberClause = string.Empty;
|
|
// if (memberID != null && !memberID.IsUnassigned && memberID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" m.MemberID = %n", memberID);
|
|
// }
|
|
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// ds = FmLoanDA.GetLoanList(tc, subQuery);
|
|
// tc.End();
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
// return ds.Tables[0];
|
|
//}
|
|
|
|
//public DataTable GetLoanList(int loanCategoryID, string issueOperator, DateTime issueFromDate, DateTime issueToDate, string collectionOperator, DateTime collectionFromDate, DateTime collectionToDate, EnumLoanStatus status, int memberID)
|
|
//{
|
|
// DataSet ds = new DataSet();
|
|
// TransactionContext tc = null;
|
|
// try
|
|
// {
|
|
// string subQuery = string.Empty;
|
|
// if (loanCategoryID != null && !loanCategoryID.IsUnassigned && loanCategoryID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" cat.LoanCategoryID = %n", loanCategoryID);
|
|
// }
|
|
|
|
// if (issueOperator != string.Empty && issueOperator != "None" && issueOperator != "" && issueOperator != "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.IssueDate " + issueOperator + " %d ", issueFromDate);
|
|
// }
|
|
// if (issueOperator == "<>")
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.IssueDate Between %d AND %d ", issueFromDate, issueToDate);
|
|
// }
|
|
|
|
|
|
// //if (collectionOperator != string.Empty && collectionOperator != "None" && collectionOperator != "" && collectionOperator != "<>")
|
|
// //{
|
|
// // subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.StartPayBackMonth " + collectionOperator + " %d ", collectionFromDate);
|
|
// //}
|
|
// //if (issueOperator == "<>")
|
|
// //{
|
|
// // subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.StartPayBackMonth Between %d AND %d ", collectionFromDate, collectionToDate);
|
|
// //}
|
|
// string statusClause = string.Empty;
|
|
// if (status != EnumLoanStatus.All)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" issue.Status = %n", status);
|
|
// }
|
|
// string memberClause = string.Empty;
|
|
// if (memberID != null && !memberID.IsUnassigned && memberID > 0)
|
|
// {
|
|
// subQuery = SQLParser.TagSQL(subQuery) + SQLParser.MakeSQL(" m.MemberID = %n", memberID);
|
|
// }
|
|
|
|
// tc = TransactionContext.Begin(true);
|
|
|
|
// ds = FmLoanDA.GetLoanList(tc, subQuery);
|
|
// tc.End();
|
|
// }
|
|
// catch (Exception e)
|
|
// {
|
|
// #region Handle Exception
|
|
// if (tc != null)
|
|
// tc.HandleError();
|
|
|
|
// throw new ServiceException(e.Message, e);
|
|
// #endregion
|
|
// }
|
|
// return ds.Tables[0];
|
|
//}
|
|
|
|
#endregion
|
|
|
|
#region GetTable
|
|
|
|
public DataTable GetTable(DateTime fromDate, DateTime toDate)
|
|
{
|
|
DataTable dTbl = new DataTable();
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
dTbl = FmLoanDA.GetTable(tc, fromDate, toDate);
|
|
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;
|
|
}
|
|
|
|
public DataTable GetTable(string smemberId, DateTime fromDate, DateTime toDate)
|
|
{
|
|
DataTable dTbl = new DataTable();
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
dTbl = FmLoanDA.GetTable(tc, smemberId, fromDate, toDate);
|
|
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;
|
|
}
|
|
|
|
public DataTable GetLoanInfoByMonth(DateTime scheduleMonth)
|
|
{
|
|
DataTable dtLoanScheduleInfo = new DataTable();
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
tc = TransactionContext.Begin();
|
|
dtLoanScheduleInfo = FmLoanDA.GetLoanInfoByMonth(tc, scheduleMonth);
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
|
|
return dtLoanScheduleInfo;
|
|
}
|
|
|
|
public DataSet GetLoans()
|
|
{
|
|
DataTable dt = new DataTable();
|
|
DataSet ds = new DataSet();
|
|
TransactionContext tc = null;
|
|
try
|
|
{
|
|
ConnectionContext cc = new ConnectionContext("serviceHandler1");
|
|
tc = TransactionContext.Begin(true, cc);
|
|
|
|
ds = FmLoanDA.GetLoans(tc);
|
|
|
|
tc.End();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw new ServiceException("Failed to Get Members" + e.Message, e);
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
#region IFASService Members
|
|
|
|
//public void SaveUserRecords(TransactionContext tc, List<HelperForSubsidiaryUpload> subsidiarysUpload)
|
|
//{
|
|
// UserRecordService userRecordService = new UserRecordService();
|
|
// foreach (HelperForSubsidiaryUpload subUpload in subsidiarysUpload)
|
|
// {
|
|
// if (subUpload.UserRcds.Count > 0)
|
|
// {
|
|
// foreach (UserRecord userRecord in subUpload.UserRcds)
|
|
// {
|
|
// _uploadedUserRecordID = userRecordService.Insert(tc, userRecord);
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
//public void SaveVoucher(TransactionContext tc, EaseFAS.BO.GLTrans glTrans, int systemTranIDinInt)
|
|
//{
|
|
// EaseFAS.Service.GLTranService glTranService = new EaseFAS.Service.GLTranService();
|
|
// Ease.Core.DataAccess.TransactionContext tcore = Ease.Core.DataAccess.TransactionContext.SetConnection(tc.Connection, tc.Transaction);
|
|
// glTranService.Insert(tcore, glTrans);
|
|
|
|
//}
|
|
|
|
#endregion
|
|
|
|
internal void Delete(TransactionContext tc, Loan loan)
|
|
{
|
|
try
|
|
{
|
|
FmLoanDA.DeleteLoanLog(tc, loan.ID);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
#region Handle Exception
|
|
|
|
if (tc != null)
|
|
tc.HandleError();
|
|
ExceptionLog.Write(e);
|
|
|
|
throw new ServiceException(e.Message, e);
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
} |