using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; using Payroll.BO; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.Utility; using Microsoft.Reporting.WinForms; using System.Reflection; namespace Payroll.Report { public class rptEmployee { private ReportSetup _selectedParameter; private DateTime _SalaryMonth; string tempEmpID = string.Empty; ObjectsTemplate _departments = null; ObjectsTemplate _hrEmployees = null; int count = 1; public ReportSetup SelectedParameter { set { _selectedParameter = value; } } public rptEmployee() { _departments = new ObjectsTemplate(); _hrEmployees = new ObjectsTemplate(); _departments = Department.Get(); _hrEmployees = HREmployee.Get(); } public void GetEmpBasicInfo() { fReportViewer form = new fReportViewer(); string sEmpID = _selectedParameter.ReportItem.INSQL; DataRow dr = null; Employee oEmployee = new Employee(); DataSet oEmpsInfo = Employee.GetEmpBasicInfo(sEmpID); PayrollDataSet.PayrollDataSet.EmployeeInfoDataTable dTEmpInfo = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeInfoDataTable(); DataTable dtDFSL = Employee.GetDFSL(); foreach (DataRow oDRow in oEmpsInfo.Tables[0].Rows) { string[] sDes = GlobalFunctions.GetDFSL(dtDFSL, oDRow["DepartmentID"].ToString()); dr = dTEmpInfo.NewRow(); dr["EmployeeNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; if (Convert.ToInt32(oDRow["GENDER"]) == 1) { dr["Gender"] = "Male"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 2) { dr["Gender"] = "Female"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 3) { dr["Gender"] = "Both"; } if (sDes.Length == 5) { dr["Division"] = sDes[0]; dr["Department"] = sDes[1]; dr["Floor"] = sDes[2]; dr["Section"] = sDes[3]; dr["Line"] = sDes[4]; } else if (sDes.Length == 4) { dr["Division"] = sDes[0]; dr["Department"] = sDes[1]; dr["Floor"] = sDes[2]; dr["Section"] = sDes[3]; } else if (sDes.Length == 3) { dr["Division"] = sDes[0]; dr["Department"] = sDes[1]; dr["Floor"] = sDes[2]; } else if (sDes.Length == 2) { dr["Division"] = sDes[0]; dr["Department"] = sDes[1]; } else if (sDes.Length == 1) { dr["Division"] = sDes[0]; } dr["Religion"] = oDRow["RName"]; if (oDRow["BIRTHDATE"] != DBNull.Value && oDRow["BIRTHDATE"] != null) dr["DOB"] = oDRow["BIRTHDATE"]; if (oDRow["JOININGDATE"] != DBNull.Value && oDRow["JOININGDATE"] != null) dr["DOJ"] = oDRow["JOININGDATE"]; if (oDRow["DATEOFCONFIRMATION"] != DBNull.Value && oDRow["DATEOFCONFIRMATION"] != null) dr["ConfirmDate"] = oDRow["DATEOFCONFIRMATION"]; if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 1) { dr["MaritalStatus"] = "Married"; } else if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 2) { dr["MaritalStatus"] = "UnMarried"; } dTEmpInfo.Rows.Add(dr); } form.ShowDlgForEmpBasic(_selectedParameter.ReportItem, dTEmpInfo); } public void ShowLetterOfAccountIntro() { fReportViewer form = new fReportViewer(); string sEmpID = _selectedParameter.ReportItem.INSQL; DateTime month = _selectedParameter.FromDate != null ? _selectedParameter.FromDate.Value.LastDateOfMonth() : Payroll.BO.SystemInformation.CurrentSysInfo.NextPayProcessDate.FirstDateOfMonth().AddDays(-1); DataRow dr = null; List oEmps = Employee.Get(); Employee oEmployee = null; if (_selectedParameter.Banks.Count <= 0) throw new ServiceException("please select a bank"); DataSet oEmpDetails = Employee.GetEmpForLetterOfIntroDuction(sEmpID, month); DataTable dTEmpDetail = oEmpDetails.Tables[0].Copy(); string companyName = Payroll.BO.SystemInformation.CurrentSysInfo.name; foreach (DataRow item in dTEmpDetail.Rows) { item["CompanyName"] = companyName; } DataSet dSet = new DataSet(); dTEmpDetail.TableName = "dsCompany_LetterOfAccountIntro"; dSet.Tables.Add(dTEmpDetail); List parameters = new List(); ReportParameter parameter = new ReportParameter("BankName", _selectedParameter.Banks[0].Name); parameters.Add(parameter); //parameter = new ReportParameter("FilterCriteria", SearchCriteria); //parameters.Add(parameter); form.CommonReportView(_selectedParameter.ReportItem, dSet, "Payroll.Report.RDLC.rptLetterOfAccountIntro.rdlc", parameters); } public DataSet GetEmpDetails2(string sEmpIDs) { //fReportViewer form = new fReportViewer(); string sEmpID = sEmpIDs; DataRow dr = null; List oEmps = Employee.GetByEmpIDs(sEmpID); ObjectsTemplate oDepartments = Department.Get(); Employee oEmployee = null; DataSet oEmpDetails = Employee.GetEmpDetails(sEmpID); DataTable dtDFSL = Employee.GetDFSL(); PayrollDataSet.PayrollDataSet.EmployeeDetailExcelDataTable dTEmpDetail = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeDetailExcelDataTable(); bool isDesigFromEmp = ConfigurationManager.GetBoolValue("designation", "desigfromdescriptiontext", EnumConfigurationType.Logic); int count = 1; foreach (DataRow oDRow in oEmpDetails.Tables[0].Rows) { oEmployee = oEmps.Where(o => o.EmployeeNo.ToUpper().Trim() == oDRow["EMPLOYEENO"].ToString().ToUpper().Trim()) .SingleOrDefault(); dr = dTEmpDetail.NewRow(); dr["SL"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["TINNO"] = oDRow["TINNO"]; if (isDesigFromEmp && oEmployee != null) dr["Designation"] = oEmployee.DescriptionText; else dr["Designation"] = oDRow["DegName"]; Department dep = oDepartments.Find(x => x.ID.Integer == Convert.ToInt16(oDRow["DepartmentID"].ToString())); string[] sDes = GlobalFunctions.FindDivisionDeparmentUnit(dep, oDepartments); dr["Division"] = sDes[0]; dr["Department"] = sDes[1]; dr["Section"] = sDes[2]; dr["SubSection"] = sDes[3]; dr["Unit"] = sDes[4]; dr["SubUnit"] = sDes[5]; dr["RCCode"] = GlobalFunctions.FindRCCode2(dep, oDepartments); dr["Grade"] = oDRow["GDDes"]; dr["BasicSalary"] = oDRow["BASICSALARY"]; dr["DOB"] = oDRow["BIRTHDATE"]; if (Convert.ToInt32(oDRow["GENDER"]) == 0) { dr["Gender"] = "None"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 1) { dr["Gender"] = "Male"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 2) { dr["Gender"] = "Female"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 3) { dr["Gender"] = "Both"; } dr["Religion"] = oDRow["RegName"]; dr["Bank"] = oDRow["Bank"]; dr["Branch"] = oDRow["Branch"]; dr["AccountNo"] = oDRow["ACCOUNTNO"]; dr["BankOPI"] = oDRow["OUTPayBank"]; dr["BranchOPI"] = oDRow["OUTPayBranch"]; dr["AccountNoOPI"] = oDRow["OutPayAccountNo"]; dr["DOJ"] = oDRow["JOININGDATE"]; dr["ConfirmDate"] = oDRow["DATEOFCONFIRMATION"]; // dr["TaxAmount"] = oDRow["TAXAMOUNT"]; dr["LocDes"] = oDRow["LocDes"]; dr["GrossSalary"] = oDRow["GrossSalary"]; dr["VendorCode"] = oDRow["VendorCode"]; if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 0) { dr["MarStatus"] = "None"; } else if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 1) { dr["MarStatus"] = "Married"; } else if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 2) { dr["MarStatus"] = "UnMarried"; } dr["MobileNo"] = oDRow["MOBILENO"]; // dr["MailAdd"] = oDRow["EMAILADDRESS"]; //dr["RFID"] = oDRow["CardNo"]; dr["Nationality"] = oDRow["Nationality"]; dr["FathersName"] = oDRow["FATHERNAME"]; dr["MothersName"] = oDRow["MOTHERNAME"]; #region Unused Code //string sEducationLevel = string.Empty; //HREmployee ohrEmp = _hrEmployees.Find(delegate(HREmployee hEmp) { return hEmp.EmployeeNo == oEmployee.EmployeeNo; }); //if (ohrEmp != null) //{ // foreach (EmpAcademic eAcademic in ohrEmp.Academics) // { // if (sEducationLevel == "") // { // sEducationLevel = sEducationLevel + eAcademic.EducationLevel.Description; // } // else if (sEducationLevel != "") // { // sEducationLevel = sEducationLevel + "," + eAcademic.EducationLevel.Description; // } // } //} //dr["Qualification"] = sEducationLevel; //dr["VotterID"] = oDRow["NationalID"]; //dr["TempVill"] = oDRow["TempVillage"]; //dr["TempPS"] = oDRow["TempThana"]; //dr["TempDist"] = oDRow["TempDist"]; //dr["PerVill"] = oDRow["PerVillage"]; //dr["PerPS"] = oDRow["PerThana"]; //dr["PerDist"] = oDRow["PerDist"]; //if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ABPos) //{ // dr["BloodGroup"] = "AB+"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ABNeg) //{ // dr["BloodGroup"] = "AB-"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ANeg) //{ // dr["BloodGroup"] = "A-"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.APos) //{ // dr["BloodGroup"] = "A+"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.BNeg) //{ // dr["BloodGroup"] = "B-"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.BPos) //{ // dr["BloodGroup"] = "B+"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ONeg) //{ // dr["BloodGroup"] = "O-"; //} //else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.OPos) //{ // dr["BloodGroup"] = "O+"; //} #endregion count++; dTEmpDetail.Rows.Add(dr); } DataSet dSet = new DataSet(); dTEmpDetail.TableName = "PayrollDataSet_EmployeeDetailExcel"; dSet.Tables.Add(dTEmpDetail); return dSet; #region Unsued Code //bool isOPISeparateAcountApplicable = ConfigurationManager.GetBoolValue("opi", "opiexist", EnumConfigurationType.Logic); //if (isOPISeparateAcountApplicable) //{ // form.CommonReportView(_selectedParameter.ReportItem, dSet, "Payroll.Report.RDLC.EmployeeDetailWithOPI.rdlc", null); //} //else //{ // //form.ShowDlgForEmpDetails(_selectedParameter.ReportItem, dTEmpDetail); // form.CommonReportView(_selectedParameter.ReportItem, dSet, "Payroll.Report.RDLC.EmployeeDetail.rdlc", null); //} #endregion } public DataTable GetReport(DateTime dMonth, ID nRepID, string sEmpIDs) { fReportViewer form = new fReportViewer(); DataTable dtEmployee = SalaryMonthly.GetCustomDataTable("Select Employeeid,gradeid,name,BasicSalary from employee"); _SalaryMonth = dMonth; ID nReportID = nRepID; string sEmpID = sEmpIDs; DataRow oDR = null; DataSet oSalarySheets = null; ObjectsTemplate sMonthly = SalaryMonthly.Get(sEmpID, _SalaryMonth); oSalarySheets = SalaryMonthly.GetEmpSalarySheet(GlobalFunctions.LastDateOfMonth(_SalaryMonth), sEmpID); PayrollDataSet.PayrollDataSet.SalarySheetDataTable dTSalarySheet = new Payroll.Report.PayrollDataSet.PayrollDataSet.SalarySheetDataTable(); #region Loop Start //foreach (DataRow source in oSalarySheets.Tables["GrossItem"].Rows) //{ // if (source["ITEMGROUP"].ToString() != "2") // { // oDR = dTSalarySheet.NewRow(); // this.CopyNonMngtForGross(oDR, source); // if (source["ITEMGROUP"].ToString() == "1") // { // DataRow dr = this.GetItem2(oSalarySheets.Tables["GrossItem"], source["EMPLOYEENO"].ToString(), EnumSalaryGroup.UnauthLeave, (EnumSalaryItemCode)Convert.ToInt16(source["ITEMCODE"]), Convert.ToInt16(source["ITEMID"])); // if (dr != null) // { // oDR["Amount"] = Convert.ToDouble(oDR["Amount"]) - Convert.ToDouble(dr["Amount"]); // } // } // dTSalarySheet.Rows.Add(oDR); // } //} foreach (DataRow source in oSalarySheets.Tables["TotalGross"].Rows) { oDR = dTSalarySheet.NewRow(); this.CopyNonManagement(oDR, source); dTSalarySheet.Rows.Add(oDR); } foreach (DataRow source in oSalarySheets.Tables["DeductItem"].Rows) { oDR = dTSalarySheet.NewRow(); this.CopyNonMngtForDeduct(oDR, source); dTSalarySheet.Rows.Add(oDR); } foreach (DataRow source in oSalarySheets.Tables["TotalDeduction"].Rows) { oDR = dTSalarySheet.NewRow(); this.CopyNonManagement(oDR, source); dTSalarySheet.Rows.Add(oDR); } foreach (DataRow source in oSalarySheets.Tables["NetPay"].Rows) { oDR = dTSalarySheet.NewRow(); this.CopyNonManagement(oDR, source); dTSalarySheet.Rows.Add(oDR); } #endregion Pivot pvt = new Pivot(dTSalarySheet); DataTable ddt = pvt.PivotData("EmpNo", "Amount", AggregateFunction.Sum, "Description"); DataColumnCollection columns = ddt.Columns; List sList = new List(); List oallow = AllowanceDeduction.GetAllowance(EnumStatus.Regardless); sList.Add("EmpNo"); sList.Add("EmpName"); sList.Add("Grade"); sList.Add("Actual Basic"); sList.Add("Basic"); foreach (AllowanceDeduction ad in oallow) { if (columns.Contains(ad.Name)) { sList.Add(ad.Name); } } List oBonus = Bonus.Get(EnumStatus.Regardless); foreach (Bonus oB in oBonus) { if (columns.Contains(oB.Name)) { sList.Add(oB.Name); } } sList.Add("OT Amount"); sList.Add("Unauthorized Leave"); sList.Add("Total Gross"); sList.Add("Income Tax"); List oDeductions = AllowanceDeduction.GetDeduction(EnumStatus.Regardless); foreach (AllowanceDeduction oD in oDeductions) { if (columns.Contains(oD.Name)) { sList.Add(oD.Name); } } sList.Add("PF"); sList.Add("Total Deduction"); sList.Add("Net Pay"); DataTable convertedDT = new DataTable(); List uniqueList = sList.Distinct().ToList(); foreach (var item in uniqueList) { if (item.ToString().ToLower() == "empno" || item.ToString().ToLower() == "empname" || item.ToString().ToLower() == "grade") convertedDT.Columns.Add(item, typeof(string)); else convertedDT.Columns.Add(item, typeof(double)); } DataRow odr = null; ObjectsTemplate oGrades = Grade.Get(EnumStatus.Regardless); foreach (DataRow dr in ddt.Rows) { odr = convertedDT.NewRow(); //Employee oEmp = oEmps.Where(x => ddt.AsEnumerable().Any(y => y.Field("EmpNo").Equals(x.EmployeeNo))).FirstOrDefault(); //Employee oEmp = oEmps.Where(x =>x.EmployeeNo==dr["EmpNo"].ToString()).FirstOrDefault(); DataRow drEmp = this.GetEmployee(dtEmployee, dr["EmpNo"].ToString()); Employee oEmp = new Employee(); if (drEmp != null) { oEmp.GradeID = ID.FromInteger(Convert.ToInt16(drEmp["gradeid"])); oEmp.Name = drEmp["name"].ToString(); oEmp.BasicSalary = Convert.ToDouble(drEmp["BasicSalary"].ToString()); } Grade grd = oGrades.Find(x => oEmp.GradeID == x.ID); foreach (DataColumn dc in dr.Table.Columns) { var myColumn = odr.Table.Columns.Cast().SingleOrDefault(col => col.ColumnName == dc.ColumnName); if (myColumn != null) { if (myColumn.ColumnName.ToLower() == "empno") odr[myColumn.ColumnName] = dr[dc.ColumnName]; else odr[myColumn.ColumnName] = Convert.ToDouble(dr[dc.ColumnName].ToString() == "" ? "0" : dr[dc.ColumnName].ToString()); } } odr["EmpName"] = oEmp.Name; odr["Grade"] = grd.Name; odr["Actual Basic"] = oEmp.BasicSalary; convertedDT.Rows.Add(odr); } return convertedDT; } private DataRow GetEmployee(DataTable Source, string sEmpID) { foreach (DataRow odRow in Source.Rows) { if (Convert.ToString(odRow["EMPLOYEENO"]) == sEmpID) { return odRow; } } return null; } private DataRow GetItem2(DataTable Source, string sEmpNo, EnumSalaryGroup groupCode, EnumSalaryItemCode itemCode, int ITemID) { foreach (DataRow odRow in Source.Rows) { if (Convert.ToString(odRow["EMPLOYEENO"]) == sEmpNo && Convert.ToInt32(odRow["ITEMGROUP"]) == (int)groupCode && Convert.ToInt32(odRow["ItemCode"]) == (int)itemCode && Convert.ToInt32(odRow["ItemID"]) == ITemID) { return odRow; } } return null; } public DataSet ChangedReportExcel(DateTime fromDate, DateTime todate, string selection) { DateTime fDate = GlobalFunctions.FirstDateOfMonth(fromDate); DateTime tDate = GlobalFunctions.LastDateOfMonth(todate); int count = 1; DataSet ds = Employee.GetEmpGradeSalaryChangeInfo(fDate, tDate, selection); DataRow oDR = null; PayrollDataSet.PayrollDataSet.ChangedSalaryDesigDataTable dTChangeEmfo = new Payroll.Report.PayrollDataSet.PayrollDataSet.ChangedSalaryDesigDataTable(); foreach (DataRow dr in ds.Tables[0].Rows) { oDR = dTChangeEmfo.NewRow(); oDR["SLNO"] = count; oDR["EmployeeNo"] = dr["EMPLOYEENO"]; oDR["Name"] = dr["NAME"]; oDR["EffectFrom"] = dr["EFFECTDATE"]; oDR["EntryDate"] = dr["EntryDate"]; oDR["Grade"] = dr["Grade"]; oDR["Basic"] = Convert.ToDouble(dr["BASICSALARY"]); oDR["UserName"] = dr["USERNAME"]; oDR["Remarks"] = dr["Remarks"]; dTChangeEmfo.Rows.Add(oDR); count++; } DataSet dSet = new DataSet(); dTChangeEmfo.TableName = "PayrollDataSet_EmployeeDetailExcel"; dSet.Tables.Add(dTChangeEmfo); return dSet; } public void ChangedReport(DateTime fromDate, DateTime todate, string selection) { fReportViewer form = new fReportViewer(); DateTime fDate = GlobalFunctions.FirstDateOfMonth(fromDate); DateTime tDate = GlobalFunctions.LastDateOfMonth(todate); DataSet ds = Employee.GetEmpGradeSalaryChangeInfo(fDate, tDate, selection); DataRow oDR = null; PayrollDataSet.PayrollDataSet.ChangedSalaryDesigDataTable dTChangeEmfo = new Payroll.Report.PayrollDataSet.PayrollDataSet.ChangedSalaryDesigDataTable(); foreach (DataRow dr in ds.Tables[0].Rows) { oDR = dTChangeEmfo.NewRow(); oDR["EmployeeNo"] = dr["EMPLOYEENO"]; oDR["Name"] = dr["NAME"]; oDR["EffectFrom"] = dr["EFFECTDATE"]; oDR["EntryDate"] = dr["EntryDate"]; oDR["Grade"] = dr["Grade"]; oDR["Basic"] = Convert.ToDouble(dr["BASICSALARY"]); oDR["UserName"] = dr["USERNAME"]; oDR["Remarks"] = dr["Remarks"]; dTChangeEmfo.Rows.Add(oDR); } form.ShowChangedReport(dTChangeEmfo, fDate, tDate); } public void GetEmpDetails() { fReportViewer form = new fReportViewer(); string sEmpID = _selectedParameter.ReportItem.INSQL; DataRow dr = null; List oEmps = Employee.GetByEmpIDs(sEmpID); ObjectsTemplate oDepartments = Department.Get(); Employee oEmployee = null; DataSet oEmpDetails = Employee.GetEmpDetails(sEmpID); DataTable dtDFSL = Employee.GetDFSL(); PayrollDataSet.PayrollDataSet.EmployeeDetailDataTable dTEmpDetail = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeDetailDataTable(); bool isDesigFromEmp = ConfigurationManager.GetBoolValue("designation", "desigfromdescriptiontext", EnumConfigurationType.Logic); int nCount = 0; try { foreach (DataRow oDRow in oEmpDetails.Tables[0].Rows) { nCount++; //if (nCount == 189) // nCount = 189; Department dep = null; string[] sDes =new string[6]; if (oDRow["DepartmentID"].ToString() != "") { dep = oDepartments.Find(x => x.ID.Integer == Convert.ToInt16(oDRow["DepartmentID"].ToString())); sDes = GlobalFunctions.FindDivisionDeparmentUnit(dep, oDepartments); } oEmployee = oEmps.Where(o => o.EmployeeNo.ToUpper().Trim() == oDRow["EMPLOYEENO"].ToString().ToUpper().Trim()) .SingleOrDefault(); dr = dTEmpDetail.NewRow(); dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["TINNO"] = oDRow["TINNO"]; if (isDesigFromEmp && oEmployee != null) dr["Designation"] = oEmployee.DescriptionText; else dr["Designation"] = oDRow["DegName"]; dr["Division"] = sDes[0]; dr["Department"] = sDes[1]; dr["Section"] = sDes[2]; dr["SubSection"] = sDes[3]; dr["Unit"] = sDes[4]; dr["SubUnit"] = sDes[5]; try { dr["RCCode"] = GlobalFunctions.FindRCCode(dep, oDepartments); } catch { dr["RCCode"] = ""; } dr["Grade"] = oDRow["GDDes"]; dr["BasicSalary"] = oDRow["BASICSALARY"]; dr["DOB"] = oDRow["BIRTHDATE"]; if (Convert.ToInt32(oDRow["GENDER"]) == 0) { dr["Gender"] = "None"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 1) { dr["Gender"] = "Male"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 2) { dr["Gender"] = "Female"; } else if (Convert.ToInt32(oDRow["GENDER"]) == 3) { dr["Gender"] = "Both"; } dr["Religion"] = oDRow["RegName"]; dr["Bank"] = oDRow["Bank"]; dr["Branch"] = oDRow["Branch"]; dr["AccountNo"] = oDRow["ACCOUNTNO"]; dr["BankOPI"] = oDRow["OUTPayBank"]; dr["BranchOPI"] = oDRow["OUTPayBranch"]; dr["AccountNoOPI"] = oDRow["OutPayAccountNo"]; dr["DOJ"] = oDRow["JOININGDATE"]; dr["ConfirmDate"] = oDRow["DATEOFCONFIRMATION"]; dr["TaxAmount"] = oDRow["TAXAMOUNT"]; dr["LocDes"] = oDRow["LocDes"]; dr["GrossSalary"] = oDRow["GrossSalary"]; dr["VendorCode"] = oDRow["VendorCode"]; if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 0) { dr["MarStatus"] = "None"; } else if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 1) { dr["MarStatus"] = "Married"; } else if (Convert.ToInt32(oDRow["MARITALSTATUSID"]) == 2) { dr["MarStatus"] = "UnMarried"; } dr["MobileNo"] = oDRow["MOBILENO"]; dr["MailAdd"] = oDRow["EMAILADDRESS"]; dr["RFID"] = oDRow["CardNo"]; dr["Nationality"] = oDRow["Nationality"]; dr["FathersName"] = oDRow["FATHERNAME"]; dr["MothersName"] = oDRow["MOTHERNAME"]; string sEducationLevel = string.Empty; HREmployee ohrEmp = _hrEmployees.Find(delegate(HREmployee hEmp) { return hEmp.EmployeeNo == oEmployee.EmployeeNo; }); if (ohrEmp != null) { foreach (EmpAcademic eAcademic in ohrEmp.Academics) { if (sEducationLevel == "") { sEducationLevel = sEducationLevel + eAcademic.EducationLevel.Description; } else if (sEducationLevel != "") { sEducationLevel = sEducationLevel + "," + eAcademic.EducationLevel.Description; } } } dr["Qualification"] = sEducationLevel; dr["VotterID"] = oDRow["NationalID"]; dr["TempVill"] = oDRow["TempVillage"]; dr["TempPS"] = oDRow["TempThana"]; dr["TempDist"] = oDRow["TempDist"]; dr["PerVill"] = oDRow["PerVillage"]; dr["PerPS"] = oDRow["PerThana"]; dr["PerDist"] = oDRow["PerDist"]; if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ABPos) { dr["BloodGroup"] = "AB+"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ABNeg) { dr["BloodGroup"] = "AB-"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ANeg) { dr["BloodGroup"] = "A-"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.APos) { dr["BloodGroup"] = "A+"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.BNeg) { dr["BloodGroup"] = "B-"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.BPos) { dr["BloodGroup"] = "B+"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.ONeg) { dr["BloodGroup"] = "O-"; } else if (Convert.ToInt32(oDRow["BLOODGROUP"]) == (int)EnumBloodGroup.OPos) { dr["BloodGroup"] = "O+"; } dTEmpDetail.Rows.Add(dr); } } catch { nCount = 450; } DataSet dSet = new DataSet(); dTEmpDetail.TableName = "PayrollDataSet_EmployeeDetail"; dSet.Tables.Add(dTEmpDetail); bool isOPISeparateAcountApplicable = ConfigurationManager.GetBoolValue("opi", "opiexist", EnumConfigurationType.Logic); if (isOPISeparateAcountApplicable) { form.CommonReportView(_selectedParameter.ReportItem, dSet, "Payroll.Report.RDLC.EmployeeDetailWithOPI.rdlc", null); } else { //form.ShowDlgForEmpDetails(_selectedParameter.ReportItem, dTEmpDetail); form.CommonReportView(_selectedParameter.ReportItem, dSet, "Payroll.Report.RDLC.EmployeeDetail.rdlc", null); } } public void ShowEmployeeCV(HREmployee employee) { if (employee == null) return; DataRow oRow = null; DataRow oRow1 = null; List _department = new List(); List _nationality = new List(); Nationality nationality = new Nationality(); Department department = new Department(); _nationality = Nationality.Get(); _department = Department.Get(); PhotoPath pPath = PhotoPath.Get().FirstOrDefault(); department = _department.Where(o => o.ID == employee.DepartmentID).FirstOrDefault(); nationality = _nationality.Where(o => o.ID == employee.NationalityID).FirstOrDefault(); String RDLC = "Payroll.Report.RDLC.EmployeeCV.rdlc"; PayrollDataSet.dsCompany.EmployeeQualificationDataTable dEmpQualification = new Payroll.Report.PayrollDataSet.dsCompany.EmployeeQualificationDataTable(); PayrollDataSet.dsCompany.EmployeePersonalInfoDataTable dEmpInfo = new Payroll.Report.PayrollDataSet.dsCompany.EmployeePersonalInfoDataTable(); { oRow = dEmpInfo.NewRow(); oRow["EmpName"] = employee.Name; oRow["EmpCode"] = employee.EmployeeNo; oRow["FatherName"] = employee.FatherName; oRow["MotherName"] = employee.MotherName; oRow["VoterID"] = employee.NationalID; if (nationality != null) { oRow["Nationality"] = nationality.Description; } oRow["DateofBirth"] = employee.BirthDate.ToString("dd-MMM-yyyy"); oRow["Gender"] = employee.Gender; oRow["MartialStatus"] = employee.MaritalStatus; oRow["Religion"] = employee.Religion.Name; //oRow["MobileNo"] = employee.perso; oRow["Email"] = employee.EmailAddress; oRow["EmpPhotograph"] = pPath.EmployeePhoto + "\\" + employee.PhotoPath; if (employee.Contacts.Count > 0) { oRow["Telephone1"] = employee.Contacts[0].PersonalTelephone; oRow["Telephone2"] = employee.Contacts[0].PresentTelephone; oRow["MobileNo"] = employee.Contacts[0].Mobile; oRow["FaxNumber"] = employee.Contacts[0].Fax; oRow["VillagePA"] = employee.Contacts[0].ParmanentAddress; oRow["PostOfficePA"] = ""; oRow["ThanaPA"] = employee.Contacts[0].ParmanentThana.Name; oRow["DistrictPA"] = employee.Contacts[0].ParmanentDistrict.Name; oRow["VillageTA"] = employee.Contacts[0].PresentAddress; oRow["PostOfficeTA"] = ""; oRow["ThanaTA"] = employee.Contacts[0].PresentThana.Name; oRow["DistrictTA"] = employee.Contacts[0].PresentDistrict.Name; } if (department.Tier == 1) { oRow["Division"] = department.Name; oRow["Department"] = ""; oRow["Section"] = ""; } else if (department.Tier == 2) { oRow["Division"] = ""; oRow["Department"] = department.Name; oRow["Section"] = ""; } else if (department.Tier == 3) { oRow["Division"] = ""; oRow["Department"] = ""; oRow["Section"] = department.Parent.Name; } else { oRow["Division"] = ""; oRow["Department"] = department.Name; oRow["Section"] = ""; } oRow["Company"] = employee.Company.Name; //oRow["Division"] = ""; //oRow["Department"] = employee.Department.Name; //oRow["Section"] = ""; //oRow["EmpPhotograph"] = string.IsNullOrEmpty(oRow["EmpPhotograph"].ToString()) ? oRow["EmpPhotograph"].ToString() : pPath.EmployeePhoto + "\\" + oRow["EmpPhotograph"].ToString(); oRow["Designation"] = employee.Designation.Name; oRow["Appointment"] = employee.JoiningDate.ToString("dd-MMM-yyyy"); oRow["Status"] = employee.Status; oRow["Grade"] = employee.Grade.Name; } dEmpInfo.Rows.Add(oRow); DataSet dSet = new DataSet(); dEmpInfo.TableName = "dsCompany_EmployeePersonalInfo"; dSet.Tables.Add(dEmpInfo); { foreach (var empQualification in employee.Academics) { oRow1 = dEmpQualification.NewRow(); oRow1["Qualification"] = empQualification.EducationLevel.Description; oRow1["CompletionDate"] = empQualification.PassingYear.ToString(); dEmpQualification.Rows.Add(oRow1); } dEmpQualification.TableName = "dsCompany_EmployeeQualification"; dSet.Tables.Add(dEmpQualification); } fReportViewer form = new fReportViewer(); form.ShowDlg(dSet, RDLC); } public void GetEmpPostings() { fReportViewer form = new fReportViewer(); string sEmpID = _selectedParameter.ReportItem.INSQL; DataRow dr = null; int count = 1; Employee oEmployee = new Employee(); DataSet oEmpPostings = Employee.GetEmpPosting(sEmpID); PayrollDataSet.PayrollDataSet.PostingDetailsDataTable dTEmpPosting = new Payroll.Report.PayrollDataSet.PayrollDataSet.PostingDetailsDataTable(); foreach (DataRow oDRow in oEmpPostings.Tables[0].Rows) { dr = dTEmpPosting.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Designation"] = oDRow["DesgName"]; dr["Department"] = oDRow["Description"]; dTEmpPosting.Rows.Add(dr); count++; } form.ShowDlgForEmpPosting(_selectedParameter.ReportItem, dTEmpPosting); } public DataTable GetEmpPostingsNew(DateTime EffectDate) { fReportViewer form = new fReportViewer(); EmployeePosting oEmpPosting = null; ObjectsTemplate oEmployees = Employee.Get(); DataRow dr = null; int count = 1; string sTempEmpNo = string.Empty; Employee oEmployee = new Employee(); DataSet oEmpCurrentPostings = EmployeePosting.GetEmpCurrentPosting(EffectDate); //DataSet oEmpPrvPostings = Employee.GetEmpPrvPosting(EffectDate); PayrollDataSet.PayrollDataSet.PostingDetailsDataTable dTEmpPosting = new Payroll.Report.PayrollDataSet.PayrollDataSet.PostingDetailsDataTable(); sTempEmpNo = ""; try { foreach (DataRow oDRow in oEmpCurrentPostings.Tables[0].Rows) { sTempEmpNo = oDRow["EMPLOYEENO"].ToString(); dr = dTEmpPosting.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["CurrentDesignation"] = oDRow["CurrentDeg"]; dr["CurrentDepartment"] = oDRow["CurrentDept"]; dr["CurrentLocation"] = oDRow["CurrentLoc"]; dr["EffectDate"] = oDRow["EffectDate"]; dr["CommitedBy"] = oDRow["CommitedBy"]; dr["CommitedOn"] = oDRow["CommitedOn"]; Employee oEmp = oEmployees.Find( delegate(Employee oItem) { return oItem.EmployeeNo == sTempEmpNo; }); if (oEmp == null) { oEmp = Employee.Get(sTempEmpNo); } if (oEmp != null) oEmpPosting = EmployeePosting.Get(oEmp.ID, Convert.ToDateTime(oDRow["EffectDate"])); if (oEmpPosting != null) { dr["prvDesignation"] = oEmpPosting.Designation.Name; dr["prvDepartment"] = oEmpPosting.Department.Name; dr["prvLocation"] = oEmpPosting.Location.Name; } else { dr["prvDesignation"] = String.Empty; dr["prvDepartment"] = String.Empty; dr["prvLocation"] = String.Empty; } dTEmpPosting.Rows.Add(dr); count++; } } catch (Exception ex) { MessageBox.Show(ex.Message); } return dTEmpPosting; } public DataTable GetEmpHistories(DateTime dEffectDate, DateTime dEffectDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); DataRow dr = null; int count = 1; DataSet oEmpHis = EmployeeHistory.GetEmpHistory(dEffectDate, dEffectDate2); oEmpHis.Tables[0].Columns.Add("AuthorizedDate"); //DataSet oEmpPostings = Employee.GetEmpPosting(sEmpID); PayrollDataSet.PayrollDataSet.EmployeeHistoryDataTable dTEmpHistory = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeHistoryDataTable(); foreach (DataRow oDRow in oEmpHis.Tables[0].Rows) { dr = dTEmpHistory.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Designation"] = oDRow["DESIGNATION"]; //dr["CC"] = oDRow["RC"]; dr["Grade"] = oDRow["Grade"]; dr["DOJ"] = oDRow["JOININGDATE"]; dr["DOS"] = oDRow["ENDOFCONTRACTDATE"]; dr["Comments"] = oDRow["Comments"]; dr["CommitedBy"] = oDRow["CommitedBy"]; dr["CommitedDate"] = oDRow["CreationDate"]; dr["StatusDate"] = dEffectDate; switch ((EnumEmployeeStatus)Convert.ToInt32(oDRow["status"])) { case EnumEmployeeStatus.Discontinued: dr["Reason"] = "Discontinued"; break; case EnumEmployeeStatus.Secondy: dr["Reason"] = "Secondy"; break; case EnumEmployeeStatus.Suspend: dr["Reason"] = "Suspend"; break; case EnumEmployeeStatus.Withheld: dr["Reason"] = "Withheld"; break; default: dr["Reason"] = "Unknown"; break; } if (Payroll.BO.SystemInformation.CurrentSysInfo.Code.Contains("007")) { int nlifeCycleID = Convert.ToInt16(oDRow["emplifecycleid"]); int nEmployeeid = Convert.ToInt16(oDRow["Employeeid"]); if (nlifeCycleID > 0) { EmpLifeCycle lifeCycle = _lifeCycles.Find(delegate(EmpLifeCycle oItem) { return oItem.ID.Integer == nlifeCycleID; }); if (lifeCycle != null) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID.Integer == nEmployeeid && oItem.ObjectID == lifeCycle.ID.Integer && oItem.SalaryMonth.Year == Convert.ToDateTime(oDRow["EffectDate"]).Year && oItem.SalaryMonth.Month == Convert.ToDateTime(oDRow["EffectDate"]).Month && oItem.FinanatialDataType == EnumApprovalFinancialData.Lifecycle; }); if (finalcialData != null) { User user = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (user != null) dr["AuthorizeBy"] = user.Name; dr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; } dTEmpHistory.Rows.Add(dr); count++; } return dTEmpHistory; } public DataTable GetEmpJoining(DateTime dEffectDate, DateTime dEffectDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); List oReligions = Religion.Get(); DataRow dr = null; int count = 1; DataSet oEmpJoining = Employee.GetEmpJoining(dEffectDate, dEffectDate2); oEmpJoining.Tables[0].Columns.Add("AuthorizedDate"); PayrollDataSet.PayrollDataSet.EmpJoining4NovartisDataTable dTEmpJoining = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpJoining4NovartisDataTable(); foreach (DataRow oDRow in oEmpJoining.Tables[0].Rows) { dr = dTEmpJoining.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Designation"] = oDRow["DegName"]; dr["Sex"] = "Male"; if (Convert.ToDouble(oDRow["Gender"]) == 1) { dr["Sex"] = "Male"; } else if (Convert.ToDouble(oDRow["Gender"]) == 2) { dr["Sex"] = "Female"; } dr["JoiningDate"] = Convert.ToDateTime(oDRow["JoiningDate"]).ToString("dd MMM yyyy"); dr["Grade"] = oDRow["Description"]; dr["DOB"] = oDRow["BIRTHDATE"]; dr["Gross"] = oDRow["Grosssalary"]; dr["StatusDate"] = dEffectDate; dr["Basic"] = oDRow["basicsalary"]; Religion reli = oReligions.Find(delegate(Religion oItem) { return oItem.ID.Integer == Convert.ToInt16(oDRow["religionid"]); }); dr["MaritalStatus"] = (EnumMaritalStatus)Convert.ToInt16(oDRow["maritalstatusid"]); dr["Religion"] = reli == null ? "" : reli.Name; dr["CommitedOn"] = Convert.ToDateTime(oDRow["creationdate"]).ToString("dd MMM yyyy"); //if (oDRow["createduser"] != null) //{ // int nUserID = Convert.ToInt16(oDRow["createduser"]); // User user = _users.Find(delegate(User oItem) // { // return oItem.ID.Integer == nUserID; // }); // if (user != null) // dr["CommitedBy"] = user.Name; //} //else dr["CommitedBy"] = Convert.ToString(oDRow["createduser"]); ; EmpLifeCycle lifeCycle = _lifeCycles.Find(delegate(EmpLifeCycle oItem) { return oItem.EmployeeID.Integer == Convert.ToInt16(oDRow["employeeid"]) && oItem.IsContinue == true; }); if (lifeCycle != null) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID.Integer == Convert.ToInt16(oDRow["employeeid"]) && oItem.ObjectID == lifeCycle.ID.Integer && oItem.SalaryMonth.Year == lifeCycle.EffectDate.Year && oItem.SalaryMonth.Month == lifeCycle.EffectDate.Month && oItem.FinanatialDataType == EnumApprovalFinancialData.Lifecycle; }); if (finalcialData != null) { User user = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (user != null) dr["AuthorizeBy"] = user.Name; dr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; //int nlifeCycleID = Convert.ToInt16(oDRow["emplifecycleid"]); //int nEmployeeid = Convert.ToInt16(oDRow["employeeid"]); //if (nlifeCycleID > 0) //{ // EmpLifeCycle lifeCycle = _lifeCycles.Find(delegate(EmpLifeCycle oItem) // { // return oItem.ID.Integer == nlifeCycleID; // }); // if (lifeCycle != null) // { // ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) // { // return oItem.EmployeeID.Integer == nEmployeeid && // oItem.ObjectID == lifeCycle.ID.Integer && // oItem.SalaryMonth == Convert.ToDateTime(oDRow["EffectDate"]) && // oItem.FinanatialDataType == EnumApprovalFinancialData.Lifecycle; // }); // if (finalcialData != null) // { // User user = _users.Find(delegate(User oItem) // { // return oItem.ID.Integer == finalcialData.Approvedby; // }); // if (user != null) // dr["AuthorizeBy"] = user.Name; // } // else // dr["AuthorizeBy"] = ""; // } // else // dr["AuthorizeBy"] = ""; //} //else // dr["AuthorizeBy"] = ""; dTEmpJoining.Rows.Add(dr); count++; } return dTEmpJoining; } public DataTable GetEmpJoining4Novartis(DateTime dEffectDate) { //DataTable dt = new DataTable(); DataRow dr = null; string sTempEmpNo = string.Empty; int count = 1; DataSet oEmpJoining = Employee.GetEmpJoining4Novartis(dEffectDate); //PayrollDataSet.PayrollDataSet.EmployeeJoiningDataTable dTEmpJoining = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeJoiningDataTable(); PayrollDataSet.PayrollDataSet.EmpJoining4NovartisDataTable dTEmpJoining = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpJoining4NovartisDataTable(); foreach (DataRow oDRow in oEmpJoining.Tables[0].Rows) { if (sTempEmpNo == string.Empty || sTempEmpNo != oDRow["EMPLOYEENO"].ToString()) { sTempEmpNo = oDRow["EMPLOYEENO"].ToString(); dr = dTEmpJoining.NewRow(); dr["SlNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Designation"] = oDRow["Designation"]; //dr["CC"] = oDRow["RC"]; dr["DOJ"] = oDRow["DOJ"]; dr["Grade"] = oDRow["Grade"]; dr["Basic"] = oDRow["Basic"]; dr["DOB"] = oDRow["DOB"]; if (Convert.ToDouble(oDRow["Sex"]) == 1) { dr["Sex"] = "Male"; } else if (Convert.ToDouble(oDRow["Sex"]) == 2) { dr["Sex"] = "Female"; } if (Convert.ToInt32(oDRow["MaritalStatusID"]) == 0) { dr["MaritalStatus"] = "None"; } else if (Convert.ToInt32(oDRow["MaritalStatusID"]) == 1) { dr["MaritalStatus"] = "Married"; } else if (Convert.ToInt32(oDRow["MaritalStatusID"]) == 2) { dr["MaritalStatus"] = "UnMarried"; } dr["Religion"] = oDRow["Religion"]; dr["CommitedBy"] = oDRow["CommitedBy"]; dr["CommitedOn"] = oDRow["CommitedOn"]; dr["StatusDate"] = dEffectDate; dTEmpJoining.Rows.Add(dr); count++; } else if (sTempEmpNo == oDRow["EMPLOYEENO"].ToString()) { dr["CC"] += "," + oDRow["RC"]; } #region // //dr = dTEmpJoining.NewRow(); //dr["SlNo"] = count; //dr["EmpNo"] = oDRow["EMPLOYEENO"]; //dr["Name"] = oDRow["NAME"]; //dr["Designation"] = oDRow["Designation"]; //dr["CC"] = oDRow["RC"] ; //if (dr["EmpNo"].ToString().Equals(oDRow["EMPLOYEENO"].ToString())) //{ // dr["CC"] += oDRow["RC"] + " "; //} //dr["DOJ"] = oDRow["DOJ"]; //dr["Grade"] = oDRow["Grade"]; //dr["Basic"] = oDRow["Basic"]; //dr["DOB"] = oDRow["DOB"]; //if (Convert.ToDouble(oDRow["Sex"]) == 1) //{ // dr["Sex"] = "Male"; //} //else if (Convert.ToDouble(oDRow["Sex"]) == 2) //{ // dr["Sex"] = "Female"; //} //if (Convert.ToInt32(oDRow["MaritalStatusID"]) == 0) //{ // dr["MaritalStatus"] = "None"; //} //else if (Convert.ToInt32(oDRow["MaritalStatusID"]) == 1) //{ // dr["MaritalStatus"] = "Married"; //} //else if (Convert.ToInt32(oDRow["MaritalStatusID"]) == 2) //{ // dr["MaritalStatus"] = "UnMarried"; //} //dr["Religion"] = oDRow["Religion"]; //dr["CommitedBy"] = oDRow["CommitedBy"]; //dr["CommitedOn"] = oDRow["CommitedOn"]; //dr["StatusDate"] = dEffectDate; //dTEmpJoining.Rows.Add(dr); //count++; #endregion } return dTEmpJoining; } public DataTable GetEmpBasicGrade(DateTime dEffectDate, DateTime dEffectDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); EmployeeGradeSalary oEmpGradeSalary = null; DataRow dr = null; int count = 1; ObjectsTemplate oEmployees = Employee.Get(); DataSet oEmpBasicGrade = EmployeeGradeSalary.GetEmpBasicGrade(dEffectDate, dEffectDate2); oEmpBasicGrade.Tables[0].Columns.Add("AuthorizedDate"); //DataSet oEmpPrvBasicGrade = EmployeeGradeSalary.GetEmpPrvBasicGrade(dEffectDate); PayrollDataSet.PayrollDataSet.EmpGradeBasicDataTable dTEmpGBasic = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpGradeBasicDataTable(); foreach (DataRow oDRow in oEmpBasicGrade.Tables[0].Rows) { dr = dTEmpGBasic.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["EffectDate"] = oDRow["EFFECTDATE"]; //dr["EnteryDate"] = oDRow["ENTRYDATE"]; dr["PresentGrade"] = oDRow["PresentGrade"]; dr["PresentBasic"] = oDRow["PresentBasic"]; dr["CommitedBy"] = oDRow["CommitedBy"]; dr["CommitedDate"] = oDRow["CreatedDate"]; dr["ChangeType"] = oDRow["ChangeType"]; dr["StatusDate"] = dEffectDate; Employee oEmp = oEmployees.Find(delegate(Employee oItem) { return oItem.EmployeeNo == Convert.ToString(oDRow["EMPLOYEENO"]); }); if (oEmp == null) oEmp = Employee.Get(Convert.ToString(oDRow["EMPLOYEENO"])); if (oEmp != null) { oEmpGradeSalary = EmployeeGradeSalary.Get(oEmp.ID, Convert.ToDateTime(oDRow["EffectDate"])); if (oEmpGradeSalary != null) { dr["PreviousGrade"] = oEmpGradeSalary.Grade.Name; dr["PreviousBasic"] = oEmpGradeSalary.BasicSalary; } } if (Payroll.BO.SystemInformation.CurrentSysInfo.Code.Contains("007")) { dr["ChangedBy"] = ""; int nGradeSalaryID = Convert.ToInt16(oDRow["EMPGRADESALARYID"]); if (nGradeSalaryID > 0) { //EmpLifeCycle lifeCycle = null; //foreach (EmpLifeCycle it in _lifeCycles) //{ // if (it.GradeSalaryAssesmentID != null && it.GradeSalaryAssesmentID.IsUnassigned==false) // { // try // { // if (it.EmployeeID == oEmp.ID && // it.GradeSalaryAssesmentID.Integer == nGradeSalaryID && // it.EffectDate == Convert.ToDateTime(oDRow["EffectDate"])) // { // lifeCycle = it; // } // } // catch // { // } // } //} EmpLifeCycle lifeCycle = _lifeCycles.FirstOrDefault(delegate(EmpLifeCycle oItem) { return oItem.EmployeeID == oEmp.ID && oItem.GradeSalaryAssesmentID.IsUnassigned == false && oItem.GradeSalaryAssesmentID.Integer == nGradeSalaryID && oItem.SalaryMonth.Year == Convert.ToDateTime(oDRow["EffectDate"]).Year && oItem.SalaryMonth.Month == Convert.ToDateTime(oDRow["EffectDate"]).Month; }); if (lifeCycle != null) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID == oEmp.ID && oItem.ObjectID == lifeCycle.ID.Integer && oItem.SalaryMonth.Year == Convert.ToDateTime(oDRow["EffectDate"]).Year && oItem.SalaryMonth.Month == Convert.ToDateTime(oDRow["EffectDate"]).Month && oItem.FinanatialDataType == EnumApprovalFinancialData.Lifecycle; }); if (finalcialData != null) { User user = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (user != null) dr["AuthorizeBy"] = user.Name; dr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; } dTEmpGBasic.Rows.Add(dr); count++; } return dTEmpGBasic; } public DataTable GetEmpAllowDeduct(DateTime dEffectDate, DateTime dEffectDate2, ID AllowDeductID, String AllowDeduct) { List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); DataRow dr = null; int count = 1; DataSet oEmpAllowDeduct = AllowanceDeduction.GetEmpAllowDeduc2(dEffectDate, dEffectDate2, AllowDeductID); oEmpAllowDeduct.Tables[0].Columns.Add("AuthorizedDate"); PayrollDataSet.PayrollDataSet.EmpAllowDeductDataTable dTEmpGBasic = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpAllowDeductDataTable(); foreach (DataRow oDRow in oEmpAllowDeduct.Tables[0].Rows) { dr = dTEmpGBasic.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Grade"] = oDRow["Grade"]; //dr["RC"] = oDRow["RC"]; dr["Designation"] = oDRow["Designation"]; //dr["EntryDate"] = oDRow["ENTRYDATE"]; dr["Amount"] = oDRow["AMOUNT"]; dr["AllowDeduct"] = AllowDeduct; dr["StatusDate"] = dEffectDate; //dr["UserName"] = oDRow["USERNAME"]; User user = _users.FirstOrDefault(o => o.ID.Integer == (!oDRow.IsNull("modifiedBy") ? Convert.ToInt32(oDRow["modifiedBy"]) : 0)); //User user = _users.Find(delegate(User oItem) //{ // return oItem.ID.Integer =(oDRow["modifiedBy"]!=string.Empty? Convert.ToInt32(oDRow["modifiedBy"]):0); //}); if (user != null) dr["CommitedBy"] = user.Name; dr["CommitedOn"] = (!oDRow.IsNull("modifiedDate") ? Convert.ToDateTime(oDRow["modifiedDate"]).ToString("dd MMM yyyy") : string.Empty); int nAdparameterEmpid = (!oDRow.IsNull("adparameterempid") ? Convert.ToInt16(oDRow["adparameterempid"]) : 0); int nEmployeeid = Convert.ToInt16(oDRow["employeeid"]); EnumApprovalFinancialData enmType = AllowDeduct.ToLower().Contains("deduction") ? EnumApprovalFinancialData.Deduction : EnumApprovalFinancialData.Allowance; if (nAdparameterEmpid > 0) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID.Integer == nEmployeeid && oItem.ObjectID == nAdparameterEmpid && oItem.FinanatialDataType == enmType; }); if (finalcialData != null) { User usr = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (usr != null) dr["AuthorizeBy"] = usr.Name; dr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; dTEmpGBasic.Rows.Add(dr); count++; } return dTEmpGBasic; } public DataTable GetEmpBankHistory(DateTime dEffectDate, DateTime dEffectDate2) { DateTime dFromtDate = dEffectDate; DateTime dToDate = dEffectDate2; List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); //bool prvNotFound = false; DataRow dr = null; int count = 1; ObjectsTemplate oEmployees = Employee.Get(); EmployeeBankAccount oEmpBankAccount = null; DataSet oEmpBankHis = EmployeeBankAccount.GetEmpBankHistory(dEffectDate, dEffectDate2); List oAccountHists = EmployeeBankAccount.GetByDate(dFromtDate, dToDate, ""); oEmpBankHis.Tables[0].Columns.Add("AuthorizeBy"); oEmpBankHis.Tables[0].Columns.Add("AuthorizedDate"); //DataSet oEmpPrvBankHis = EmployeeBankAccount.GetEmpPrvBankHistory(dEffectDate); PayrollDataSet.PayrollDataSet.EmpBankHistoryDataTable dTEmpGBasic = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpBankHistoryDataTable(); try { foreach (DataRow oDRow in oEmpBankHis.Tables[0].Rows) { dr = dTEmpGBasic.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["CBankName"] = oDRow["CBank"]; dr["CAccount"] = oDRow["CACCOUNTNO"]; dr["CBranch"] = oDRow["CBranch"]; dr["ChangeEffectDate"] = oDRow["CHANGEDATE"]; dr["CommitedBy"] = oDRow["CommitedBy"]; dr["CommitedDate"] = Convert.ToDateTime(oDRow["CreationDate"]).ToString("dd MMM yyyy hh:mm:ss tt"); dr["StatusDate"] = dEffectDate; //Employee oEmp = // oEmployees.Find( // delegate(Employee oItem) // { return oItem.ID.Integer == Convert.ToInt32(oDRow["ID"]); }); //oEmpBankAccount = EmployeeBankAccount.Get(ID.FromInteger(Convert.ToInt32(oDRow["ID"])), Convert.ToDateTime(oDRow["CHANGEDATE"])); oEmpBankAccount = oAccountHists.Find(delegate(EmployeeBankAccount his) { return his.ID.Integer == Convert.ToInt32(oDRow["AccountID"]); }); if (oEmpBankAccount != null) { dr["PBankName"] = oEmpBankAccount.Branch.Bank.Name; dr["PAccount"] = oEmpBankAccount.AccountNo; dr["PBranch"] = oEmpBankAccount.Branch.Name; } if (oEmpBankAccount.ID.Integer > 0) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID == oEmpBankAccount.EmployeeID && oItem.ObjectID == oEmpBankAccount.ID.Integer && oItem.FinanatialDataType == EnumApprovalFinancialData.BankAccountHistory; }); if (finalcialData != null) { User usr = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (usr != null) dr["AuthorizeBy"] = usr.Name; dr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; //else //{ // dr["PBankName"] = String.Empty; // dr["PAccount"] = String.Empty; // dr["PBranch"] = String.Empty; //} //if (oEmpPrvBankHis != null) //{ // if (oEmpPrvBankHis.Tables[0].Rows.Count > 0) // { // foreach (DataRow oDDRow in oEmpPrvBankHis.Tables[0].Rows) // { // if (dr["EmpNo"].ToString().Equals(oDDRow["EMPLOYEENO"].ToString())) // { // dr["PBankName"] += oDDRow["PBank"] + " "; // dr["PAccount"] += oDDRow["PACCOUNTNO"] + " "; // dr["PBranch"] += oDDRow["PBranch"] + " "; // } // } // } //} //else //{ // prvNotFound = true; //} dTEmpGBasic.Rows.Add(dr); count++; } } catch (Exception ex) { MessageBox.Show(ex.Message); } return dTEmpGBasic; } public DataTable GetEmpConfirmation(DateTime dEffectDate, DateTime dEffectDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); DataRow dr = null; int count = 1; DataSet oEmpConfirm = Employee.GetEmpConfirmHis(dEffectDate, dEffectDate); oEmpConfirm.Tables[0].Columns.Add("AuthorizedDate"); PayrollDataSet.PayrollDataSet.EmpConfirmHisDataTable dTEmpCHistory = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpConfirmHisDataTable(); foreach (DataRow oDRow in oEmpConfirm.Tables[0].Rows) { dr = dTEmpCHistory.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Designation"] = oDRow["Designation"]; dr["Grade"] = oDRow["Grade"]; dr["DOJ"] = oDRow["JOININGDATE"]; dr["CDate"] = oDRow["DATEOFCONFIRMATION"]; //dr["RC"] = oDRow["CostCenter"]; dr["CommitedBy"] = oDRow["CommitedBy"]; dr["CommitedDate"] = oDRow["CreationDate"]; dr["StatusDate"] = dEffectDate; if (Payroll.BO.SystemInformation.CurrentSysInfo.Code.Contains("007")) { int nlifeCycleID = Convert.ToInt16(oDRow["emplifecycleid"]); int nEmployeeid = Convert.ToInt16(oDRow["Employeeid"]); if (nlifeCycleID > 0) { EmpLifeCycle lifeCycle = _lifeCycles.Find(delegate(EmpLifeCycle oItem) { return oItem.ID.Integer == nlifeCycleID; }); if (lifeCycle != null) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID.Integer == nEmployeeid && oItem.ObjectID == lifeCycle.ID.Integer && oItem.SalaryMonth.Year == Convert.ToDateTime(oDRow["EffectDate"]).Year && oItem.SalaryMonth.Month == Convert.ToDateTime(oDRow["EffectDate"]).Month && oItem.FinanatialDataType == EnumApprovalFinancialData.Lifecycle; }); if (finalcialData != null) { User user = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (user != null) dr["AuthorizeBy"] = user.Name; dr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; } else dr["AuthorizeBy"] = ""; } dTEmpCHistory.Rows.Add(dr); count++; } return dTEmpCHistory; } public DataTable GetUpCommingEmpConfirmation(DateTime dEffectDate, double dayCount) { DataRow dr = null; //double dateDiff = 0.0; TimeSpan dDate; int nDay = 0; Int32 count = 1; ObjectsTemplate _employees = new ObjectsTemplate(); _employees = Employee.Get(); PayrollDataSet.PayrollDataSet.UpCommingEmpDataTable dTUpCommingEmp = new Payroll.Report.PayrollDataSet.PayrollDataSet.UpCommingEmpDataTable(); foreach (Employee oEmp in _employees) { dDate = dEffectDate - oEmp.JoiningDate; nDay = dDate.Days; //dateDiff = GlobalFunctions.Round(GlobalFunctions.GetFraction(oEmp.JoiningDate, dEffectDate)); if (nDay > dayCount && oEmp.IsConfirmed == false && oEmp.Status != EnumEmployeeStatus.Discontinued) { dr = dTUpCommingEmp.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oEmp.EmployeeNo; dr["Name"] = oEmp.Name; dr["JDate"] = oEmp.JoiningDate; dr["Month"] = Convert.ToInt32(nDay / 30); dr["PMonth"] = dEffectDate; dr["Grade"] = oEmp.Grade.Name; dr["Designation"] = oEmp.DescriptionText; dTUpCommingEmp.Rows.Add(dr); count++; } } return dTUpCommingEmp; } public DataTable GetEmpLFAData(DateTime dStartDate, DateTime dEndDate) { DataRow dr = null; int count = 1; ObjectsTemplate oADParameterEmployees = ADParameterEmployee.Get(ID.FromInteger(14), GlobalFunctions.FirstDateOfMonth(dStartDate), GlobalFunctions.LastDateOfMonth(dEndDate)); PayrollDataSet.PayrollDataSet.EmployeeLFADataDataTable dTEmpLFAData = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeLFADataDataTable(); foreach (ADParameterEmployee oADParamEmp in oADParameterEmployees) { dr = dTEmpLFAData.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oADParamEmp.Employee.EmployeeNo; dr["Name"] = oADParamEmp.Employee.Name; dr["Month"] = oADParamEmp.FormDate.ToString("dd MMM yyyy"); dr["Amount"] = oADParamEmp.MonthlyAmount; dTEmpLFAData.Rows.Add(dr); count++; } return dTEmpLFAData; } public ObjectsTemplate GetALlLFAData(DateTime dStartDate, DateTime dEndDate) { ObjectsTemplate oADParameterEmployees = ADParameterEmployee.Get(ID.FromInteger(14), GlobalFunctions.FirstDateOfMonth(dStartDate), GlobalFunctions.LastDateOfMonth(dEndDate)); return oADParameterEmployees; } public DataTable GetEmpPFHistory(DateTime dEffectDate) { DataRow dr = null; int count = 1; DataSet oEmpPF = Employee.GetEmpPFHis(dEffectDate); PayrollDataSet.PayrollDataSet.EmpPFHisDataTable dTEmpPFHistory = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpPFHisDataTable(); foreach (DataRow oDRow in oEmpPF.Tables[0].Rows) { dr = dTEmpPFHistory.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oDRow["EMPLOYEENO"]; dr["Name"] = oDRow["NAME"]; dr["Grade"] = oDRow["DESCRIPTION"]; dr["PFMDate"] = oDRow["PFMEMBERSHIPDT"]; dr["CommitedBy"] = oDRow["UserName"]; dr["CommitedDate"] = oDRow["CreationDate"]; dr["StatusDate"] = dEffectDate; dTEmpPFHistory.Rows.Add(dr); count++; } return dTEmpPFHistory; } //public DataTable GetAllInfoForLAFForAllEmployees() //{ // DateTime fiscalStartDate = Payroll.BO.SystemInformation.CurrentSysInfo.TaxYearEndDate.AddDays(1); // DateTime fiscalEndDate = Ease.CoreV35.Utility.Global.DateFunctions.LastDateOfMonth(Payroll.BO.SystemInformation.CurrentSysInfo.TaxYearEndDate.AddDays(1).AddMonths(11)); // ObjectsTemplate oADParameterEmployees = ADParameterEmployee.GetByAllow(ID.FromInteger(14)); // ObjectsTemplate allEmployees = Employee.Get(); // var rslt = oADParameterEmployees.Where(o => (o.FormDate >= fiscalStartDate && o.TillDate <= fiscalEndDate)); // var finalrslt = from lafemp in rslt join empls in allEmployees on lafemp.EmployeeID.Integer equals empls.ID.Integer select new { empNo = empls.EmployeeNo, empName = empls.Name, month = lafemp.FormDate.Month, Amount = lafemp.MonthlyAmount }; // PayrollDataSet.PayrollDataSet.LFAIndividualEmployeeDataTable oDt = new Payroll.Report.PayrollDataSet.PayrollDataSet.LFAIndividualEmployeeDataTable(); // int count = 0; // foreach (var undefinedObj in finalrslt) // { // count++; // DataRow odr = oDt.NewRow(); // odr["SnNo"] = count; // odr["EmployeeNo"] = undefinedObj.empNo; // odr["EmployeeName"] = undefinedObj.empName; // odr["Month"] = ((EnumMonths)undefinedObj.month).ToString(); // odr["Amount"] = undefinedObj.Amount; // oDt.Rows.Add(odr); // } // return oDt; //} public DataTable GetAllTransferData(DateTime tDate) { DataTable ds = null; //TransferTPToPR.GetByMonthStartMonthEnd(GlobalFunctions.FirstDateOfMonth(tDate), // GlobalFunctions.LastDateOfMonth(tDate)); //PayrollDataSet.PayrollDataSet.dtTransferTPToPRDataTable oDt = // new PayrollDataSet.PayrollDataSet.dtTransferTPToPRDataTable(); //DataRow ndr = null; //int sl = 0; //if (ds.Tables.Count != 0) //{ // foreach (DataRow dr in ds.Tables[0].Rows) // { // ndr = oDt.NewRow(); // sl++; // ndr["SL"] = sl; // ndr["EmployeeNo"] = dr["EmployeeNo"]; // ndr["EmployeeName"] = dr["EmployeeName"]; // ndr["TransferDate"] = dr["TransferDate"]; // ndr["UserIDWhoChanged"] = dr["UserIDWhoChanged"]; // ndr["ChangedDate"] = dr["ChangedDate"]; // oDt.Rows.Add(ndr); // } //} return ds; } public DataTable GetAllTransferDataForContinueFromDiscontinue(DateTime tDate, DateTime tDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); List _finalcialDatas = ApproveFinantialData.Get(); List _users = User.Get(EnumSystemType.Desktop); DataSet ds = Employee.GetByMonthStartMonthEndForContinueFromDiscontinue(tDate, tDate2); ds.Tables[0].Columns.Add("AuthorizedDate"); PayrollDataSet.PayrollDataSet.EmpContinueFromDiscontinueDataTable oDt = new PayrollDataSet.PayrollDataSet.EmpContinueFromDiscontinueDataTable(); DataRow ndr = null; int sl = 0; if (ds.Tables.Count != 0) { foreach (DataRow dr in ds.Tables[0].Rows) { ndr = oDt.NewRow(); sl++; ndr["SL"] = sl; ndr["EmployeeNo"] = dr["EmployeeNo"]; ndr["EmployeeName"] = dr["EmployeeName"]; ndr["ContinueDate"] = dr["ContinueDate"]; ndr["UserIdWhoChangedIt"] = dr["UserIdWhoChangedIt"]; ndr["ChangedDate"] = dr["ChangedDate"]; if (Payroll.BO.SystemInformation.CurrentSysInfo.Code.Contains("007")) { int nlifeCycleID = Convert.ToInt16(dr["emplifecycleid"]); int nEmployeeid = Convert.ToInt16(dr["Employeeid"]); if (nlifeCycleID > 0) { EmpLifeCycle lifeCycle = _lifeCycles.Find(delegate(EmpLifeCycle oItem) { return oItem.ID.Integer == nlifeCycleID; }); if (lifeCycle != null) { ApproveFinantialData finalcialData = _finalcialDatas.Find(delegate(ApproveFinantialData oItem) { return oItem.EmployeeID.Integer == nEmployeeid && oItem.ObjectID == lifeCycle.ID.Integer && oItem.SalaryMonth.Year == Convert.ToDateTime(dr["ContinueDate"]).Year && oItem.SalaryMonth.Month == Convert.ToDateTime(dr["ContinueDate"]).Month && oItem.FinanatialDataType == EnumApprovalFinancialData.Lifecycle; }); if (finalcialData != null) { User user = _users.Find(delegate(User oItem) { return oItem.ID.Integer == finalcialData.Approvedby; }); if (user != null) ndr["AuthorizeBy"] = user.Name; ndr["AuthorizedDate"] = finalcialData.ApprovedDate.ToString("dd MMM yyyy hh:mm:ss tt"); } else ndr["AuthorizeBy"] = ""; } else ndr["AuthorizeBy"] = ""; } else ndr["AuthorizeBy"] = ""; } oDt.Rows.Add(ndr); } } return oDt; } //public DataTable GetITAndBasic(DateTime targetDate) //{ // DateTime startDate = GlobalFunctions.FirstDateOfMonth(targetDate); // DateTime endDate = GlobalFunctions.LastDateOfMonth(targetDate); // DataSet ds = Employee.GetITAndBasic(startDate, endDate); // PayrollDataSet.PayrollDataSet.EmpITInfoAndBasicInfoDataTable oDt = // new PayrollDataSet.PayrollDataSet.EmpITInfoAndBasicInfoDataTable(); // DataRow ndr = null; // int sl = 0; // if (ds.Tables.Count != 0) // { // foreach (DataRow dr in ds.Tables[0].Rows) // { // ndr = oDt.NewRow(); // sl++; // ndr["SNL"] = sl; // ndr["Name"] = dr["Name"]; // ndr["EmpNo"] = dr["EmpNo"]; // ndr["Designation"] = dr["Designation"]; // ndr["Grade"] = dr["Grade"]; // ndr["Amount"] = dr["Amount"]; // if (Convert.ToInt32(dr["Gander"]) == 1) // ndr["Gander"] = "Male"; // else ndr["Gander"] = "Female"; // oDt.Rows.Add(ndr); // } // } // return oDt; //} public void ShowEmployeeRetirement() { string sEmpID = _selectedParameter.ReportItem.INSQL; ObjectsTemplate allEmps = Employee.GetByEmpIDs(sEmpID); PayrollDataSet.PayrollDataSet.EmployeeRetirementDataTable empRetirement = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeRetirementDataTable(); DataRow ndr = null; if (allEmps != null && allEmps.Count >= 0) { int srl = 0; foreach (Employee obemp in allEmps) { srl++; ndr = empRetirement.NewRow(); ndr["SLNo"] = srl; ndr["EmpName"] = obemp.Name; ndr["EmpNo"] = obemp.EmployeeNo; ndr["DateOfBirth"] = obemp.BirthDate; double dbt = Convert.ToDouble(Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", obemp.BirthDate, DateTime.Now)); double dt = dbt / 365.0; decimal tdm = Convert.ToDecimal(dt); double rslt = Math.Ceiling(dt); decimal age = Math.Round(tdm); ndr["Age"] = age; ndr["JoiningDate"] = obemp.JoiningDate; DateTime retDate; if (obemp.PayrollTypeID.Integer == 2) { retDate = obemp.BirthDate.AddYears(56); } else { retDate = obemp.BirthDate.AddYears(58); } ndr["RetirementDate"] = retDate; string gndr = String.Empty; if (obemp.Gender == EnumGender.Male) { gndr = "Male"; } else if (obemp.Gender == EnumGender.Female) { gndr = "Female"; } //else if (obemp.Gender == EnumGender.Other) //{ // gndr = "Other"; //} else if (obemp.Gender == EnumGender.None) { gndr = "None"; } ndr["Gender"] = gndr; empRetirement.Rows.Add(ndr); } } fReportViewer form = new fReportViewer(); form.ShowRetirement(empRetirement); } public DataTable GetUpCommingEmpConfirmationForRekit(DateTime dEffectDate, double dayCount) { DataRow dr = null; //double dateDiff = 0.0; TimeSpan dDate; int nDay = 0; Int32 count = 1; ObjectsTemplate _employees = new ObjectsTemplate(); _employees = Employee.Get(); PayrollDataSet.PayrollDataSet.UpCommingEmpDataTable dTUpCommingEmp = new Payroll.Report.PayrollDataSet.PayrollDataSet.UpCommingEmpDataTable(); foreach (Employee oEmp in _employees) { dDate = dEffectDate - oEmp.JoiningDate; nDay = dDate.Days; //dateDiff = GlobalFunctions.Round(GlobalFunctions.GetFraction(oEmp.JoiningDate, dEffectDate)); if (nDay > dayCount && oEmp.IsConfirmed == false && oEmp.Status != EnumEmployeeStatus.Discontinued) { dr = dTUpCommingEmp.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = oEmp.EmployeeNo; dr["Name"] = oEmp.Name; dr["JDate"] = oEmp.JoiningDate; dr["Month"] = Convert.ToInt32(nDay / 30); dr["PMonth"] = dEffectDate; dr["Grade"] = oEmp.Grade.Name == String.Empty ? String.Empty : oEmp.Grade.Name; dr["Designation"] = oEmp.DescriptionText == String.Empty ? String.Empty : oEmp.DescriptionText; dTUpCommingEmp.Rows.Add(dr); count++; } } return dTUpCommingEmp; } public void PrintEmpEnvelop() { fReportViewer form = new fReportViewer(); string sEmpID = _selectedParameter.ReportItem.INSQL; DataRow dr = null; DataSet dEmployee = null; dEmployee = MiscellaneousDataset.PrintEnvelop(sEmpID); PayrollDataSet.PayrollDataSet.EmpLifeCycleDataTable dEmpEnvelop = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpLifeCycleDataTable(); foreach (DataRow oDR in dEmployee.Tables[0].Rows) { dr = dEmpEnvelop.NewRow(); dr["EmpNo"] = oDR["EmployeeNo"]; dr["Name"] = oDR["Name"]; dr["Designation"] = oDR["Designation"]; dr["Department"] = oDR["Department"]; dEmpEnvelop.Rows.Add(dr); } form.PrintEnvelop(_selectedParameter.ReportItem, dEmpEnvelop); } public void ShowCashAdvice() { List Authorizations = new List(); Authorizations = AuthorizedPerson.GetByReportID(ID.FromInteger(54)); string[] AuthorizedNames = new string[] { "", "", "", "" }; string[] AuthorizedDesigs = new string[] { "", "", "", "" }; for (int i = 0; i < Authorizations.Count; i++) { if (i == 4) break; AuthorizedNames[i] = Authorizations[i].Name; AuthorizedDesigs[i] = Authorizations[i].Designation; } string sEmpID = _selectedParameter.ReportItem.INSQL; DateTime dt = GlobalFunctions.LastDateOfMonth(_selectedParameter.FromDate.Value); string dSalDate = dt.ToString("dd MMM yyyy"); fReportViewer form = new fReportViewer(); DataRow dr = null; DataSet oDeptDetails = Employee.GetCashAdvice(sEmpID, dSalDate); List oSerialNumbers = SetSerialNumber(); PayrollDataSet.dsCompany.dtCashAdviceDataTable dtPayrollDetails = new Payroll.Report.PayrollDataSet.dsCompany.dtCashAdviceDataTable(); PayrollDataSet.dsCompany.dtCashAdviceDataTable dtNewPayrollDetails = new Payroll.Report.PayrollDataSet.dsCompany.dtCashAdviceDataTable(); PayrollDataSet.dsCompany.dtCashAdviceDataTable dtSortedPayrollDetails = new Payroll.Report.PayrollDataSet.dsCompany.dtCashAdviceDataTable(); #region Old Code #endregion foreach (DataRow orr in oDeptDetails.Tables[0].Rows) { dr = dtPayrollDetails.NewRow(); dr["EmployeeID"] = orr["Employeeno"].ToString(); dr["EmployeeName"] = orr["name"].ToString(); dr["Location"] = orr["location"].ToString(); dr["CostCenter"] = orr["CostCenter"].ToString(); dr["Item"] = orr["description"].ToString(); dr["ItemAmount"] = orr["Amount"].ToString(); if (orr["description"].ToString() == "Gross") { dr["SequenceNo"] = 1; } else if (orr["description"].ToString() == "Net Pay") { dr["SequenceNo"] = 4; } else if (orr["description"].ToString() == "PF") { dr["SequenceNo"] = 2; } else if (orr["description"].ToString() == "Without Pay") { dr["SequenceNo"] = 3; } dtPayrollDetails.Rows.Add(dr); } var sortedData = from DataRow drr in dtPayrollDetails.Rows orderby drr["SequenceNo"] select drr; foreach (DataRow dr1 in sortedData) { DataRow nDr = dtSortedPayrollDetails.NewRow(); nDr.ItemArray = dr1.ItemArray; dtSortedPayrollDetails.Rows.Add(nDr); } DataSet dSet = new DataSet(); dtSortedPayrollDetails.TableName = "dsCompany_dtCashAdvice"; dSet.Tables.Add(dtSortedPayrollDetails); List parameters = new List(); ReportParameter parameter = new ReportParameter("salarymonth", dt.ToString("MMM yyyy")); parameters.Add(parameter); DataView view2 = new DataView(dtSortedPayrollDetails); DataTable distinctEmps = view2.ToTable(true, "Employeeid"); parameter = new ReportParameter("EmpCount", "Total Employee :" + distinctEmps.Rows.Count.ToString()); parameters.Add(parameter); for (int i = 0; i < 4; i++) { parameter = new ReportParameter("AuthorizeName" + (i + 1), AuthorizedNames[i]); parameters.Add(parameter); parameter = new ReportParameter("AuthorizeDesig" + (i + 1), AuthorizedDesigs[i]); parameters.Add(parameter); } form.CommonReportViewShow(_selectedParameter.ReportItem, dSet, "Payroll.Report.RDLC.CashAdviseReport.rdlc", parameters); } public List SetSerialNumber() { List oGetSerialNumber = new List(); int nCount = 1; SerialNumber oItem = new SerialNumber(); oItem.ItemName = "Gross"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "PF"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Income Tax"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; ObjectsTemplate oDeducts = AllowanceDeduction.GetDeduction(EnumStatus.Active); foreach (AllowanceDeduction deuct in oDeducts) { oItem = new SerialNumber(); oItem.ItemName = deuct.Name; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; } ObjectsTemplate oLoans = Loan.Get(EnumStatus.Active); foreach (Loan deuct in oLoans) { oItem = new SerialNumber(); oItem.ItemName = deuct.Name + " EMI";// +" interest"; //oItem.ItemName = deuct.Name + " interest"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; } oItem = new SerialNumber(); oItem.ItemName = "Total Deduction"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Bank"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Cash"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Net Payable"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Bank"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Cash"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; oItem = new SerialNumber(); oItem.ItemName = "Signature"; oItem.SerialNo = nCount; oGetSerialNumber.Add(oItem); nCount++; return oGetSerialNumber; } public int GetSerialNumber(List oSerialNumbers, string sItemName) { int nSerialNo = 0; foreach (SerialNumber deuct in oSerialNumbers) { if (sItemName == deuct.ItemName) { nSerialNo = deuct.SerialNo; } } return nSerialNo; } public void EmployeesMasterData() { fReportViewer oviewer = new fReportViewer(); _SalaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; DataRow dr = null; DataSet ods = new DataSet(); ods = MiscellaneousDataset.GetEmployeesMasterData(GlobalFunctions.LastDateOfMonth(_SalaryMonth), sEmpID); PayrollDataSet.dsCompany.EmployeeMasterDataDataTable dtMaster = new Payroll.Report.PayrollDataSet.dsCompany.EmployeeMasterDataDataTable(); foreach (DataRow source in ods.Tables[0].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } foreach (DataRow source in ods.Tables[1].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } foreach (DataRow source in ods.Tables[2].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } foreach (DataRow source in ods.Tables[3].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } foreach (DataRow source in ods.Tables[4].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } foreach (DataRow source in ods.Tables[5].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } foreach (DataRow source in ods.Tables[6].Rows) { dr = dtMaster.NewRow(); this.Copy(dr, source); dtMaster.Rows.Add(dr); } if (dtMaster.Rows.Count > 0) { oviewer.ShowEmployeesMasterData(dtMaster, _SalaryMonth); } } private void CopyNonMngtForGross(DataRow source, DataRow destination) { if (tempEmpID == string.Empty) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; } if (tempEmpID != Convert.ToString(destination["EMPLOYEENO"])) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; } source["EmpNo"] = destination["EMPLOYEENO"]; source["EmpName"] = destination["Name"]; source["Grade"] = destination["GName"]; source["THISMONTHBASIC"] = destination["THISMONTHBASIC"]; source["Department"] = destination["DName"]; if ((Convert.ToInt16(destination["ITEMCODE"]) == Convert.ToInt16(EnumSalaryItemCode.Over_Time_Amount))) { source["Description"] = "OT Amount"; source["Amount"] = destination["Amount"]; } else { source["Description"] = destination["Description"]; if (Convert.ToInt32(destination["Amount"]) != 0) { source["Amount"] = destination["Amount"]; } else { source["Amount"] = 0.0; } } // source["SalaryMonth"] = _SalaryMonth; //source["JoiningDate"] = destination["JoiningDate"]; //source["SLNo"] = destination["EMPLOYEEID"]; } private void CopyNonMngtForDeduct(DataRow source, DataRow destination) { double OtallownceAmount = 0.0; if (tempEmpID == string.Empty) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; OtallownceAmount = 0.0; } if (tempEmpID != Convert.ToString(destination["EMPLOYEENO"])) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; OtallownceAmount = 0.0; } source["EmpNo"] = destination["EMPLOYEENO"]; source["EmpName"] = destination["Name"]; source["Grade"] = destination["GName"]; source["THISMONTHBASIC"] = destination["THISMONTHBASIC"]; source["Department"] = destination["DName"]; if ((Convert.ToInt16(destination["ITEMCODE"]) == Convert.ToInt16(EnumSalaryItemCode.Over_Time_Amount))) { OtallownceAmount = OtallownceAmount + Convert.ToDouble(destination["Amount"]); source["Description"] = "OT Amount"; source["Amount"] = OtallownceAmount; } else { source["Description"] = destination["Description"]; if (Convert.ToInt32(destination["Amount"]) != 0) { source["Amount"] = destination["Amount"]; } else { source["Amount"] = 0.0; } } source["SalaryMonth"] = _SalaryMonth; source["JoiningDate"] = destination["JoiningDate"]; //source["SLNo"] = destination["EMPLOYEEID"]; } private void CopyNonManagement(DataRow source, DataRow destination) { if (tempEmpID == string.Empty) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; } if (tempEmpID != Convert.ToString(destination["EMPLOYEENO"])) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; } source["EmpNo"] = destination["EMPLOYEENO"]; source["EmpName"] = destination["Name"]; source["Grade"] = destination["GName"]; source["THISMONTHBASIC"] = destination["THISMONTHBASIC"]; // source["Department"] = destination["DName"]; //if ((Convert.ToInt16(destination["ITEMCODE"]) == Convert.ToInt16(EnumSalaryItemCode.Over_Time_Amount) && Convert.ToInt16(destination["ITEMGROUP"]) == Convert.ToInt16(EnumSalaryGroup.Gross)) || (Convert.ToInt16(destination["ITEMCODE"]) == Convert.ToInt16(EnumSalaryItemCode.Over_Time_Hours) && Convert.ToInt16(destination["ITEMGROUP"]) == Convert.ToInt16(EnumSalaryGroup.Miscellaneous))) //{ // OtallownceAmount = OtallownceAmount + Convert.ToDouble(destination["Amount"]); // source["Description"] = "OT Amount"; // source["Amount"] = OtallownceAmount; //} //else //{ source["Description"] = destination["Description"]; if (Convert.ToInt32(destination["Amount"]) > 0) { source["Amount"] = destination["Amount"]; } else { source["Amount"] = 0.0; } //} // source["SalaryMonth"] = _SalaryMonth; //source["JoiningDate"] = destination["JoiningDate"]; //source["SLNo"] = destination["EMPLOYEEID"]; } private void Copy(DataRow source, DataRow destination) { if (tempEmpID == string.Empty) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; } if (tempEmpID != Convert.ToString(destination["EMPLOYEENO"])) { tempEmpID = Convert.ToString(destination["EMPLOYEENO"]); source["SLNo"] = count; count++; } //Department odepartment = _departments.Find(delegate(Department odep) { return odep.ID.Integer == Convert.ToInt32(destination["ParentID"].ToString()); }); source["EmpNo"] = destination["EMPLOYEENO"]; source["EmpName"] = destination["NAME"]; source["Grade"] = destination["Grade"]; source["Department"] = destination["Department"]; //source["DeptCode"] = destination["Code"]; //if(odepartment != null) //{ // source["Unit"] = odepartment.Code +" : "+odepartment.Name; //} source["Unit"] = destination["Unit"]; source["Designation"] = destination["Designation"]; DateTime dtBirthDate = Convert.ToDateTime(destination["BIRTHDATE"].ToString()); source["BirthDate"] = dtBirthDate.ToString("dd MMM yyyy"); DateTime dtJoining = Convert.ToDateTime(destination["JOININGDATE"].ToString()); source["JoiningDate"] = dtJoining.ToString("dd MMM yyyy"); if (destination["DATEOFCONFIRMATION"].ToString() != "") { DateTime dtConfim = Convert.ToDateTime(destination["DATEOFCONFIRMATION"].ToString()); source["ConfirmDate"] = dtConfim.ToString("dd MMM yyyy"); } else { source["ConfirmDate"] = ""; } source["ConfirmationPending"] = ""; source["NoOfPromotion"] = 0; source["LastPromotionDate"] = ""; if ((int)EnumGender.Male == Convert.ToInt32(destination["GENDER"].ToString())) { source["Gender"] = "Male"; } else if ((int)EnumGender.Female == Convert.ToInt32(destination["GENDER"].ToString())) { source["Gender"] = "FeMale"; } else if ((int)EnumGender.Other == Convert.ToInt32(destination["GENDER"].ToString())) { source["Gender"] = "Other"; } else { source["Gender"] = "None"; } if (destination["ENDOFCONTRACTDATE"].ToString() != "") { DateTime dtRetire = Convert.ToDateTime(destination["ENDOFCONTRACTDATE"].ToString()); source["RetirementDate"] = dtRetire.ToString("dd MMM yyyy"); } else { source["RetirementDate"] = ""; } source["PastExperience"] = ""; source["LastAcademicDegree"] = ""; source["LastAcademicSpecialization"] = ""; source["ProfessionalDegree"] = ""; source["Nominee1"] = destination["NomineeName1"]; source["Nominee1NaID"] = ""; source["Nominee2"] = destination["NomineeName2"]; source["Nominee2NaID"] = ""; source["Email"] = destination["EMAILADDRESS"]; source["ContactNo"] = destination["PRESENTMOBILE"]; source["EmargencyConNo"] = destination["EMERGENCYTELEPHONE"]; source["ParmanentAddress"] = destination["PARMANENTADDRESS"]; source["PresentAddress"] = destination["PRESENTADDRESS"]; source["FathersName"] = destination["FATHERNAME"]; source["MothersName"] = destination["MOTHERNAME"]; source["SpouseName"] = destination["SpouseName"]; source["NationalID"] = destination["NationalID"]; source["WorkPlaceAndTRCode"] = ""; source["LastIssueDateofMobile"] = ""; source["BankAccNo1"] = destination["ACCOUNTNO"]; source["BankAccNo2"] = ""; source["ItemDescription"] = destination["Description"]; source["ItemAmount"] = Convert.ToDouble(destination["Amount"].ToString()); source["GroupDescription"] = destination["GroupDescription"]; } public void ShowStuffListWithoutSalary() { fReportViewer oviewer = new fReportViewer(); DataSet dsStuffList = new DataSet(); DataRow orow = null; int nCount = 0; _SalaryMonth = _selectedParameter.FromDate.Value; string sEmpID = _selectedParameter.ReportItem.INSQL; dsStuffList = MiscellaneousDataset.GetStuffListWithoutSalary(GlobalFunctions.LastDateOfMonth(_SalaryMonth), sEmpID); PayrollDataSet.dsCompany.StuffListWithoutSalaryDataTable dtStuffList = new Payroll.Report.PayrollDataSet.dsCompany.StuffListWithoutSalaryDataTable(); if (dsStuffList.Tables.Count > 0) { foreach (DataRow orr in dsStuffList.Tables[0].Rows) { orow = dtStuffList.NewRow(); nCount++; orow["EmpNo"] = orr["EmployeeNo"].ToString(); orow["Name"] = orr["NAME"].ToString(); DateTime dtJoin = Convert.ToDateTime(orr["JOININGDATE"].ToString()); orow["DOJ"] = dtJoin.ToString("dd MMM yyyy"); orow["Department"] = orr["Department"].ToString(); orow["Designation"] = orr["Designation"].ToString(); orow["AccountNo"] = orr["AccountNo"].ToString(); orow["CostCenter"] = orr["CostCenter"].ToString(); dtStuffList.Rows.Add(orow); } if (dtStuffList.Rows.Count > 0) { oviewer.ShowStuffList(_SalaryMonth, dtStuffList, nCount.ToString()); } } } public void ShowStuffAccountWithoutSalary() { } internal void PrepareExperienceCertificate(Employee searchEmployee) { fReportViewer oviewer = new fReportViewer(); DataSet dsExperience = new DataSet(); DataRow orow = null; dsExperience = MiscellaneousDataset.GetEmpExperience(searchEmployee.ID.Integer); PayrollDataSet.dsCompany.ExperienceCertificateDataTable dtExperience = new Payroll.Report.PayrollDataSet.dsCompany.ExperienceCertificateDataTable(); foreach (DataRow orr in dsExperience.Tables[0].Rows) { orow = dtExperience.NewRow(); orow["Name"] = orr["NAME"].ToString(); if (orr["FATHERNAME"].ToString() != "") { orow["FathersName"] = orr["FATHERNAME"].ToString(); } else { orow["FathersName"] = ""; } if (orr["MOTHERNAME"].ToString() != "") { orow["MothersName"] = orr["MOTHERNAME"].ToString(); } else { orow["MothersName"] = ""; } DateTime dtJoin = Convert.ToDateTime(orr["JOININGDATE"].ToString()); orow["DOJ"] = dtJoin.ToString("dd MMM yyyy"); if (orr["ENDOFCONTRACTDATE"].ToString() != "") { DateTime dtDOL = Convert.ToDateTime(orr["ENDOFCONTRACTDATE"].ToString()); orow["DOL"] = dtDOL.ToString("dd MMM yyyy"); } else { orow["DOL"] = ""; } orow["Designation"] = orr["Designation"].ToString(); orow["Department"] = orr["Department"].ToString(); if (Convert.ToInt32(orr["Gender"].ToString()) == (int)EnumGender.Male) { orow["Gender"] = "his"; orow["SurName"] = "Mr."; } else if (Convert.ToInt32(orr["Gender"].ToString()) == (int)EnumGender.Female) { orow["Gender"] = "her"; orow["SurName"] = "Ms."; } dtExperience.Rows.Add(orow); } if (dtExperience.Rows.Count > 0) { oviewer.ShowExperienceReport(dtExperience); } } public DataTable GetDesignationChange(DateTime dEffectDate, DateTime dEffectDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); PayrollDataSet.PayrollDataSet.EmpDesCatChangeDataTable dTEmpGBasic = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpDesCatChangeDataTable(); if (_lifeCycles != null || 0 > _lifeCycles.Count) { List odesChange = _lifeCycles.Where(o => o.StatusDetailID.Integer == 16 && o.EffectDate >= dEffectDate && o.EffectDate <= dEffectDate2).ToList(); List oDesignation = Designation.Get(EnumStatus.Regardless); List _users = User.Get(EnumSystemType.Desktop); DataRow dr = null; int count = 1; ObjectsTemplate oEmployees = Employee.Get(); //DataSet oEmpBasicGrade = EmployeeGradeSalary.GetEmpBasicGrade(dEffectDate, dEffectDate2); //oEmpBasicGrade.Tables[0].Columns.Add("AuthorizedDate"); //DataSet oEmpPrvBasicGrade = EmployeeGradeSalary.GetEmpPrvBasicGrade(dEffectDate); foreach (EmpLifeCycle oDRow in odesChange) { Employee emp = oEmployees.FirstOrDefault(o => o.ID == oDRow.EmployeeID); dr = dTEmpGBasic.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = emp.EmployeeNo; dr["Name"] = emp.Name; dr["EffectDate"] = oDRow.EffectDate; //dr["EnteryDate"] = oDRow["ENTRYDATE"]; dr["PresentDesignation"] = oDesignation.FirstOrDefault(o => o.ID == oDRow.DesignationID).Name; dr["PresentCategory"] = ""; dr["CommitedBy"] = _users.FirstOrDefault(o => o.ID == oDRow.CreatedBy).Name; dr["CommitedDate"] = oDRow.CreatedDate.ToString("dd MMM yyyy"); dr["ChangeType"] = ""; dr["StatusDate"] = oDRow.EffectDate.ToString("dd MMM yyyy"); EmpLifeCycle prev = _lifeCycles.Where(o => o.StatusDetailID.Integer == 10 && o.DesignationID != null && o.EmployeeID == oDRow.EmployeeID && o.EffectDate < dEffectDate).ToList().OrderByDescending(x => x.Sequence).FirstOrDefault(); //.FirstOrDefault(o => o.StatusDetailID.Integer == 10 ); if (prev != null) { dr["PreviousDesignation"] = oDesignation.FirstOrDefault(o => o.ID == prev.DesignationID).Name; } dTEmpGBasic.Rows.Add(dr); count++; } } return dTEmpGBasic; } public DataTable GetCategoryChange(DateTime dEffectDate, DateTime dEffectDate2) { List _lifeCycles = EmpLifeCycle.Get(EnumStatus.Regardless); PayrollDataSet.PayrollDataSet.EmpDesCatChangeDataTable dTEmpGBasic = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmpDesCatChangeDataTable(); if (_lifeCycles != null || 0 > _lifeCycles.Count) { List odesChange = _lifeCycles.Where(o => o.StatusDetailID.Integer == 17 && o.EffectDate >= dEffectDate && o.EffectDate <= dEffectDate2).ToList(); List oCategory = Category.Get(EnumStatus.Regardless); List _users = User.Get(EnumSystemType.Desktop); DataRow dr = null; int count = 1; ObjectsTemplate oEmployees = Employee.Get(); //DataSet oEmpBasicGrade = EmployeeGradeSalary.GetEmpBasicGrade(dEffectDate, dEffectDate2); //oEmpBasicGrade.Tables[0].Columns.Add("AuthorizedDate"); //DataSet oEmpPrvBasicGrade = EmployeeGradeSalary.GetEmpPrvBasicGrade(dEffectDate); foreach (EmpLifeCycle oDRow in odesChange) { Employee emp = oEmployees.FirstOrDefault(o => o.ID == oDRow.EmployeeID); dr = dTEmpGBasic.NewRow(); dr["SLNo"] = count; dr["EmpNo"] = emp.EmployeeNo; dr["Name"] = emp.Name; dr["EffectDate"] = oDRow.EffectDate; //dr["EnteryDate"] = oDRow["ENTRYDATE"]; dr["PresentDesignation"] = ""; dr["PresentCategory"] = oCategory.FirstOrDefault(o => o.ID == oDRow.CategoryID).Name; ; dr["CommitedBy"] = _users.FirstOrDefault(o => o.ID == oDRow.CreatedBy).Name; dr["CommitedDate"] = oDRow.CreatedDate.ToString("dd MMM yyyy"); dr["ChangeType"] = ""; dr["StatusDate"] = oDRow.EffectDate.ToString("dd MMM yyyy"); EmpLifeCycle prev = _lifeCycles.Where(o => o.StatusDetailID.Integer == 19 && o.EffectDate < dEffectDate).ToList().OrderByDescending(x => x.Sequence).FirstOrDefault(); //.FirstOrDefault(o => o.StatusDetailID.Integer == 10 ); if (prev != null) { dr["PreviousCategory"] = oCategory.FirstOrDefault(o => o.ID == prev.CategoryID).Name; } dTEmpGBasic.Rows.Add(dr); count++; } } return dTEmpGBasic; } public DataTable GetEmployeeConfirmations(DateTime dConfirmationMonth) { bool isDesignationFromDescriptionText = ConfigurationManager.GetBoolValue("designation", "desigfromdescriptiontext", EnumConfigurationType.Logic); ObjectsTemplate oEmpConfirms = EmployeeConfirmation.GetByDateRange(GlobalFunctions.FirstDateOfMonth(dConfirmationMonth), GlobalFunctions.LastDateOfMonth(dConfirmationMonth)); ObjectsTemplate oAllEmployees = Employee.GetAllEmps(); DataRow oDR = null; PayrollDataSet.PayrollDataSet.EmployeeConfirmationDataTable dTable = new Payroll.Report.PayrollDataSet.PayrollDataSet.EmployeeConfirmationDataTable(); if (oEmpConfirms == null) return dTable; foreach (EmployeeConfirmation oConfirm in oEmpConfirms) { Employee oEmployee = oAllEmployees.Where(obj => obj.ID == oConfirm.EmployeeID).SingleOrDefault(); oDR = dTable.NewRow(); oDR["EmployeeNo"] = oEmployee.EmployeeNo; oDR["Name"] = oEmployee.Name; oDR["JoiningDate"] = oEmployee.JoiningDate.ToString("dd MMM yyyy"); oDR["ConfirmationDate"] = oConfirm.ConfirmDate.ToString("dd MMM yyyy"); oDR["Designation"] = isDesignationFromDescriptionText ? oEmployee.DescriptionText.Trim() : (oEmployee.Designation != null ? oEmployee.Designation.Name : string.Empty); oDR["Department"] = oEmployee.Department != null ? oEmployee.Department.Name : string.Empty; dTable.Rows.Add(oDR); } //**** 6 Month Auto Confirm Logic*************** //List oUnConfirmedEmployee = oAllEmployees.Where(obj => obj.Status == EnumEmployeeStatus.Live && // obj.PayrollTypeID == Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID && // obj.IsConfirmed == false && // obj.JoiningDate.AddMonths(6)>= GlobalFunctions.FirstDateOfMonth(dConfirmationMonth) && // obj.JoiningDate.AddMonths(6)<= GlobalFunctions.LastDateOfMonth(dConfirmationMonth) && // EmployeeConfirmation.GetByEmployeeID(obj.ID)==null).ToList(); //foreach (Employee oEmployee in oUnConfirmedEmployee) //{ // oDR = dTable.NewRow(); // oDR["EmployeeNo"] = oEmployee.EmployeeNo; // oDR["Name"] = oEmployee.Name; // oDR["JoiningDate"] = oEmployee.JoiningDate.ToString("dd MMM yyyy"); // oDR["ConfirmationDate"] = oEmployee.JoiningDate.AddMonths(6).ToString("dd MMM yyyy"); // dTable.Rows.Add(oDR); //} return dTable; } public void EmployeeConfirmationReport(DateTime dConfirmationMonth) { DataTable oDTable = null; DataSet dSet = new DataSet(); oDTable = GetEmployeeConfirmations(dConfirmationMonth); fReportViewer form = new fReportViewer(); oDTable.TableName = "PayrollDataSet_EmployeeConfirmation"; string RDLC = "Payroll.Report.RDLC.EmployeeConfirmation.rdlc"; dSet.Tables.Add(oDTable); form.ShowDlgForEmployeeConfirmation(dSet, RDLC, dConfirmationMonth); } internal void ShowEmpRCAssigned() { fReportViewer form = new fReportViewer(); DataSet dSet = new DataSet(); dSet.Tables.Add(ExportEmpRCAssignedInfo()); //List parameters = new List(); //parameters.Add(new ReportParameter("BankName", _selectedParameter.Banks[0].Name)); form.CommonReportView(null, dSet, "Payroll.Report.RDLC.rptRCAssignedEmp.rdlc", null); } internal DataTable ExportEmpRCAssignedInfo() { DataSet oEmpNomineeDetails = Employee.GetRCAssignedEmp(); oEmpNomineeDetails.Tables[0].TableName = "dsCompany_dtRCAssignedEmp"; return oEmpNomineeDetails.Tables[0].Copy(); } internal void ShowEmpRCNotAssigned() { fReportViewer form = new fReportViewer(); DataSet dSet = new DataSet(); dSet.Tables.Add(ExportEmpRCNotAssignedInfo()); //List parameters = new List(); //parameters.Add(new ReportParameter("BankName", _selectedParameter.Banks[0].Name)); form.CommonReportView(null, dSet, "Payroll.Report.RDLC.rptRCNotAssignedEmp.rdlc", null); } internal void ShowDeptWiseHeadCount(EnumHeadCount enumHeadCount) { fReportViewer form = new fReportViewer(); DataSet dSet = new DataSet(); ObjectsTemplate oEmployees = new ObjectsTemplate(); oEmployees = Employee.Get().Where(x => x.Status == EnumEmployeeStatus.Live).ToObjectsTemplate(); ObjectsTemplate oDepartments = new ObjectsTemplate(); oDepartments = Department.Get(); List strs = new List(); int nCo = 1; foreach (Employee oEmp in oEmployees) { Department oDept = null; oDept = oDepartments.Where(x => x.ID == oEmp.DepartmentID).FirstOrDefault(); if (oDept != null) { string[] depts = GlobalFunctions.FindDivisionDeparmentUnit(oDept, oDepartments); strs.Add(depts[(int)enumHeadCount]); } nCo++; } var query = strs.GroupBy(s => s).Select(grp => new { Name = grp.Key, Count = grp.Count() }); DataTable dt = new DataTable(); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Count", typeof(int)); DataRow dr = null; foreach (var item in query) { if ((enumHeadCount == EnumHeadCount.DepartmentWise && !string.IsNullOrEmpty(item.Name)) || enumHeadCount == EnumHeadCount.DivisionWise) { dr = dt.NewRow(); dr["Name"] = item.Name; dr["Count"] = item.Count; dt.Rows.Add(dr); } } //List parameters = new List(); //parameters.Add(new ReportParameter("BankName", _selectedParameter.Banks[0].Name)); dt.TableName = "PayrollDataSet_DeptwiseEmpCount"; dSet.Tables.Add(dt); form.CommonReportView(null, dSet, "Payroll.Report.RDLC.DeptwiseEmpCount.rdlc", null); } internal DataTable ExportEmpRCNotAssignedInfo() { DataSet oEmpNomineeDetails = Employee.GetRCNotAssignedEmp(); oEmpNomineeDetails.Tables[0].TableName = "dsCompany_dtRCNotAssignedEmp"; return oEmpNomineeDetails.Tables[0].Copy(); } } public class SerialNumber { public int SerialNo { get; set; } public string ItemName { get; set; } } }