219 lines
10 KiB
C#
219 lines
10 KiB
C#
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);
|
||
}
|
||
|
||
}
|
||
}
|