112 lines
3.4 KiB
C#
112 lines
3.4 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using Ease.Core;
|
|||
|
using Ease.Core.Model;
|
|||
|
using System.Data;
|
|||
|
using Microsoft.AspNetCore.Components.Web;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
namespace HRM.BO
|
|||
|
{
|
|||
|
#region EmployeeTaxInvestment
|
|||
|
|
|||
|
public class EmployeeTaxInvestment : BasicBaseObject
|
|||
|
{
|
|||
|
#region Constructor
|
|||
|
|
|||
|
public EmployeeTaxInvestment()
|
|||
|
{
|
|||
|
EmployeeID = 0;
|
|||
|
Amount = 0;
|
|||
|
TaxparameterId = 0;
|
|||
|
TypeID = 0;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Properties
|
|||
|
public int EmployeeID { get; set; }
|
|||
|
public double Amount { get; set; }
|
|||
|
public int TaxparameterId { get; set; }
|
|||
|
public int TypeID { get; set; }
|
|||
|
public EnumTaxInvestment EntryFrom { get; set; }
|
|||
|
|
|||
|
public EnumTaxInvestmentStatus submitStatus { get; set; }
|
|||
|
|
|||
|
public FileAttachment TaxFileAttacment { get; set; }
|
|||
|
|
|||
|
public TaxAttachment TaxAttachment { get; set; }
|
|||
|
|
|||
|
public string rejectReason { get; set; }
|
|||
|
|
|||
|
public string EmployeeNo { get; set; } // view purpose
|
|||
|
public string EmployeeName { get; set; } // view purpose
|
|||
|
|
|||
|
//#region Service Factory IEmployeeTaxInvestmentService : IEmployeeTaxInvestmentService
|
|||
|
|
|||
|
//internal static IEmployeeTaxInvestmentService Service
|
|||
|
//{
|
|||
|
// get { return Services.Factory.CreateService<IEmployeeTaxInvestmentService>(typeof(IEmployeeTaxInvestmentService)); }
|
|||
|
//}
|
|||
|
|
|||
|
//#endregion
|
|||
|
|
|||
|
public static double GetAmount(int empid, List<EmployeeTaxInvestment> list, List<TaxInvestment> ttype)
|
|||
|
{
|
|||
|
double amount = 0;
|
|||
|
|
|||
|
foreach (var item in ttype)
|
|||
|
{
|
|||
|
var typeITems = list.FindAll(x => x.EmployeeID == empid && x.TypeID == item.ID && x.submitStatus == EnumTaxInvestmentStatus.Approve);
|
|||
|
if(typeITems != null && typeITems.Count != 0)
|
|||
|
{
|
|||
|
double tempAmount = typeITems.Sum(x => x.Amount);
|
|||
|
if (item.MaxLimit > 100)
|
|||
|
{
|
|||
|
if (item.MaxLimit < tempAmount)
|
|||
|
tempAmount = item.MaxLimit;
|
|||
|
amount += tempAmount;
|
|||
|
}
|
|||
|
else if( item.MaxLimit <= 100 && item.MaxLimit >0)
|
|||
|
{
|
|||
|
tempAmount = tempAmount* item.MaxLimit /100;
|
|||
|
amount += tempAmount;
|
|||
|
}
|
|||
|
else amount = amount + tempAmount;
|
|||
|
}
|
|||
|
}
|
|||
|
return amount;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region IEmployeeTaxInvestment Service
|
|||
|
|
|||
|
public interface IEmployeeTaxInvestmentService
|
|||
|
{
|
|||
|
EmployeeTaxInvestment Get(int id);
|
|||
|
List<EmployeeTaxInvestment> Get();
|
|||
|
List<EmployeeTaxInvestment> GetAllUsersInfo();
|
|||
|
List<EmployeeTaxInvestment> GetSingleEmpsInfo(int id, int taxparamid);
|
|||
|
double GetAmount(int TaxParamID, int emloyeeID);
|
|||
|
int Save(EmployeeTaxInvestment item);
|
|||
|
|
|||
|
void AdminSave(List<EmployeeTaxInvestment> empTaxInvests);
|
|||
|
void Approve(List<EmployeeTaxInvestment> empTaxInvests);
|
|||
|
void Reject(List<EmployeeTaxInvestment> empTaxInvests);
|
|||
|
DataTable getSummaryView(int taxparamid);
|
|||
|
TaxAttachment GetFile(int referenceId, EnumTaxAttachment type);
|
|||
|
void Delete(int id);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|