EchoTex_Payroll/HRM.Report/Class/rptDigitalServiceBook.cs
2025-07-29 18:16:27 +06:00

219 lines
10 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using HRM.BO;
using HRM.DA;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static HRM.Report.PayrollDataSet.PayrollDataSet;
namespace HRM.Report
{
public class rptDigitalServiceBook
{
public byte[] DigitalServiceBook(int empID, int payrollTypeID, DateTime fromDate, string sEmpIDs, int? authorizePersionID, string reportType)
{
DataSet dSet = new DataSet();
DataRow oDR = null;
if (sEmpIDs != null)
empID = Convert.ToInt32(sEmpIDs);
AuthorizedPerson authPerson = null;
if(authorizePersionID != null)
{
authPerson = new AuthorizedPersonService().Get((int)authorizePersionID);
}
//string TargetFolder = @"Documents\EMPPHOTO\";
//string currentDirectory = Directory.GetCurrentDirectory();
string TargetFolder = System.IO.Path.Combine(System.Environment.CurrentDirectory + @"\Documents\EMPPHOTO\");
#region Employee general info
DataSet oEmp = new EmployeeService().GetEmpDigitalServiceBook(empID);
DataTable dTable = new PayrollDataSet.DigitalServiceBookDataSet.EMPDigitalServiceBookDataTable();
foreach (DataRow oDRow in oEmp.Tables[0].Rows)
{
oDR = dTable.NewRow();
oDR["EMPLOYEENO"] = oDRow["EMPLOYEENO"];
//oDR["NAME"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["NAME"].ToString());
oDR["NAME"] = oDRow["NAME"];
oDR["FATHERNAME"] = oDRow["FATHERNAME"];
oDR["MOTHERNAME"] = oDRow["MOTHERNAME"];
oDR["SPOUSENAME"] = oDRow["SPOUSENAME"];
//oDR["JOININGDATE"] = Convert.ToDateTime(oDRow["JOININGDATE"]).ToString("dd/MM/yyyy");
DateTime jointDate = Convert.ToDateTime(oDRow["JOININGDATE"]);
oDR["JOININGDATE"] = string.Format("{0} {1} {2}", jointDate.Day, GlobalExtensions.BanglaMonth(jointDate), jointDate.Year);
oDR["DESIGNATION"] = oDRow["DESIGNATION"];
//oDR["DESIGNATION"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["DESIGNATION"].ToString());
oDR["PARMANENTADDRESS"] = oDRow["PARMANENTADDRESS"];
oDR["PRESENTADDRESS"] = oDRow["PRESENTADDRESS"];
//oDR["BIRTHDATE"] = Convert.ToDateTime(oDRow["BIRTHDATE"]).ToString("dd/MM/yyyy");
DateTime birthDate = Convert.ToDateTime(oDRow["BIRTHDATE"]);
oDR["BIRTHDATE"] = string.Format("{0} {1} {2}", birthDate.Day, GlobalExtensions.BanglaMonth(birthDate), birthDate.Year);
//if (oDRow["PHOTO"] is not DBNull)
// oDR["PHOTO"] = Convert.ToBase64String((byte[])oDRow["PHOTO"]);
oDR["NIDNO"] = oDRow["NIDNO"];
oDR["HEIGHT"] = oDRow["HEIGHT"];
//oDR["BLOODGROUP"] = GlobalExtensions.BloodGroupToFriendlyName((EnumBloodGroup)Enum.Parse(typeof(EnumBloodGroup),
// Convert.ToInt32(oDRow["BLOODGROUP"]).ToString()));
oDR["BLOODGROUP"] = GlobalFunctions.BloodGroupToBangla((EnumBloodGroup)Convert.ToInt32(oDRow["BLOODGROUP"]));
//oDR["BLOODGROUP"] = (EnumBloodGroup)Enum.Parse(typeof(EnumBloodGroup), Convert.ToInt32(oDRow["BLOODGROUP"]).ToString());
oDR["LMDESIGNATION"] = oDRow["LMDESIGNATION"];
//oDR["LMDESIGNATION"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["LMDESIGNATION"].ToString());
oDR["EDUCATIONLEVEL"] = oDRow["EDUCATIONLEVEL"];
oDR["POSTOFFICEPA"] = oDRow["POSTOFFICEPA"];
oDR["DISTRICTPA"] = oDRow["DISTRICTPA"];
oDR["THANAPA"] = oDRow["THANAPA"];
oDR["VILLAGEPA"] = oDRow["VILLAGEPA"];
oDR["ROADNOPA"] = oDRow["ROADNOPA"];
oDR["WARDNOPA"] = oDRow["WARDNOPA"];
oDR["POSTOFFICETA"] = oDRow["POSTOFFICETA"];
oDR["DISTRICTTA"] = oDRow["DISTRICTTA"];
oDR["THANATA"] = oDRow["THANATA"];
oDR["VILLAGETA"] = oDRow["VILLAGETA"];
oDR["ROADNOTA"] = oDRow["ROADNOTA"];
oDR["WARDNOTA"] = oDRow["WARDNOTA"];
oDR["PHOTO"] = System.IO.Path.Combine(TargetFolder + string.Format("Image-{0}.jpg", oDRow["EMPLOYEENO"]));
oDR["SIGNATURE"] = System.IO.Path.Combine(TargetFolder + string.Format("Signature-{0}.jpg", oDRow["EMPLOYEENO"]));
if (authPerson != null)
oDR["AUTHSIGN"] = authPerson.Signature;
dTable.Rows.Add(oDR);
//count++;
}
//dTable.TableName = "DigitalServiceBookDataSet_EMPDigitalServiceBook";
dTable.TableName = "EMPDigitalServiceBook";
dSet.Tables.Add(dTable);
#endregion
#region System info
DataSet oSystemInfo = new SystemInformationService().GetSystemInfo();
dTable = new PayrollDataSet.DigitalServiceBookDataSet.SystemInformationDataTable();
foreach (DataRow oDRow in oSystemInfo.Tables[0].Rows)
{
oDR = dTable.NewRow();
oDR["NAME"] = "B‡Kv‡U· wjwg‡UW";
oDR["CORPORATEADDRESS"] = "Pv`iv , cjøxwe`y¨r , Kvwjqv‰Ki , MvRxcyi | ";
dTable.Rows.Add(oDR);
}
//dTable.TableName = "DigitalServiceBookDataSet_SystemInformation";
dTable.TableName = "SystemInformation";
dSet.Tables.Add(dTable);
#endregion
#region Employee life cycle info
//DataSet oEmplifecycle = new EmpLifeCycleService().GetEmpLifecycleServiceRecord(empID);
DataTable dtEmplifecycle = new EmployeeGradeSalaryService().GetSalaryHistory(empID);
dTable = new PayrollDataSet.DigitalServiceBookDataSet.EMPLifecycleDataTable();
foreach (DataRow oDRow in dtEmplifecycle.Rows)
{
oDR = dTable.NewRow();
//oDR["EFFECTDATE"] = Convert.ToDateTime(oDRow["EFFECTDATE"]).ToString("dd/MM/yyyy");
DateTime efectDate = Convert.ToDateTime(oDRow["EFFECTDATE"]);
oDR["EFFECTDATE"] = string.Format("{0} {1} {2}", efectDate.Day, GlobalExtensions.BanglaMonth(efectDate), efectDate.Year);
//Designation Designation = new DesignationService().Get(Convert.ToInt32(oDRow["DESIGNATIONID"]));
//oDR["DESIGNATION"] = Designation.NameInBangla;
Grade oGrade = new GradeService().Get(Convert.ToInt32(oDRow["GradeID"]));
//if (oGrade.NameInBangla == null || oGrade.NameInBangla != "")
oDR["DESIGNATION"] = oGrade.NameInBangla;
//else
// oDR["DESIGNATION"] = oGrade.Name;
oDR["BASICSALARY"] = Math.Round(Convert.ToDecimal(oDRow["BASICSALARY"]), 2).ToString("##,##0.00");
oDR["HOUSERENT"] = Math.Round((Convert.ToDecimal(oDRow["GROSSSALARY"]) * 30/100), 2).ToString("##,##0.00");
oDR["MEDICAL"] = Math.Round((Convert.ToDecimal(oDRow["GROSSSALARY"]) * 6 / 100), 2).ToString("##,##0.00");
oDR["BONUS"] = Math.Round((Convert.ToDecimal(oDRow["BASICSALARY"]) * 2), 2).ToString("##,##0.00");
dTable.Rows.Add(oDR);
}
//dTable.TableName = "DigitalServiceBookDataSet_EMPLifecycle";
dTable.TableName = "EMPLifecycle";
dSet.Tables.Add(dTable);
#endregion
#region Employee leave entryInfo info
DataSet oLeaveEntry = new LeaveEntryService().GetAnnualLeave(empID);
dTable = new PayrollDataSet.DigitalServiceBookDataSet.LeaveEntryDataTable();
foreach (DataRow oDRow in oLeaveEntry.Tables[0].Rows)
{
oDR = dTable.NewRow();
DateTime fromDateDr = Convert.ToDateTime(oDRow["APRFROMDATE"]);
oDR["FROMDATE"] = string.Format("{0} {1} {2}", fromDateDr.Day, GlobalExtensions.BanglaMonth(fromDateDr), fromDateDr.Year);
DateTime toDateDr = Convert.ToDateTime(oDRow["APRTODATE"]);
oDR["TODATE"] = string.Format("{0} {1} {2}", toDateDr.Day, GlobalExtensions.BanglaMonth(toDateDr), toDateDr.Year);
//oDR["FROMDATE"] = Convert.ToDateTime(oDRow["APRFROMDATE"]).ToString("dd/MM/yyyy");
//oDR["TODATE"] = Convert.ToDateTime(oDRow["APRTODATE"]).ToString("dd/MM/yyyy");
oDR["TOTALDAYS"] = Convert.ToInt32(oDRow["APRTOTALDAYS"]).ToString();
dTable.Rows.Add(oDR);
}
//dTable.TableName = "DigitalServiceBookDataSet_LeaveEntry";
dTable.TableName = "LeaveEntry";
dSet.Tables.Add(dTable);
#endregion
#region Complain info
DataSet oComplain = new ComplainService().GetAllComplain(empID);
dTable = new PayrollDataSet.DigitalServiceBookDataSet.ComplainDataTable();
foreach (DataRow oDRow in oComplain.Tables[0].Rows)
{
oDR = dTable.NewRow();
//oDR["EFFECTDATE"] = Convert.ToDateTime(oDRow["EFFECTDATE"]).ToString("dd/MM/yyyy");
DateTime efectDate = Convert.ToDateTime(oDRow["EFFECTDATE"]);
oDR["EFFECTDATE"] = string.Format("{0} {1} {2}", efectDate.Day, GlobalExtensions.BanglaMonth(efectDate), efectDate.Year);
//if (oDRow["DESCRIPTIONINBANGLA"] is DBNull)
// oDR["DESCRIPTION"] = oDRow["DESCRIPTION"];
//else
oDR["DESCRIPTION"] = oDRow["DESCRIPTIONINBANGLA"];
dTable.Rows.Add(oDR);
}
//dTable.TableName = "DigitalServiceBookDataSet_Complain";
dTable.TableName = "Complain";
dSet.Tables.Add(dTable);
#endregion
//ReportProcessor reportProcessor = new ReportProcessor();
return new ReportProcessor().ShowDlgForDigitalServiceBookReport(null, dSet, empID, payrollTypeID);
}
}
}