using System;
using System.Linq;
using System.Data;


using System.Collections.Generic;


namespace HRM.BO
{
    #region Class MembersBalanceSummary	
    [Serializable]	
    public class MembersBalanceSummary : AuditTrailBase
    {
        

        #region Constructor
        public MembersBalanceSummary()
        {
             ProjectID = 0;
             OpeningContribution = 0;
             Contribution = 0;
             Total = 0;
             OpeningActualInterest = 0;
             ContributionActualInterest = 0;
             TotalInterest = 0;
             OpeningBalance = 0;
             ContributionWithInterest = 0;
             TotalBalance = 0;
             CurrentYearTotalContribution = 0;
             CurrentYearTotalBenifitProvisioned = 0;
             CurrentYearTotalBalanceProvisioned = 0;
             MostRecentYearActualInterest = 0;
             FundTypeID = 0;
             EmpCode = null;
             MembershipDate = DateTime.MinValue;
             MembershipNo = null;
             //Fund = null;
        }
        #endregion

        #region properties
        public int MembersID { get; set; }


        public int ProjectID { get; set; }

        public int FundTypeID { get; set; }

       // public FundType Fund { get; set; }

        public string EmpCode { get; set; }

        public DateTime MembershipDate { get; set; }

        public string MembershipNo { get; set; }

        public double OpeningContribution { get; set; }

        public double Contribution { get; set; }

        public double Total { get; set; }


        public double OpeningActualInterest { get; set; }

        public double ContributionActualInterest { get; set; }

        public double TotalInterest { get; set; }

        public double OpeningBalance { get; set; }

        public double ContributionWithInterest { get; set; }

        public double TotalBalance { get; set; }

        public double CurrentYearTotalContribution { get; set; }

        public double CurrentYearTotalBenifitProvisioned { get; set; }

        public double CurrentYearTotalBalanceProvisioned { get; set; }

        public double MostRecentYearActualInterest { get; set; }

        #endregion        

    }

    #endregion

    #region Interface
    public interface IMembersBalanceSummaryService
    {
        int Save(MembersBalanceSummary item);
        void Delete(int id);
        MembersBalanceSummary Get(int id);
        List<MembersBalanceSummary> GetBothFund(int id);
        MembersBalanceSummary Get(int memberID, int fundID);
        List<MembersBalanceSummary> Get();
        DataTable GetTable();
        DataTable GetFunds(int memberID);
    }
    #endregion
}