profile issues #47

Open
Mashfiq wants to merge 13 commits from dev_mashfiq into devqc
35 changed files with 38012 additions and 1884 deletions

View File

@ -1166,7 +1166,7 @@ namespace DatabaseComparison
GO"); GO");
sql.AppendFormat("\r\n\r\n"); sql.AppendFormat("\r\n\r\n");
sql.AppendFormat(@"CREATE VIEW VW_EMPDigitalServiceBook AS sql.AppendFormat(@"CREATE VIEW VW_EMPDigitalServiceBook AS
SELECT E.EMPLOYEEID, E.EMPLOYEENO, E.BENGALINAME AS NAME, E.FATHERNAME, E.MOTHERNAME, ES.NAME AS SPOUSENAME, E.JOININGDATE, E.EMPLOYEESTATUS, SELECT E.EMPLOYEEID, E.EMPLOYEENO, E.BANGLANAME AS NAME, E.FATHERNAME, E.MOTHERNAME, ES.NAME AS SPOUSENAME, E.JOININGDATE, E.EMPLOYEESTATUS,
DES.NAMEINBANGLA AS DESIGNATION, EC.PARMANENTADDRESS AS PARMANENTADDRESS, EC.PRESENTADDRESS AS PRESENTADDRESS, EC.PERMANENTPOSTOFFICE AS POSTOFFICE, DES.NAMEINBANGLA AS DESIGNATION, EC.PARMANENTADDRESS AS PARMANENTADDRESS, EC.PRESENTADDRESS AS PRESENTADDRESS, EC.PERMANENTPOSTOFFICE AS POSTOFFICE,
EC.PERMANENTPOSTCODENO AS POSTCODENO, EC.PERMANENTVILLAGE AS VILLAGE, EC.PERMANENTROADNO AS ROADNO, EC.PERMANENTPOSTCODENO AS POSTCODENO, EC.PERMANENTVILLAGE AS VILLAGE, EC.PERMANENTROADNO AS ROADNO,
EC.PERMANENTWARDNO AS WARDNO, E.BIRTHDATE AS BIRTHDATE, E.PHOTOPATH AS PHOTO, E.NATIONALID AS NIDNO, E.HEIGHT AS HEIGHT, E.BLOODGROUP AS BLOODGROUP, EC.PERMANENTWARDNO AS WARDNO, E.BIRTHDATE AS BIRTHDATE, E.PHOTOPATH AS PHOTO, E.NATIONALID AS NIDNO, E.HEIGHT AS HEIGHT, E.BLOODGROUP AS BLOODGROUP,

View File

@ -281,16 +281,16 @@ namespace HRM.BO
set { _incrementNo = value; } set { _incrementNo = value; }
} }
#endregion #endregion
#region payrollTypeID : int #region payrollTypeID : int
private int _payrollTypeID; private int _payrollTypeID;
public int PayrollTypeID public int PayrollTypeID
{ {
get { return _payrollTypeID; } get { return _payrollTypeID; }
set { _payrollTypeID = value; } set { _payrollTypeID = value; }
} }
#endregion #endregion
#region payrollTypeID : int #region punishmentID : int
private int _punishmentID; private int _punishmentID;
public int PunishmentID public int PunishmentID
@ -299,7 +299,7 @@ namespace HRM.BO
set { _punishmentID = value; } set { _punishmentID = value; }
} }
#endregion #endregion
#region payrollTypeID : int #region complainID : int
private int _complainID; private int _complainID;
public int ComplainID public int ComplainID
@ -320,27 +320,27 @@ namespace HRM.BO
#endregion #endregion
#region IsTransferReceived : bool #region IsTransferReceived : bool
private bool _isTransferReceived; private bool _isTransferReceived;
public bool IsTransferReceived public bool IsTransferReceived
{ {
get { return _isTransferReceived; } get { return _isTransferReceived; }
set { _isTransferReceived = value; } set { _isTransferReceived = value; }
} }
#endregion
#region Employee : Employee
public Employee Employee { get; set; }
public HREmployee HREmployee { get; set; }
public List<EmployeeCostCenter> EmployeeCostCenters { get; set; }
public EmployeeGradeSalary EmployeeGradeSalary { get; set; }
public List<OrganogramEmployee> Orgemployees { get; set; }
#endregion #endregion
#region Employee : Employee
public Employee Employee { get; set; }
public HREmployee HREmployee { get; set; }
public List<EmployeeCostCenter> EmployeeCostCenters { get; set; }
public EmployeeGradeSalary EmployeeGradeSalary { get; set; }
public List<OrganogramEmployee> Orgemployees { get; set; }
#endregion
#region HREmployee : HREmployee #region HREmployee : HREmployee
//private HREmployee _hremployee; //private HREmployee _hremployee;
@ -554,6 +554,7 @@ public Employee Employee { get; set; }
#endregion #endregion
public string CreatedByUser { get; set; }
} }

View File

@ -3769,8 +3769,9 @@ AND ea.EMPLOYEEID=emp.EMPLOYEEID AND ea.LASTLEVEL=1),'') LastAcademic ,
{ {
tc.CommandTimeOut = 60; tc.CommandTimeOut = 60;
string sSQL = SQLParser.MakeSQL(@"SELECT EMPLOYEEID, EMPLOYEENO, NAME, FATHERNAME, MOTHERNAME, SPOUSENAME, JOININGDATE, string sSQL = SQLParser.MakeSQL(@"SELECT EMPLOYEEID, EMPLOYEENO, NAME, FATHERNAME, MOTHERNAME, SPOUSENAME, JOININGDATE,
DESIGNATION, BIRTHDATE, NIDNO, HEIGHT, BLOODGROUP, PARMANENTADDRESS, PARMANENTDISTRICT, DESIGNATION, BIRTHDATE, NIDNO, HEIGHT, BLOODGROUP,
PARMANENTTHANA, PRESENTADDRESS, LMDESIGNATION, PHOTO, EDUCATIONLEVEL PARMANENTADDRESS, PRESENTADDRESS, POSTOFFICEPA, DISTRICTPA,THANAPA,VILLAGEPA, ROADNOPA, WARDNOPA, POSTOFFICETA, DISTRICTTA, THANATA, VILLAGETA, ROADNOTA, WARDNOTA,
LMDESIGNATION, PHOTO, EDUCATIONLEVEL
FROM dbo.VW_EMPDIGITALSERVICEBOOK FROM dbo.VW_EMPDIGITALSERVICEBOOK
WHERE EMPLOYEEID = %n", empID); WHERE EMPLOYEEID = %n", empID);
return tc.ExecuteDataSet(sSQL); return tc.ExecuteDataSet(sSQL);

View File

@ -443,7 +443,7 @@ namespace HRM.DA
foreach(var item in Groupdate) foreach(var item in Groupdate)
{ {
Thread myNewThread = new Thread(() => Process(item.Key, Thread myNewThread = new Thread(() => Process(item.Key,
EnumProcessMode.Auto, oemp.PayrollTypeID, ouser.ID, emps)); EnumProcessMode.Auto, oemp.PayrollTypeID, ouser.ID, emps, false));
myNewThread.Start(); myNewThread.Start();
} }
@ -462,16 +462,16 @@ namespace HRM.DA
_shifts = new ShiftService().GetAllShift(); _shifts = new ShiftService().GetAllShift();
for (DateTime currentDate = ProcessDate; currentDate <= endDate; currentDate = currentDate.AddDays(1)) for (DateTime currentDate = ProcessDate; currentDate <= endDate; currentDate = currentDate.AddDays(1))
{ {
Process(currentDate, EnumProcessMode.Auto, payrollTypeID, processUserID, emp); Process(currentDate, EnumProcessMode.Auto, payrollTypeID, processUserID, emp, false);
} }
} }
public void Process(DateTime fromDate, EnumProcessMode prMode, int payrollTypeID, int processUserID, List<Employee> emps) public void Process(DateTime fromDate, EnumProcessMode prMode, int payrollTypeID, int processUserID, List<Employee> emps, bool overrideManualEntry)
{ {
bool isEchoTex = new SystemConfigarationService().GetconfigBooleanValue(EnumConfigurationType.Logic, "attendence", "echotexprocess"); bool isEchoTex = new SystemConfigarationService().GetconfigBooleanValue(EnumConfigurationType.Logic, "attendence", "echotexprocess");
if (isEchoTex == true) if (isEchoTex == true)
{ {
echoTexProcess(fromDate, prMode, payrollTypeID, processUserID, emps); echoTexProcess(fromDate, prMode, payrollTypeID, processUserID, emps, overrideManualEntry);
return; return;
} }
_attnRunSummary = new AttnProcessRunSummary(); _attnRunSummary = new AttnProcessRunSummary();
@ -2565,7 +2565,7 @@ namespace HRM.DA
public void echoTexProcess(DateTime Attdate, EnumProcessMode prMode, int payrolltypeid, int processUserID, List< Employee> employees) public void echoTexProcess(DateTime Attdate, EnumProcessMode prMode, int payrolltypeid, int processUserID, List< Employee> employees, bool overrideManualEntry)
{ {
AttnProcessRunSummary oAttnRunSummary = new AttnProcessRunSummary(); AttnProcessRunSummary oAttnRunSummary = new AttnProcessRunSummary();
@ -2668,7 +2668,7 @@ namespace HRM.DA
.FirstOrDefault(obj => obj.EmployeeID == emp.ID); .FirstOrDefault(obj => obj.EmployeeID == emp.ID);
// 2. If Attendendence is manually enterred // 2. If Attendendence is manually enterred
if (manualEntry != null) if (manualEntry != null && overrideManualEntry == false)
{ {
// 2.1 If Both In and Out are Manually Enterred then add the item // 2.1 If Both In and Out are Manually Enterred then add the item
if (!manualEntry.OnlyManualInTime && !manualEntry.OnlyManualOutTime) if (!manualEntry.OnlyManualInTime && !manualEntry.OnlyManualOutTime)

View File

@ -1,17 +1,19 @@
using System; using HRM.BO;
using HRM.DA;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Data; using static HRM.Report.PayrollDataSet.PayrollDataSet;
using HRM.BO;
using HRM.DA;
namespace HRM.Report namespace HRM.Report
{ {
public class rptDigitalServiceBook public class rptDigitalServiceBook
{ {
public byte[] DigitalServiceBook(int empID, int payrollTypeID, DateTime fromDate, string sEmpIDs, string reportType) public byte[] DigitalServiceBook(int empID, int payrollTypeID, DateTime fromDate, string sEmpIDs, int? authorizePersionID, string reportType)
{ {
DataSet dSet = new DataSet(); DataSet dSet = new DataSet();
DataRow oDR = null; DataRow oDR = null;
@ -19,6 +21,16 @@ namespace HRM.Report
if (sEmpIDs != null) if (sEmpIDs != null)
empID = Convert.ToInt32(sEmpIDs); 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 #region Employee general info
DataSet oEmp = new EmployeeService().GetEmpDigitalServiceBook(empID); DataSet oEmp = new EmployeeService().GetEmpDigitalServiceBook(empID);
@ -34,25 +46,51 @@ namespace HRM.Report
oDR["FATHERNAME"] = oDRow["FATHERNAME"]; oDR["FATHERNAME"] = oDRow["FATHERNAME"];
oDR["MOTHERNAME"] = oDRow["MOTHERNAME"]; oDR["MOTHERNAME"] = oDRow["MOTHERNAME"];
oDR["SPOUSENAME"] = oDRow["SPOUSENAME"]; oDR["SPOUSENAME"] = oDRow["SPOUSENAME"];
oDR["JOININGDATE"] = Convert.ToDateTime(oDRow["JOININGDATE"]).ToString("dd/MM/yyyy"); //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"] = oDRow["DESIGNATION"];
//oDR["DESIGNATION"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["DESIGNATION"].ToString()); //oDR["DESIGNATION"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["DESIGNATION"].ToString());
oDR["PARMANENTADDRESS"] = oDRow["PARMANENTADDRESS"]; oDR["PARMANENTADDRESS"] = oDRow["PARMANENTADDRESS"];
oDR["PRESENTADDRESS"] = oDRow["PRESENTADDRESS"]; oDR["PRESENTADDRESS"] = oDRow["PRESENTADDRESS"];
oDR["BIRTHDATE"] = Convert.ToDateTime(oDRow["BIRTHDATE"]).ToString("dd/MM/yyyy");
//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) //if (oDRow["PHOTO"] is not DBNull)
// oDR["PHOTO"] = Convert.ToBase64String((byte[])oDRow["PHOTO"]); // oDR["PHOTO"] = Convert.ToBase64String((byte[])oDRow["PHOTO"]);
oDR["NIDNO"] = oDRow["NIDNO"]; oDR["NIDNO"] = oDRow["NIDNO"];
oDR["HEIGHT"] = oDRow["HEIGHT"]; oDR["HEIGHT"] = oDRow["HEIGHT"];
oDR["BLOODGROUP"] = GlobalExtensions.BloodGroupToFriendlyName((EnumBloodGroup)Enum.Parse(typeof(EnumBloodGroup), //oDR["BLOODGROUP"] = GlobalExtensions.BloodGroupToFriendlyName((EnumBloodGroup)Enum.Parse(typeof(EnumBloodGroup),
Convert.ToInt32(oDRow["BLOODGROUP"]).ToString())); // 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["BLOODGROUP"] = (EnumBloodGroup)Enum.Parse(typeof(EnumBloodGroup), Convert.ToInt32(oDRow["BLOODGROUP"]).ToString());
oDR["LMDESIGNATION"] = oDRow["LMDESIGNATION"]; oDR["LMDESIGNATION"] = oDRow["LMDESIGNATION"];
//oDR["LMDESIGNATION"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["LMDESIGNATION"].ToString()); //oDR["LMDESIGNATION"] = rptDigitalServiceBook.ConvertToBijoy(oDRow["LMDESIGNATION"].ToString());
oDR["EDUCATIONLEVEL"] = oDRow["EDUCATIONLEVEL"]; oDR["EDUCATIONLEVEL"] = oDRow["EDUCATIONLEVEL"];
oDR["PARMANENTDISTRICT"] = oDRow["PARMANENTDISTRICT"];
oDR["PARMANENTTHANA"] = oDRow["PARMANENTTHANA"];
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); dTable.Rows.Add(oDR);
//count++; //count++;
@ -95,7 +133,9 @@ namespace HRM.Report
foreach (DataRow oDRow in dtEmplifecycle.Rows) foreach (DataRow oDRow in dtEmplifecycle.Rows)
{ {
oDR = dTable.NewRow(); oDR = dTable.NewRow();
oDR["EFFECTDATE"] = Convert.ToDateTime(oDRow["EFFECTDATE"]).ToString("dd/MM/yyyy"); //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"])); //Designation Designation = new DesignationService().Get(Convert.ToInt32(oDRow["DESIGNATIONID"]));
//oDR["DESIGNATION"] = Designation.NameInBangla; //oDR["DESIGNATION"] = Designation.NameInBangla;
Grade oGrade = new GradeService().Get(Convert.ToInt32(oDRow["GradeID"])); Grade oGrade = new GradeService().Get(Convert.ToInt32(oDRow["GradeID"]));
@ -124,8 +164,14 @@ namespace HRM.Report
foreach (DataRow oDRow in oLeaveEntry.Tables[0].Rows) foreach (DataRow oDRow in oLeaveEntry.Tables[0].Rows)
{ {
oDR = dTable.NewRow(); oDR = dTable.NewRow();
oDR["FROMDATE"] = Convert.ToDateTime(oDRow["APRFROMDATE"]).ToString("dd/MM/yyyy");
oDR["TODATE"] = Convert.ToDateTime(oDRow["APRTODATE"]).ToString("dd/MM/yyyy"); 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(); oDR["TOTALDAYS"] = Convert.ToInt32(oDRow["APRTOTALDAYS"]).ToString();
dTable.Rows.Add(oDR); dTable.Rows.Add(oDR);
@ -146,7 +192,9 @@ namespace HRM.Report
foreach (DataRow oDRow in oComplain.Tables[0].Rows) foreach (DataRow oDRow in oComplain.Tables[0].Rows)
{ {
oDR = dTable.NewRow(); oDR = dTable.NewRow();
oDR["EFFECTDATE"] = Convert.ToDateTime(oDRow["EFFECTDATE"]).ToString("dd/MM/yyyy"); //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) //if (oDRow["DESCRIPTIONINBANGLA"] is DBNull)
// oDR["DESCRIPTION"] = oDRow["DESCRIPTION"]; // oDR["DESCRIPTION"] = oDRow["DESCRIPTION"];
//else //else

View File

@ -49,6 +49,8 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called" +
" or extended by application code.", DiagnosticId="SYSLIB0051")]
protected DigitalServiceBookDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : protected DigitalServiceBookDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context, false) { base(info, context, false) {
if ((this.IsBinarySerialized(info, context) == true)) { if ((this.IsBinarySerialized(info, context) == true)) {
@ -453,9 +455,33 @@ namespace HRM.Report.PayrollDataSet {
private global::System.Data.DataColumn columnEDUCATIONLEVEL; private global::System.Data.DataColumn columnEDUCATIONLEVEL;
private global::System.Data.DataColumn columnPARMANENTDISTRICT; private global::System.Data.DataColumn columnPOSTOFFICEPA;
private global::System.Data.DataColumn columnPARMANENTTHANA; private global::System.Data.DataColumn columnDISTRICTPA;
private global::System.Data.DataColumn columnTHANAPA;
private global::System.Data.DataColumn columnVILLAGEPA;
private global::System.Data.DataColumn columnROADNOPA;
private global::System.Data.DataColumn columnWARDNOPA;
private global::System.Data.DataColumn columnPOSTOFFICETA;
private global::System.Data.DataColumn columnDISTRICTTA;
private global::System.Data.DataColumn columnTHANATA;
private global::System.Data.DataColumn columnVILLAGETA;
private global::System.Data.DataColumn columnROADNOTA;
private global::System.Data.DataColumn columnWARDNOTA;
private global::System.Data.DataColumn columnSIGNATURE;
private global::System.Data.DataColumn columnAUTHSIGN;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
@ -485,6 +511,8 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called" +
" or extended by application code.", DiagnosticId="SYSLIB0051")]
protected EMPDigitalServiceBookDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : protected EMPDigitalServiceBookDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) { base(info, context) {
this.InitVars(); this.InitVars();
@ -628,17 +656,113 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn PARMANENTDISTRICTColumn { public global::System.Data.DataColumn POSTOFFICEPAColumn {
get { get {
return this.columnPARMANENTDISTRICT; return this.columnPOSTOFFICEPA;
} }
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn PARMANENTTHANAColumn { public global::System.Data.DataColumn DISTRICTPAColumn {
get { get {
return this.columnPARMANENTTHANA; return this.columnDISTRICTPA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn THANAPAColumn {
get {
return this.columnTHANAPA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn VILLAGEPAColumn {
get {
return this.columnVILLAGEPA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn ROADNOPAColumn {
get {
return this.columnROADNOPA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn WARDNOPAColumn {
get {
return this.columnWARDNOPA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn POSTOFFICETAColumn {
get {
return this.columnPOSTOFFICETA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn DISTRICTTAColumn {
get {
return this.columnDISTRICTTA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn THANATAColumn {
get {
return this.columnTHANATA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn VILLAGETAColumn {
get {
return this.columnVILLAGETA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn ROADNOTAColumn {
get {
return this.columnROADNOTA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn WARDNOTAColumn {
get {
return this.columnWARDNOTA;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn SIGNATUREColumn {
get {
return this.columnSIGNATURE;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public global::System.Data.DataColumn AUTHSIGNColumn {
get {
return this.columnAUTHSIGN;
} }
} }
@ -697,8 +821,20 @@ namespace HRM.Report.PayrollDataSet {
string BLOODGROUP, string BLOODGROUP,
string LMDESIGNATION, string LMDESIGNATION,
string EDUCATIONLEVEL, string EDUCATIONLEVEL,
string PARMANENTDISTRICT, string POSTOFFICEPA,
string PARMANENTTHANA) { string DISTRICTPA,
string THANAPA,
string VILLAGEPA,
string ROADNOPA,
string WARDNOPA,
string POSTOFFICETA,
string DISTRICTTA,
string THANATA,
string VILLAGETA,
string ROADNOTA,
string WARDNOTA,
string SIGNATURE,
string AUTHSIGN) {
EMPDigitalServiceBookRow rowEMPDigitalServiceBookRow = ((EMPDigitalServiceBookRow)(this.NewRow())); EMPDigitalServiceBookRow rowEMPDigitalServiceBookRow = ((EMPDigitalServiceBookRow)(this.NewRow()));
object[] columnValuesArray = new object[] { object[] columnValuesArray = new object[] {
EMPLOYEEID, EMPLOYEEID,
@ -718,8 +854,20 @@ namespace HRM.Report.PayrollDataSet {
BLOODGROUP, BLOODGROUP,
LMDESIGNATION, LMDESIGNATION,
EDUCATIONLEVEL, EDUCATIONLEVEL,
PARMANENTDISTRICT, POSTOFFICEPA,
PARMANENTTHANA}; DISTRICTPA,
THANAPA,
VILLAGEPA,
ROADNOPA,
WARDNOPA,
POSTOFFICETA,
DISTRICTTA,
THANATA,
VILLAGETA,
ROADNOTA,
WARDNOTA,
SIGNATURE,
AUTHSIGN};
rowEMPDigitalServiceBookRow.ItemArray = columnValuesArray; rowEMPDigitalServiceBookRow.ItemArray = columnValuesArray;
this.Rows.Add(rowEMPDigitalServiceBookRow); this.Rows.Add(rowEMPDigitalServiceBookRow);
return rowEMPDigitalServiceBookRow; return rowEMPDigitalServiceBookRow;
@ -759,8 +907,20 @@ namespace HRM.Report.PayrollDataSet {
this.columnBLOODGROUP = base.Columns["BLOODGROUP"]; this.columnBLOODGROUP = base.Columns["BLOODGROUP"];
this.columnLMDESIGNATION = base.Columns["LMDESIGNATION"]; this.columnLMDESIGNATION = base.Columns["LMDESIGNATION"];
this.columnEDUCATIONLEVEL = base.Columns["EDUCATIONLEVEL"]; this.columnEDUCATIONLEVEL = base.Columns["EDUCATIONLEVEL"];
this.columnPARMANENTDISTRICT = base.Columns["PARMANENTDISTRICT"]; this.columnPOSTOFFICEPA = base.Columns["POSTOFFICEPA"];
this.columnPARMANENTTHANA = base.Columns["PARMANENTTHANA"]; this.columnDISTRICTPA = base.Columns["DISTRICTPA"];
this.columnTHANAPA = base.Columns["THANAPA"];
this.columnVILLAGEPA = base.Columns["VILLAGEPA"];
this.columnROADNOPA = base.Columns["ROADNOPA"];
this.columnWARDNOPA = base.Columns["WARDNOPA"];
this.columnPOSTOFFICETA = base.Columns["POSTOFFICETA"];
this.columnDISTRICTTA = base.Columns["DISTRICTTA"];
this.columnTHANATA = base.Columns["THANATA"];
this.columnVILLAGETA = base.Columns["VILLAGETA"];
this.columnROADNOTA = base.Columns["ROADNOTA"];
this.columnWARDNOTA = base.Columns["WARDNOTA"];
this.columnSIGNATURE = base.Columns["SIGNATURE"];
this.columnAUTHSIGN = base.Columns["AUTHSIGN"];
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@ -800,10 +960,34 @@ namespace HRM.Report.PayrollDataSet {
base.Columns.Add(this.columnLMDESIGNATION); base.Columns.Add(this.columnLMDESIGNATION);
this.columnEDUCATIONLEVEL = new global::System.Data.DataColumn("EDUCATIONLEVEL", typeof(string), null, global::System.Data.MappingType.Element); this.columnEDUCATIONLEVEL = new global::System.Data.DataColumn("EDUCATIONLEVEL", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnEDUCATIONLEVEL); base.Columns.Add(this.columnEDUCATIONLEVEL);
this.columnPARMANENTDISTRICT = new global::System.Data.DataColumn("PARMANENTDISTRICT", typeof(string), null, global::System.Data.MappingType.Element); this.columnPOSTOFFICEPA = new global::System.Data.DataColumn("POSTOFFICEPA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnPARMANENTDISTRICT); base.Columns.Add(this.columnPOSTOFFICEPA);
this.columnPARMANENTTHANA = new global::System.Data.DataColumn("PARMANENTTHANA", typeof(string), null, global::System.Data.MappingType.Element); this.columnDISTRICTPA = new global::System.Data.DataColumn("DISTRICTPA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnPARMANENTTHANA); base.Columns.Add(this.columnDISTRICTPA);
this.columnTHANAPA = new global::System.Data.DataColumn("THANAPA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnTHANAPA);
this.columnVILLAGEPA = new global::System.Data.DataColumn("VILLAGEPA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnVILLAGEPA);
this.columnROADNOPA = new global::System.Data.DataColumn("ROADNOPA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnROADNOPA);
this.columnWARDNOPA = new global::System.Data.DataColumn("WARDNOPA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnWARDNOPA);
this.columnPOSTOFFICETA = new global::System.Data.DataColumn("POSTOFFICETA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnPOSTOFFICETA);
this.columnDISTRICTTA = new global::System.Data.DataColumn("DISTRICTTA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnDISTRICTTA);
this.columnTHANATA = new global::System.Data.DataColumn("THANATA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnTHANATA);
this.columnVILLAGETA = new global::System.Data.DataColumn("VILLAGETA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnVILLAGETA);
this.columnROADNOTA = new global::System.Data.DataColumn("ROADNOTA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnROADNOTA);
this.columnWARDNOTA = new global::System.Data.DataColumn("WARDNOTA", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnWARDNOTA);
this.columnSIGNATURE = new global::System.Data.DataColumn("SIGNATURE", typeof(string), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnSIGNATURE);
this.columnAUTHSIGN = new global::System.Data.DataColumn("AUTHSIGN", typeof(byte[]), null, global::System.Data.MappingType.Element);
base.Columns.Add(this.columnAUTHSIGN);
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@ -969,6 +1153,8 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called" +
" or extended by application code.", DiagnosticId="SYSLIB0051")]
protected SystemInformationDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : protected SystemInformationDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) { base(info, context) {
this.InitVars(); this.InitVars();
@ -1232,6 +1418,8 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called" +
" or extended by application code.", DiagnosticId="SYSLIB0051")]
protected LeaveEntryDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : protected LeaveEntryDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) { base(info, context) {
this.InitVars(); this.InitVars();
@ -1513,6 +1701,8 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called" +
" or extended by application code.", DiagnosticId="SYSLIB0051")]
protected EMPLifecycleDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : protected EMPLifecycleDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) { base(info, context) {
this.InitVars(); this.InitVars();
@ -1822,6 +2012,8 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
[System.ObsoleteAttribute("This API supports obsolete formatter-based serialization. It should not be called" +
" or extended by application code.", DiagnosticId="SYSLIB0051")]
protected ComplainDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : protected ComplainDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) :
base(info, context) { base(info, context) {
this.InitVars(); this.InitVars();
@ -2335,35 +2527,225 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string PARMANENTDISTRICT { public string POSTOFFICEPA {
get { get {
try { try {
return ((string)(this[this.tableEMPDigitalServiceBook.PARMANENTDISTRICTColumn])); return ((string)(this[this.tableEMPDigitalServiceBook.POSTOFFICEPAColumn]));
} }
catch (global::System.InvalidCastException e) { catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'PARMANENTDISTRICT\' in table \'EMPDigitalServiceBook\' is DBNu" + throw new global::System.Data.StrongTypingException("The value for column \'POSTOFFICEPA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
"ll.", e);
} }
} }
set { set {
this[this.tableEMPDigitalServiceBook.PARMANENTDISTRICTColumn] = value; this[this.tableEMPDigitalServiceBook.POSTOFFICEPAColumn] = value;
} }
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string PARMANENTTHANA { public string DISTRICTPA {
get { get {
try { try {
return ((string)(this[this.tableEMPDigitalServiceBook.PARMANENTTHANAColumn])); return ((string)(this[this.tableEMPDigitalServiceBook.DISTRICTPAColumn]));
} }
catch (global::System.InvalidCastException e) { catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'PARMANENTTHANA\' in table \'EMPDigitalServiceBook\' is DBNull." + throw new global::System.Data.StrongTypingException("The value for column \'DISTRICTPA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
"", e);
} }
} }
set { set {
this[this.tableEMPDigitalServiceBook.PARMANENTTHANAColumn] = value; this[this.tableEMPDigitalServiceBook.DISTRICTPAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string THANAPA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.THANAPAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'THANAPA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.THANAPAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string VILLAGEPA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.VILLAGEPAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'VILLAGEPA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.VILLAGEPAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string ROADNOPA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.ROADNOPAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'ROADNOPA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.ROADNOPAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string WARDNOPA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.WARDNOPAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'WARDNOPA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.WARDNOPAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string POSTOFFICETA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.POSTOFFICETAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'POSTOFFICETA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.POSTOFFICETAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string DISTRICTTA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.DISTRICTTAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'DISTRICTTA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.DISTRICTTAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string THANATA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.THANATAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'THANATA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.THANATAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string VILLAGETA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.VILLAGETAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'VILLAGETA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.VILLAGETAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string ROADNOTA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.ROADNOTAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'ROADNOTA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.ROADNOTAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string WARDNOTA {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.WARDNOTAColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'WARDNOTA\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.WARDNOTAColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string SIGNATURE {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.SIGNATUREColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'SIGNATURE\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.SIGNATUREColumn] = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public string AUTHSIGN {
get {
try {
return ((string)(this[this.tableEMPDigitalServiceBook.AUTHSIGNColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'AUTHSIGN\' in table \'EMPDigitalServiceBook\' is DBNull.", e);
}
}
set {
this[this.tableEMPDigitalServiceBook.AUTHSIGNColumn] = value;
} }
} }
@ -2573,26 +2955,170 @@ namespace HRM.Report.PayrollDataSet {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsPARMANENTDISTRICTNull() { public bool IsPOSTOFFICEPANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.PARMANENTDISTRICTColumn); return this.IsNull(this.tableEMPDigitalServiceBook.POSTOFFICEPAColumn);
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetPARMANENTDISTRICTNull() { public void SetPOSTOFFICEPANull() {
this[this.tableEMPDigitalServiceBook.PARMANENTDISTRICTColumn] = global::System.Convert.DBNull; this[this.tableEMPDigitalServiceBook.POSTOFFICEPAColumn] = global::System.Convert.DBNull;
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsPARMANENTTHANANull() { public bool IsDISTRICTPANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.PARMANENTTHANAColumn); return this.IsNull(this.tableEMPDigitalServiceBook.DISTRICTPAColumn);
} }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetPARMANENTTHANANull() { public void SetDISTRICTPANull() {
this[this.tableEMPDigitalServiceBook.PARMANENTTHANAColumn] = global::System.Convert.DBNull; this[this.tableEMPDigitalServiceBook.DISTRICTPAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsTHANAPANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.THANAPAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetTHANAPANull() {
this[this.tableEMPDigitalServiceBook.THANAPAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsVILLAGEPANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.VILLAGEPAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetVILLAGEPANull() {
this[this.tableEMPDigitalServiceBook.VILLAGEPAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsROADNOPANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.ROADNOPAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetROADNOPANull() {
this[this.tableEMPDigitalServiceBook.ROADNOPAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsWARDNOPANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.WARDNOPAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetWARDNOPANull() {
this[this.tableEMPDigitalServiceBook.WARDNOPAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsPOSTOFFICETANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.POSTOFFICETAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetPOSTOFFICETANull() {
this[this.tableEMPDigitalServiceBook.POSTOFFICETAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsDISTRICTTANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.DISTRICTTAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetDISTRICTTANull() {
this[this.tableEMPDigitalServiceBook.DISTRICTTAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsTHANATANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.THANATAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetTHANATANull() {
this[this.tableEMPDigitalServiceBook.THANATAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsVILLAGETANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.VILLAGETAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetVILLAGETANull() {
this[this.tableEMPDigitalServiceBook.VILLAGETAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsROADNOTANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.ROADNOTAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetROADNOTANull() {
this[this.tableEMPDigitalServiceBook.ROADNOTAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsWARDNOTANull() {
return this.IsNull(this.tableEMPDigitalServiceBook.WARDNOTAColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetWARDNOTANull() {
this[this.tableEMPDigitalServiceBook.WARDNOTAColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsSIGNATURENull() {
return this.IsNull(this.tableEMPDigitalServiceBook.SIGNATUREColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetSIGNATURENull() {
this[this.tableEMPDigitalServiceBook.SIGNATUREColumn] = global::System.Convert.DBNull;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public bool IsAUTHSIGNNull() {
return this.IsNull(this.tableEMPDigitalServiceBook.AUTHSIGNColumn);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
public void SetAUTHSIGNNull() {
this[this.tableEMPDigitalServiceBook.AUTHSIGNColumn] = global::System.Convert.DBNull;
} }
} }

View File

@ -12,65 +12,77 @@
<xs:element name="DigitalServiceBookDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DigitalServiceBookDataSet" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DigitalServiceBookDataSet"> <xs:element name="DigitalServiceBookDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DigitalServiceBookDataSet" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DigitalServiceBookDataSet">
<xs:complexType> <xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="EMPDigitalServiceBook" msprop:Generator_RowClassName="EMPDigitalServiceBookRow" msprop:Generator_RowEvHandlerName="EMPDigitalServiceBookRowChangeEventHandler" msprop:Generator_RowDeletedName="EMPDigitalServiceBookRowDeleted" msprop:Generator_RowDeletingName="EMPDigitalServiceBookRowDeleting" msprop:Generator_RowEvArgName="EMPDigitalServiceBookRowChangeEvent" msprop:Generator_TablePropName="EMPDigitalServiceBook" msprop:Generator_RowChangedName="EMPDigitalServiceBookRowChanged" msprop:Generator_UserTableName="EMPDigitalServiceBook" msprop:Generator_RowChangingName="EMPDigitalServiceBookRowChanging" msprop:Generator_TableClassName="EMPDigitalServiceBookDataTable" msprop:Generator_TableVarName="tableEMPDigitalServiceBook"> <xs:element name="EMPDigitalServiceBook" msprop:Generator_RowEvHandlerName="EMPDigitalServiceBookRowChangeEventHandler" msprop:Generator_RowDeletedName="EMPDigitalServiceBookRowDeleted" msprop:Generator_RowDeletingName="EMPDigitalServiceBookRowDeleting" msprop:Generator_RowEvArgName="EMPDigitalServiceBookRowChangeEvent" msprop:Generator_TablePropName="EMPDigitalServiceBook" msprop:Generator_RowChangedName="EMPDigitalServiceBookRowChanged" msprop:Generator_UserTableName="EMPDigitalServiceBook" msprop:Generator_RowChangingName="EMPDigitalServiceBookRowChanging" msprop:Generator_RowClassName="EMPDigitalServiceBookRow" msprop:Generator_TableClassName="EMPDigitalServiceBookDataTable" msprop:Generator_TableVarName="tableEMPDigitalServiceBook">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="EMPLOYEEID" msprop:Generator_UserColumnName="EMPLOYEEID" msprop:Generator_ColumnPropNameInTable="EMPLOYEEIDColumn" msprop:Generator_ColumnPropNameInRow="EMPLOYEEID" msprop:Generator_ColumnVarNameInTable="columnEMPLOYEEID" type="xs:string" minOccurs="0" /> <xs:element name="EMPLOYEEID" msprop:Generator_ColumnPropNameInTable="EMPLOYEEIDColumn" msprop:Generator_ColumnPropNameInRow="EMPLOYEEID" msprop:Generator_UserColumnName="EMPLOYEEID" msprop:Generator_ColumnVarNameInTable="columnEMPLOYEEID" type="xs:string" minOccurs="0" />
<xs:element name="EMPLOYEENO" msprop:Generator_UserColumnName="EMPLOYEENO" msprop:Generator_ColumnPropNameInTable="EMPLOYEENOColumn" msprop:Generator_ColumnPropNameInRow="EMPLOYEENO" msprop:Generator_ColumnVarNameInTable="columnEMPLOYEENO" type="xs:string" minOccurs="0" /> <xs:element name="EMPLOYEENO" msprop:Generator_ColumnPropNameInTable="EMPLOYEENOColumn" msprop:Generator_ColumnPropNameInRow="EMPLOYEENO" msprop:Generator_UserColumnName="EMPLOYEENO" msprop:Generator_ColumnVarNameInTable="columnEMPLOYEENO" type="xs:string" minOccurs="0" />
<xs:element name="NAME" msprop:Generator_UserColumnName="NAME" msprop:Generator_ColumnPropNameInTable="NAMEColumn" msprop:Generator_ColumnPropNameInRow="NAME" msprop:Generator_ColumnVarNameInTable="columnNAME" type="xs:string" minOccurs="0" /> <xs:element name="NAME" msprop:Generator_ColumnPropNameInTable="NAMEColumn" msprop:Generator_ColumnPropNameInRow="NAME" msprop:Generator_UserColumnName="NAME" msprop:Generator_ColumnVarNameInTable="columnNAME" type="xs:string" minOccurs="0" />
<xs:element name="FATHERNAME" msprop:Generator_UserColumnName="FATHERNAME" msprop:Generator_ColumnPropNameInTable="FATHERNAMEColumn" msprop:Generator_ColumnPropNameInRow="FATHERNAME" msprop:Generator_ColumnVarNameInTable="columnFATHERNAME" type="xs:string" minOccurs="0" /> <xs:element name="FATHERNAME" msprop:Generator_ColumnPropNameInTable="FATHERNAMEColumn" msprop:Generator_ColumnPropNameInRow="FATHERNAME" msprop:Generator_UserColumnName="FATHERNAME" msprop:Generator_ColumnVarNameInTable="columnFATHERNAME" type="xs:string" minOccurs="0" />
<xs:element name="MOTHERNAME" msprop:Generator_UserColumnName="MOTHERNAME" msprop:Generator_ColumnPropNameInTable="MOTHERNAMEColumn" msprop:Generator_ColumnPropNameInRow="MOTHERNAME" msprop:Generator_ColumnVarNameInTable="columnMOTHERNAME" type="xs:string" minOccurs="0" /> <xs:element name="MOTHERNAME" msprop:Generator_ColumnPropNameInTable="MOTHERNAMEColumn" msprop:Generator_ColumnPropNameInRow="MOTHERNAME" msprop:Generator_UserColumnName="MOTHERNAME" msprop:Generator_ColumnVarNameInTable="columnMOTHERNAME" type="xs:string" minOccurs="0" />
<xs:element name="SPOUSENAME" msprop:Generator_UserColumnName="SPOUSENAME" msprop:Generator_ColumnPropNameInTable="SPOUSENAMEColumn" msprop:Generator_ColumnPropNameInRow="SPOUSENAME" msprop:Generator_ColumnVarNameInTable="columnSPOUSENAME" type="xs:string" minOccurs="0" /> <xs:element name="SPOUSENAME" msprop:Generator_ColumnPropNameInTable="SPOUSENAMEColumn" msprop:Generator_ColumnPropNameInRow="SPOUSENAME" msprop:Generator_UserColumnName="SPOUSENAME" msprop:Generator_ColumnVarNameInTable="columnSPOUSENAME" type="xs:string" minOccurs="0" />
<xs:element name="JOININGDATE" msprop:Generator_UserColumnName="JOININGDATE" msprop:Generator_ColumnPropNameInTable="JOININGDATEColumn" msprop:Generator_ColumnPropNameInRow="JOININGDATE" msprop:Generator_ColumnVarNameInTable="columnJOININGDATE" type="xs:string" minOccurs="0" /> <xs:element name="JOININGDATE" msprop:Generator_ColumnPropNameInTable="JOININGDATEColumn" msprop:Generator_ColumnPropNameInRow="JOININGDATE" msprop:Generator_UserColumnName="JOININGDATE" msprop:Generator_ColumnVarNameInTable="columnJOININGDATE" type="xs:string" minOccurs="0" />
<xs:element name="DESIGNATION" msprop:Generator_UserColumnName="DESIGNATION" msprop:Generator_ColumnPropNameInTable="DESIGNATIONColumn" msprop:Generator_ColumnPropNameInRow="DESIGNATION" msprop:Generator_ColumnVarNameInTable="columnDESIGNATION" type="xs:string" minOccurs="0" /> <xs:element name="DESIGNATION" msprop:Generator_ColumnPropNameInTable="DESIGNATIONColumn" msprop:Generator_ColumnPropNameInRow="DESIGNATION" msprop:Generator_UserColumnName="DESIGNATION" msprop:Generator_ColumnVarNameInTable="columnDESIGNATION" type="xs:string" minOccurs="0" />
<xs:element name="PARMANENTADDRESS" msprop:Generator_UserColumnName="PARMANENTADDRESS" msprop:Generator_ColumnPropNameInTable="PARMANENTADDRESSColumn" msprop:Generator_ColumnPropNameInRow="PARMANENTADDRESS" msprop:Generator_ColumnVarNameInTable="columnPARMANENTADDRESS" type="xs:string" minOccurs="0" /> <xs:element name="PARMANENTADDRESS" msprop:Generator_ColumnPropNameInTable="PARMANENTADDRESSColumn" msprop:Generator_ColumnPropNameInRow="PARMANENTADDRESS" msprop:Generator_UserColumnName="PARMANENTADDRESS" msprop:Generator_ColumnVarNameInTable="columnPARMANENTADDRESS" type="xs:string" minOccurs="0" />
<xs:element name="PRESENTADDRESS" msprop:Generator_UserColumnName="PRESENTADDRESS" msprop:Generator_ColumnPropNameInTable="PRESENTADDRESSColumn" msprop:Generator_ColumnPropNameInRow="PRESENTADDRESS" msprop:Generator_ColumnVarNameInTable="columnPRESENTADDRESS" type="xs:string" minOccurs="0" /> <xs:element name="PRESENTADDRESS" msprop:Generator_ColumnPropNameInTable="PRESENTADDRESSColumn" msprop:Generator_ColumnPropNameInRow="PRESENTADDRESS" msprop:Generator_UserColumnName="PRESENTADDRESS" msprop:Generator_ColumnVarNameInTable="columnPRESENTADDRESS" type="xs:string" minOccurs="0" />
<xs:element name="BIRTHDATE" msprop:Generator_UserColumnName="BIRTHDATE" msprop:Generator_ColumnPropNameInTable="BIRTHDATEColumn" msprop:Generator_ColumnPropNameInRow="BIRTHDATE" msprop:Generator_ColumnVarNameInTable="columnBIRTHDATE" type="xs:string" minOccurs="0" /> <xs:element name="BIRTHDATE" msprop:Generator_ColumnPropNameInTable="BIRTHDATEColumn" msprop:Generator_ColumnPropNameInRow="BIRTHDATE" msprop:Generator_UserColumnName="BIRTHDATE" msprop:Generator_ColumnVarNameInTable="columnBIRTHDATE" type="xs:string" minOccurs="0" />
<xs:element name="PHOTO" msprop:Generator_UserColumnName="PHOTO" msprop:Generator_ColumnPropNameInTable="PHOTOColumn" msprop:Generator_ColumnPropNameInRow="PHOTO" msprop:Generator_ColumnVarNameInTable="columnPHOTO" type="xs:string" minOccurs="0" /> <xs:element name="PHOTO" msprop:Generator_ColumnPropNameInTable="PHOTOColumn" msprop:Generator_ColumnPropNameInRow="PHOTO" msprop:Generator_UserColumnName="PHOTO" msprop:Generator_ColumnVarNameInTable="columnPHOTO" type="xs:string" minOccurs="0" />
<xs:element name="NIDNO" msprop:Generator_UserColumnName="NIDNO" msprop:Generator_ColumnPropNameInTable="NIDNOColumn" msprop:Generator_ColumnPropNameInRow="NIDNO" msprop:Generator_ColumnVarNameInTable="columnNIDNO" type="xs:string" minOccurs="0" /> <xs:element name="NIDNO" msprop:Generator_ColumnPropNameInTable="NIDNOColumn" msprop:Generator_ColumnPropNameInRow="NIDNO" msprop:Generator_UserColumnName="NIDNO" msprop:Generator_ColumnVarNameInTable="columnNIDNO" type="xs:string" minOccurs="0" />
<xs:element name="HEIGHT" msprop:Generator_UserColumnName="HEIGHT" msprop:Generator_ColumnPropNameInTable="HEIGHTColumn" msprop:Generator_ColumnPropNameInRow="HEIGHT" msprop:Generator_ColumnVarNameInTable="columnHEIGHT" type="xs:string" minOccurs="0" /> <xs:element name="HEIGHT" msprop:Generator_ColumnPropNameInTable="HEIGHTColumn" msprop:Generator_ColumnPropNameInRow="HEIGHT" msprop:Generator_UserColumnName="HEIGHT" msprop:Generator_ColumnVarNameInTable="columnHEIGHT" type="xs:string" minOccurs="0" />
<xs:element name="BLOODGROUP" msprop:Generator_UserColumnName="BLOODGROUP" msprop:Generator_ColumnPropNameInTable="BLOODGROUPColumn" msprop:Generator_ColumnPropNameInRow="BLOODGROUP" msprop:Generator_ColumnVarNameInTable="columnBLOODGROUP" type="xs:string" minOccurs="0" /> <xs:element name="BLOODGROUP" msprop:Generator_ColumnPropNameInTable="BLOODGROUPColumn" msprop:Generator_ColumnPropNameInRow="BLOODGROUP" msprop:Generator_UserColumnName="BLOODGROUP" msprop:Generator_ColumnVarNameInTable="columnBLOODGROUP" type="xs:string" minOccurs="0" />
<xs:element name="LMDESIGNATION" msprop:Generator_UserColumnName="LMDESIGNATION" msprop:Generator_ColumnPropNameInTable="LMDESIGNATIONColumn" msprop:Generator_ColumnPropNameInRow="LMDESIGNATION" msprop:Generator_ColumnVarNameInTable="columnLMDESIGNATION" type="xs:string" minOccurs="0" /> <xs:element name="LMDESIGNATION" msprop:Generator_ColumnPropNameInTable="LMDESIGNATIONColumn" msprop:Generator_ColumnPropNameInRow="LMDESIGNATION" msprop:Generator_UserColumnName="LMDESIGNATION" msprop:Generator_ColumnVarNameInTable="columnLMDESIGNATION" type="xs:string" minOccurs="0" />
<xs:element name="EDUCATIONLEVEL" msprop:Generator_UserColumnName="EDUCATIONLEVEL" msprop:Generator_ColumnPropNameInTable="EDUCATIONLEVELColumn" msprop:Generator_ColumnPropNameInRow="EDUCATIONLEVEL" msprop:Generator_ColumnVarNameInTable="columnEDUCATIONLEVEL" type="xs:string" minOccurs="0" /> <xs:element name="EDUCATIONLEVEL" msprop:Generator_ColumnPropNameInTable="EDUCATIONLEVELColumn" msprop:Generator_ColumnPropNameInRow="EDUCATIONLEVEL" msprop:Generator_UserColumnName="EDUCATIONLEVEL" msprop:Generator_ColumnVarNameInTable="columnEDUCATIONLEVEL" type="xs:string" minOccurs="0" />
<xs:element name="PARMANENTDISTRICT" msprop:Generator_UserColumnName="PARMANENTDISTRICT" msprop:Generator_ColumnPropNameInTable="PARMANENTDISTRICTColumn" msprop:Generator_ColumnPropNameInRow="PARMANENTDISTRICT" msprop:Generator_ColumnVarNameInTable="columnPARMANENTDISTRICT" type="xs:string" minOccurs="0" /> <xs:element name="POSTOFFICEPA" msprop:Generator_ColumnPropNameInTable="POSTOFFICEPAColumn" msprop:Generator_ColumnPropNameInRow="POSTOFFICEPA" msprop:Generator_UserColumnName="POSTOFFICEPA" msprop:Generator_ColumnVarNameInTable="columnPOSTOFFICEPA" type="xs:string" minOccurs="0" />
<xs:element name="PARMANENTTHANA" msprop:Generator_UserColumnName="PARMANENTTHANA" msprop:Generator_ColumnPropNameInTable="PARMANENTTHANAColumn" msprop:Generator_ColumnPropNameInRow="PARMANENTTHANA" msprop:Generator_ColumnVarNameInTable="columnPARMANENTTHANA" type="xs:string" minOccurs="0" /> <xs:element name="DISTRICTPA" msprop:Generator_ColumnPropNameInTable="DISTRICTPAColumn" msprop:Generator_ColumnPropNameInRow="DISTRICTPA" msprop:Generator_UserColumnName="DISTRICTPA" msprop:Generator_ColumnVarNameInTable="columnDISTRICTPA" type="xs:string" minOccurs="0" />
<xs:element name="THANAPA" msprop:Generator_ColumnPropNameInRow="THANAPA" msprop:Generator_ColumnPropNameInTable="THANAPAColumn" msprop:Generator_ColumnVarNameInTable="columnTHANAPA" msprop:Generator_UserColumnName="THANAPA" type="xs:string" minOccurs="0" />
<xs:element name="VILLAGEPA" msprop:Generator_ColumnPropNameInRow="VILLAGEPA" msprop:Generator_ColumnPropNameInTable="VILLAGEPAColumn" msprop:Generator_ColumnVarNameInTable="columnVILLAGEPA" msprop:Generator_UserColumnName="VILLAGEPA" type="xs:string" minOccurs="0" />
<xs:element name="ROADNOPA" msprop:Generator_ColumnPropNameInRow="ROADNOPA" msprop:Generator_ColumnPropNameInTable="ROADNOPAColumn" msprop:Generator_ColumnVarNameInTable="columnROADNOPA" msprop:Generator_UserColumnName="ROADNOPA" type="xs:string" minOccurs="0" />
<xs:element name="WARDNOPA" msprop:Generator_ColumnPropNameInRow="WARDNOPA" msprop:Generator_ColumnPropNameInTable="WARDNOPAColumn" msprop:Generator_ColumnVarNameInTable="columnWARDNOPA" msprop:Generator_UserColumnName="WARDNOPA" type="xs:string" minOccurs="0" />
<xs:element name="POSTOFFICETA" msprop:Generator_ColumnPropNameInRow="POSTOFFICETA" msprop:Generator_ColumnPropNameInTable="POSTOFFICETAColumn" msprop:Generator_ColumnVarNameInTable="columnPOSTOFFICETA" msprop:Generator_UserColumnName="POSTOFFICETA" type="xs:string" minOccurs="0" />
<xs:element name="DISTRICTTA" msprop:Generator_ColumnPropNameInRow="DISTRICTTA" msprop:Generator_ColumnPropNameInTable="DISTRICTTAColumn" msprop:Generator_ColumnVarNameInTable="columnDISTRICTTA" msprop:Generator_UserColumnName="DISTRICTTA" type="xs:string" minOccurs="0" />
<xs:element name="THANATA" msprop:Generator_ColumnPropNameInRow="THANATA" msprop:Generator_ColumnPropNameInTable="THANATAColumn" msprop:Generator_ColumnVarNameInTable="columnTHANATA" msprop:Generator_UserColumnName="THANATA" type="xs:string" minOccurs="0" />
<xs:element name="VILLAGETA" msprop:Generator_ColumnPropNameInRow="VILLAGETA" msprop:Generator_ColumnPropNameInTable="VILLAGETAColumn" msprop:Generator_ColumnVarNameInTable="columnVILLAGETA" msprop:Generator_UserColumnName="VILLAGETA" type="xs:string" minOccurs="0" />
<xs:element name="ROADNOTA" msprop:Generator_ColumnPropNameInRow="ROADNOTA" msprop:Generator_ColumnPropNameInTable="ROADNOTAColumn" msprop:Generator_ColumnVarNameInTable="columnROADNOTA" msprop:Generator_UserColumnName="ROADNOTA" type="xs:string" minOccurs="0" />
<xs:element name="WARDNOTA" msprop:Generator_ColumnPropNameInRow="WARDNOTA" msprop:Generator_ColumnPropNameInTable="WARDNOTAColumn" msprop:Generator_ColumnVarNameInTable="columnWARDNOTA" msprop:Generator_UserColumnName="WARDNOTA" type="xs:string" minOccurs="0" />
<xs:element name="SIGNATURE" msprop:Generator_ColumnPropNameInRow="SIGNATURE" msprop:Generator_ColumnPropNameInTable="SIGNATUREColumn" msprop:Generator_ColumnVarNameInTable="columnSIGNATURE" msprop:Generator_UserColumnName="SIGNATURE" type="xs:string" minOccurs="0" />
<xs:element name="AUTHSIGN" msprop:Generator_ColumnPropNameInRow="AUTHSIGN" msprop:Generator_ColumnPropNameInTable="AUTHSIGNColumn" msprop:Generator_ColumnVarNameInTable="columnAUTHSIGN" msprop:Generator_UserColumnName="AUTHSIGN" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="SystemInformation" msprop:Generator_RowClassName="SystemInformationRow" msprop:Generator_RowEvHandlerName="SystemInformationRowChangeEventHandler" msprop:Generator_RowDeletedName="SystemInformationRowDeleted" msprop:Generator_RowDeletingName="SystemInformationRowDeleting" msprop:Generator_RowEvArgName="SystemInformationRowChangeEvent" msprop:Generator_TablePropName="SystemInformation" msprop:Generator_RowChangedName="SystemInformationRowChanged" msprop:Generator_UserTableName="SystemInformation" msprop:Generator_RowChangingName="SystemInformationRowChanging" msprop:Generator_TableClassName="SystemInformationDataTable" msprop:Generator_TableVarName="tableSystemInformation"> <xs:element name="SystemInformation" msprop:Generator_RowEvHandlerName="SystemInformationRowChangeEventHandler" msprop:Generator_RowDeletedName="SystemInformationRowDeleted" msprop:Generator_RowDeletingName="SystemInformationRowDeleting" msprop:Generator_RowEvArgName="SystemInformationRowChangeEvent" msprop:Generator_TablePropName="SystemInformation" msprop:Generator_RowChangedName="SystemInformationRowChanged" msprop:Generator_UserTableName="SystemInformation" msprop:Generator_RowChangingName="SystemInformationRowChanging" msprop:Generator_RowClassName="SystemInformationRow" msprop:Generator_TableClassName="SystemInformationDataTable" msprop:Generator_TableVarName="tableSystemInformation">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="NAME" msprop:Generator_UserColumnName="NAME" msprop:Generator_ColumnPropNameInTable="NAMEColumn" msprop:Generator_ColumnPropNameInRow="NAME" msprop:Generator_ColumnVarNameInTable="columnNAME" type="xs:string" minOccurs="0" /> <xs:element name="NAME" msprop:Generator_ColumnPropNameInTable="NAMEColumn" msprop:Generator_ColumnPropNameInRow="NAME" msprop:Generator_UserColumnName="NAME" msprop:Generator_ColumnVarNameInTable="columnNAME" type="xs:string" minOccurs="0" />
<xs:element name="CORPORATEADDRESS" msprop:Generator_UserColumnName="CORPORATEADDRESS" msprop:Generator_ColumnPropNameInTable="CORPORATEADDRESSColumn" msprop:Generator_ColumnPropNameInRow="CORPORATEADDRESS" msprop:Generator_ColumnVarNameInTable="columnCORPORATEADDRESS" type="xs:string" minOccurs="0" /> <xs:element name="CORPORATEADDRESS" msprop:Generator_ColumnPropNameInTable="CORPORATEADDRESSColumn" msprop:Generator_ColumnPropNameInRow="CORPORATEADDRESS" msprop:Generator_UserColumnName="CORPORATEADDRESS" msprop:Generator_ColumnVarNameInTable="columnCORPORATEADDRESS" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="LeaveEntry" msprop:Generator_RowClassName="LeaveEntryRow" msprop:Generator_RowEvHandlerName="LeaveEntryRowChangeEventHandler" msprop:Generator_RowDeletedName="LeaveEntryRowDeleted" msprop:Generator_RowDeletingName="LeaveEntryRowDeleting" msprop:Generator_RowEvArgName="LeaveEntryRowChangeEvent" msprop:Generator_TablePropName="LeaveEntry" msprop:Generator_RowChangedName="LeaveEntryRowChanged" msprop:Generator_UserTableName="LeaveEntry" msprop:Generator_RowChangingName="LeaveEntryRowChanging" msprop:Generator_TableClassName="LeaveEntryDataTable" msprop:Generator_TableVarName="tableLeaveEntry"> <xs:element name="LeaveEntry" msprop:Generator_RowEvHandlerName="LeaveEntryRowChangeEventHandler" msprop:Generator_RowDeletedName="LeaveEntryRowDeleted" msprop:Generator_RowDeletingName="LeaveEntryRowDeleting" msprop:Generator_RowEvArgName="LeaveEntryRowChangeEvent" msprop:Generator_TablePropName="LeaveEntry" msprop:Generator_RowChangedName="LeaveEntryRowChanged" msprop:Generator_UserTableName="LeaveEntry" msprop:Generator_RowChangingName="LeaveEntryRowChanging" msprop:Generator_RowClassName="LeaveEntryRow" msprop:Generator_TableClassName="LeaveEntryDataTable" msprop:Generator_TableVarName="tableLeaveEntry">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="FROMDATE" msprop:Generator_UserColumnName="FROMDATE" msprop:Generator_ColumnPropNameInTable="FROMDATEColumn" msprop:Generator_ColumnPropNameInRow="FROMDATE" msprop:Generator_ColumnVarNameInTable="columnFROMDATE" type="xs:string" minOccurs="0" /> <xs:element name="FROMDATE" msprop:Generator_ColumnPropNameInTable="FROMDATEColumn" msprop:Generator_ColumnPropNameInRow="FROMDATE" msprop:Generator_UserColumnName="FROMDATE" msprop:Generator_ColumnVarNameInTable="columnFROMDATE" type="xs:string" minOccurs="0" />
<xs:element name="TODATE" msprop:Generator_UserColumnName="TODATE" msprop:Generator_ColumnPropNameInTable="TODATEColumn" msprop:Generator_ColumnPropNameInRow="TODATE" msprop:Generator_ColumnVarNameInTable="columnTODATE" type="xs:string" minOccurs="0" /> <xs:element name="TODATE" msprop:Generator_ColumnPropNameInTable="TODATEColumn" msprop:Generator_ColumnPropNameInRow="TODATE" msprop:Generator_UserColumnName="TODATE" msprop:Generator_ColumnVarNameInTable="columnTODATE" type="xs:string" minOccurs="0" />
<xs:element name="TOTALDAYS" msprop:Generator_UserColumnName="TOTALDAYS" msprop:Generator_ColumnPropNameInTable="TOTALDAYSColumn" msprop:Generator_ColumnPropNameInRow="TOTALDAYS" msprop:Generator_ColumnVarNameInTable="columnTOTALDAYS" type="xs:string" minOccurs="0" /> <xs:element name="TOTALDAYS" msprop:Generator_ColumnPropNameInTable="TOTALDAYSColumn" msprop:Generator_ColumnPropNameInRow="TOTALDAYS" msprop:Generator_UserColumnName="TOTALDAYS" msprop:Generator_ColumnVarNameInTable="columnTOTALDAYS" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="EMPLifecycle" msprop:Generator_RowClassName="EMPLifecycleRow" msprop:Generator_RowEvHandlerName="EMPLifecycleRowChangeEventHandler" msprop:Generator_RowDeletedName="EMPLifecycleRowDeleted" msprop:Generator_RowDeletingName="EMPLifecycleRowDeleting" msprop:Generator_RowEvArgName="EMPLifecycleRowChangeEvent" msprop:Generator_TablePropName="EMPLifecycle" msprop:Generator_RowChangedName="EMPLifecycleRowChanged" msprop:Generator_UserTableName="EMPLifecycle" msprop:Generator_RowChangingName="EMPLifecycleRowChanging" msprop:Generator_TableClassName="EMPLifecycleDataTable" msprop:Generator_TableVarName="tableEMPLifecycle"> <xs:element name="EMPLifecycle" msprop:Generator_RowEvHandlerName="EMPLifecycleRowChangeEventHandler" msprop:Generator_RowDeletedName="EMPLifecycleRowDeleted" msprop:Generator_RowDeletingName="EMPLifecycleRowDeleting" msprop:Generator_RowEvArgName="EMPLifecycleRowChangeEvent" msprop:Generator_TablePropName="EMPLifecycle" msprop:Generator_RowChangedName="EMPLifecycleRowChanged" msprop:Generator_UserTableName="EMPLifecycle" msprop:Generator_RowChangingName="EMPLifecycleRowChanging" msprop:Generator_RowClassName="EMPLifecycleRow" msprop:Generator_TableClassName="EMPLifecycleDataTable" msprop:Generator_TableVarName="tableEMPLifecycle">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="EFFECTDATE" msprop:Generator_UserColumnName="EFFECTDATE" msprop:Generator_ColumnPropNameInTable="EFFECTDATEColumn" msprop:Generator_ColumnPropNameInRow="EFFECTDATE" msprop:Generator_ColumnVarNameInTable="columnEFFECTDATE" type="xs:string" minOccurs="0" /> <xs:element name="EFFECTDATE" msprop:Generator_ColumnPropNameInTable="EFFECTDATEColumn" msprop:Generator_ColumnPropNameInRow="EFFECTDATE" msprop:Generator_UserColumnName="EFFECTDATE" msprop:Generator_ColumnVarNameInTable="columnEFFECTDATE" type="xs:string" minOccurs="0" />
<xs:element name="DESIGNATION" msprop:Generator_UserColumnName="DESIGNATION" msprop:Generator_ColumnPropNameInTable="DESIGNATIONColumn" msprop:Generator_ColumnPropNameInRow="DESIGNATION" msprop:Generator_ColumnVarNameInTable="columnDESIGNATION" type="xs:string" minOccurs="0" /> <xs:element name="DESIGNATION" msprop:Generator_ColumnPropNameInTable="DESIGNATIONColumn" msprop:Generator_ColumnPropNameInRow="DESIGNATION" msprop:Generator_UserColumnName="DESIGNATION" msprop:Generator_ColumnVarNameInTable="columnDESIGNATION" type="xs:string" minOccurs="0" />
<xs:element name="BASICSALARY" msprop:Generator_UserColumnName="BASICSALARY" msprop:Generator_ColumnPropNameInTable="BASICSALARYColumn" msprop:Generator_ColumnPropNameInRow="BASICSALARY" msprop:Generator_ColumnVarNameInTable="columnBASICSALARY" type="xs:string" minOccurs="0" /> <xs:element name="BASICSALARY" msprop:Generator_ColumnPropNameInTable="BASICSALARYColumn" msprop:Generator_ColumnPropNameInRow="BASICSALARY" msprop:Generator_UserColumnName="BASICSALARY" msprop:Generator_ColumnVarNameInTable="columnBASICSALARY" type="xs:string" minOccurs="0" />
<xs:element name="HOUSERENT" msprop:Generator_ColumnPropNameInRow="HOUSERENT" msprop:Generator_ColumnPropNameInTable="HOUSERENTColumn" msprop:Generator_ColumnVarNameInTable="columnHOUSERENT" msprop:Generator_UserColumnName="HOUSERENT" type="xs:string" minOccurs="0" /> <xs:element name="HOUSERENT" msprop:Generator_UserColumnName="HOUSERENT" msprop:Generator_ColumnPropNameInTable="HOUSERENTColumn" msprop:Generator_ColumnPropNameInRow="HOUSERENT" msprop:Generator_ColumnVarNameInTable="columnHOUSERENT" type="xs:string" minOccurs="0" />
<xs:element name="MEDICAL" msprop:Generator_ColumnPropNameInRow="MEDICAL" msprop:Generator_ColumnPropNameInTable="MEDICALColumn" msprop:Generator_ColumnVarNameInTable="columnMEDICAL" msprop:Generator_UserColumnName="MEDICAL" type="xs:string" minOccurs="0" /> <xs:element name="MEDICAL" msprop:Generator_UserColumnName="MEDICAL" msprop:Generator_ColumnPropNameInTable="MEDICALColumn" msprop:Generator_ColumnPropNameInRow="MEDICAL" msprop:Generator_ColumnVarNameInTable="columnMEDICAL" type="xs:string" minOccurs="0" />
<xs:element name="BONUS" msprop:Generator_ColumnPropNameInRow="BONUS" msprop:Generator_ColumnPropNameInTable="BONUSColumn" msprop:Generator_ColumnVarNameInTable="columnBONUS" msprop:Generator_UserColumnName="BONUS" type="xs:string" minOccurs="0" /> <xs:element name="BONUS" msprop:Generator_UserColumnName="BONUS" msprop:Generator_ColumnPropNameInTable="BONUSColumn" msprop:Generator_ColumnPropNameInRow="BONUS" msprop:Generator_ColumnVarNameInTable="columnBONUS" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="Complain" msprop:Generator_RowClassName="ComplainRow" msprop:Generator_RowEvHandlerName="ComplainRowChangeEventHandler" msprop:Generator_RowDeletedName="ComplainRowDeleted" msprop:Generator_RowDeletingName="ComplainRowDeleting" msprop:Generator_RowEvArgName="ComplainRowChangeEvent" msprop:Generator_TablePropName="Complain" msprop:Generator_RowChangedName="ComplainRowChanged" msprop:Generator_UserTableName="Complain" msprop:Generator_RowChangingName="ComplainRowChanging" msprop:Generator_TableClassName="ComplainDataTable" msprop:Generator_TableVarName="tableComplain"> <xs:element name="Complain" msprop:Generator_RowEvHandlerName="ComplainRowChangeEventHandler" msprop:Generator_RowDeletedName="ComplainRowDeleted" msprop:Generator_RowDeletingName="ComplainRowDeleting" msprop:Generator_RowEvArgName="ComplainRowChangeEvent" msprop:Generator_TablePropName="Complain" msprop:Generator_RowChangedName="ComplainRowChanged" msprop:Generator_UserTableName="Complain" msprop:Generator_RowChangingName="ComplainRowChanging" msprop:Generator_RowClassName="ComplainRow" msprop:Generator_TableClassName="ComplainDataTable" msprop:Generator_TableVarName="tableComplain">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:element name="EFFECTDATE" msprop:Generator_UserColumnName="EFFECTDATE" msprop:Generator_ColumnPropNameInTable="EFFECTDATEColumn" msprop:Generator_ColumnPropNameInRow="EFFECTDATE" msprop:Generator_ColumnVarNameInTable="columnEFFECTDATE" type="xs:string" minOccurs="0" /> <xs:element name="EFFECTDATE" msprop:Generator_ColumnPropNameInTable="EFFECTDATEColumn" msprop:Generator_ColumnPropNameInRow="EFFECTDATE" msprop:Generator_UserColumnName="EFFECTDATE" msprop:Generator_ColumnVarNameInTable="columnEFFECTDATE" type="xs:string" minOccurs="0" />
<xs:element name="DESCRIPTION" msprop:Generator_UserColumnName="DESCRIPTION" msprop:Generator_ColumnPropNameInTable="DESCRIPTIONColumn" msprop:Generator_ColumnPropNameInRow="DESCRIPTION" msprop:Generator_ColumnVarNameInTable="columnDESCRIPTION" type="xs:string" minOccurs="0" /> <xs:element name="DESCRIPTION" msprop:Generator_ColumnPropNameInTable="DESCRIPTIONColumn" msprop:Generator_ColumnPropNameInRow="DESCRIPTION" msprop:Generator_UserColumnName="DESCRIPTION" msprop:Generator_ColumnVarNameInTable="columnDESCRIPTION" type="xs:string" minOccurs="0" />
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="43" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:EMPDigitalServiceBook" ZOrder="5" X="19" Y="101" Height="391" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="387" /> <Shape ID="DesignTable:EMPDigitalServiceBook" ZOrder="5" X="19" Y="101" Height="391" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="387" />
<Shape ID="DesignTable:SystemInformation" ZOrder="4" X="235" Y="104" Height="67" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" /> <Shape ID="DesignTable:SystemInformation" ZOrder="4" X="235" Y="104" Height="67" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3963,8 +3963,8 @@ namespace HRM.Report
GetParameters(payrollTypeId); GetParameters(payrollTypeId);
////GetImageFromEmpFileUpload(empId); ////GetImageFromEmpFileUpload(empId);
rParam = new ReportParameter("Photo", _PATH); //rParam = new ReportParameter("Photo", _PATH);
reportParameters.Add(rParam); //reportParameters.Add(rParam);
if (reportParameters != null) if (reportParameters != null)
localReport.SetParameters(reportParameters); localReport.SetParameters(reportParameters);
Warning[] warnings; Warning[] warnings;

View File

@ -40,6 +40,7 @@ export class EmpLifeCycle extends BaseObject {
punishmentID: number; punishmentID: number;
isPayrollTypeChanged: boolean; isPayrollTypeChanged: boolean;
isTransferReceived: boolean; isTransferReceived: boolean;
createdByUser: string;
constructor() { constructor() {
super(); super();

View File

@ -504,7 +504,7 @@ export class EmployeeServices {
return this.apiService.httpPost('/Employee/updateBanglaInformation', params); return this.apiService.httpPost('/Employee/updateBanglaInformation', params);
} }
updateBanglaContactInformation(params : any) { updateBanglaContactInformation(params : any) {
return this.apiService.httpPost('/Employee/updateBanglaContactInformation', params); return this.apiService.httpPost<number>('/Employee/updateBanglaContactInformation', params);
} }
getPFExceptionData() { getPFExceptionData() {
return this.apiService.httpGet<any[]>('/Employee/getPFExceptionData'); return this.apiService.httpGet<any[]>('/Employee/getPFExceptionData');

View File

@ -14,7 +14,7 @@ export class ApiService {
public isSSO = false; public isSSO = false;
public versionDeployement = false; public versionDeployement = false;
// public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2025, 1, 25))}-`+"01"; // public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2025, 1, 25))}-`+"01";
public versionNumber = `V-20250427-`+"01"; public versionNumber = `V-20250724-`+"01";
public static BASE_URL = ''; public static BASE_URL = '';
public base_url = ''; public base_url = '';
// public currentLink = ''; // public currentLink = '';

View File

@ -2,7 +2,7 @@
<form> <form>
<div class="card card-w-title"> <div class="card card-w-title">
<div class="p-grid form-group"> <div class="p-grid form-group">
<div class="p-col-12 p-md-4"> <div class="p-col-12 p-md-6 p-lg-4">
<div class="p-col-12"> <div class="p-col-12">
<label for="processFromDate">Process From</label> <label for="processFromDate">Process From</label>
</div> </div>
@ -17,7 +17,7 @@
</div> </div>
</div> </div>
<div class="p-col-12 p-md-4"> <div class="p-col-12 p-md-6 p-lg-4">
<div class="p-col-12"> <div class="p-col-12">
<label for="processToDate">Process To</label> <label for="processToDate">Process To</label>
</div> </div>
@ -32,17 +32,17 @@
</div> </div>
</div> </div>
<div class="p-col-12 p-md-2"> <div class="p-col-12 p-md-4 p-lg-1">
<div class="p-col-12"> <div class="p-col-12">
<label for="chkIWithEmployee">Employee Wise</label> <label for="chkIWithEmployee">Employee Wise</label>
</div> </div>
<div class="p-col-12"> <div class="p-col-12">
<input type="checkbox" (change)="checkBoxChange()" [checked]="withEmployee" <input type="checkbox" (change)="checkBoxChange()" [checked]="withEmployee"
id="withEmployee" kendoCheckBox/> id="chkIWithEmployee" kendoCheckBox/>
</div> </div>
</div> </div>
<div class="p-col-12 p-md-2" *ngIf="withEmployee"> <div class="p-col-12 p-md-4 p-lg-2" *ngIf="withEmployee">
<div class="p-col-12"> <div class="p-col-12">
<label for="employeePicker">Select Employee</label> <label for="employeePicker">Select Employee</label>
</div> </div>
@ -54,6 +54,16 @@
></app-employee-picker> ></app-employee-picker>
</div> </div>
</div> </div>
<div class="p-col-12 p-md-4 p-lg-1" *ngIf="enableManualEntry">
<div class="p-col-12">
<label for="chkOverrideManualEntry">Override Manual Entry</label>
</div>
<div class="p-col-12">
<input type="checkbox" [checked]="overrideManualEntry" (change)="checkBoxChangeOverrideManualEntry()"
id="manualEntry" kendoCheckBox/>
</div>
</div>
</div> </div>
<div class="p-grid form-group"> <div class="p-grid form-group">
<div class="p-col-12 p-md-5"> <div class="p-col-12 p-md-5">

View File

@ -27,6 +27,8 @@ export class AttendanceProcessComponent {
processStatus: string = ""; processStatus: string = "";
withEmployee: boolean = false; withEmployee: boolean = false;
showModal: boolean = false; showModal: boolean = false;
enableManualEntry: boolean = false;
overrideManualEntry: boolean = false;
constructor(public attnService: AttendanceServices, public datatransferservice: DataTransferService, constructor(public attnService: AttendanceServices, public datatransferservice: DataTransferService,
public loadingPanel: loadingPanelService, public loadingPanel: loadingPanelService,
public notificationService: HRMNotificationService, public notificationService: HRMNotificationService,
@ -65,6 +67,13 @@ export class AttendanceProcessComponent {
} }
public GetSelectedEmployee(childData) { public GetSelectedEmployee(childData) {
this.selectedEmployees = childData; this.selectedEmployees = childData;
if (this.selectedEmployees != undefined && this.selectedEmployees.length == 1) {
this.enableManualEntry = true;
}
else {
this.enableManualEntry = false;
}
this.overrideManualEntry = false;
} }
public onSave(e): void { public onSave(e): void {
@ -91,16 +100,16 @@ export class AttendanceProcessComponent {
// } // }
//} //}
var attnRequest: { fromDate: Date, toDate: Date, isWithEmployee: boolean, employeeID: number }[]; var attnRequest: { fromDate: Date, toDate: Date, isWithEmployee: boolean, employeeID: number, overrideManualEntry: boolean }[];
attnRequest = []; attnRequest = [];
debugger
attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": true, "employeeID": 0 }); attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": true, "employeeID": 0, "overrideManualEntry": this.overrideManualEntry });
if (this.withEmployee) { if (this.withEmployee) {
if (this.selectedEmployees != undefined && this.selectedEmployees.length > 0) { if (this.selectedEmployees != undefined && this.selectedEmployees.length > 0) {
attnRequest = []; attnRequest = [];
this.selectedEmployees.forEach(x => { this.selectedEmployees.forEach(x => {
attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": false, "employeeID": x.employeeID }); attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": false, "employeeID": x.employeeID, "overrideManualEntry": this.overrideManualEntry });
}); });
} }
@ -138,8 +147,18 @@ export class AttendanceProcessComponent {
else else
this.withEmployee = true; this.withEmployee = true;
this.enableManualEntry = false;
this.overrideManualEntry = false;
} }
public onClickNotInWorkPlanEmployee() { public onClickNotInWorkPlanEmployee() {
this.showModal = true; this.showModal = true;
} }
public checkBoxChangeOverrideManualEntry() {
if (this.overrideManualEntry) {
this.overrideManualEntry = false;
}
else
this.overrideManualEntry = true;
}
} }

View File

@ -35,6 +35,8 @@ import { TextBoxModule } from "@progress/kendo-angular-inputs";
import { LabelModule } from "@progress/kendo-angular-label"; import { LabelModule } from "@progress/kendo-angular-label";
import { FloatingLabelModule } from "@progress/kendo-angular-label"; import { FloatingLabelModule } from "@progress/kendo-angular-label";
import { IconsModule } from "@progress/kendo-angular-icons"; import { IconsModule } from "@progress/kendo-angular-icons";
import { UploadModule } from '@progress/kendo-angular-upload';
import { ButtonsModule } from '@progress/kendo-angular-buttons';
import { ReactiveFormsModule, FormsModule } from '@angular/forms'; import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { TabViewModule } from 'primeng/tabview'; import { TabViewModule } from 'primeng/tabview';
@ -129,7 +131,9 @@ import { HallOfFameUploaderComponent } from './hall-of-fame-uploader/hall-of-fam
IconsModule, IconsModule,
LabelModule, LabelModule,
PanelModule, PanelModule,
CardManagemnetModule CardManagemnetModule,
UploadModule,
ButtonsModule
], ],
declarations: [ declarations: [
NationalityComponent, NationalityComponent,

View File

@ -38,9 +38,9 @@
<kendo-dropdownlist [(ngModel)]="selectedInstitutionID" [data]="institutions" <kendo-dropdownlist [(ngModel)]="selectedInstitutionID" [data]="institutions"
[defaultItem]="{ name: 'Select institution/Board', id: null }" [textField]="'name'" [defaultItem]="{ name: 'Select institution/Board', id: null }" [textField]="'name'"
[valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm" [valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
[filterable]="true" (filterChange)="handleFilterInstitution($event)"
(valueChange)="selectInstitutionEvent($event)" formControlName="institutionPicker" (valueChange)="selectInstitutionEvent($event)" formControlName="institutionPicker"
style="width:100%;"> style="width:100%;">
<!-- [filterable]="true" (filterChange)="handleFilterInstitution($event)" -->
<!-- [disabled]="(selectedEducationTypeID == undefined ||selectedEducationTypeID == null) || (selectedEducationLevelID == undefined || selectedEducationLevelID == null)" --> <!-- [disabled]="(selectedEducationTypeID == undefined ||selectedEducationTypeID == null) || (selectedEducationLevelID == undefined || selectedEducationLevelID == null)" -->
</kendo-dropdownlist> </kendo-dropdownlist>
</div> </div>
@ -51,9 +51,9 @@
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
<kendo-dropdownlist class="form-control form-control-sm" id="subject" [data]="educationDiscipline" <kendo-dropdownlist class="form-control form-control-sm" id="subject" [data]="educationDiscipline"
[defaultItem]="{ description: 'Select a discipline', id: null }" [textField]="'description'" [defaultItem]="{ description: 'Select a discipline', id: null }" [textField]="'description'"
[valueField]="'id'" [valuePrimitive]="true" [(ngModel)]="selectedDisciplineID" [valueField]="'id'" [valuePrimitive]="true" [(ngModel)]="selectedDisciplineID"
[filterable]="true" (filterChange)="handleFilter($event)" formControlName="disciplinePicker" formControlName="disciplinePicker" style="width:100%">
style="width:100%"> <!-- [filterable]="true" (filterChange)="handleFilter($event)" -->
<!-- [disabled]="isEditActive" <!-- [disabled]="isEditActive"
[disabled]="selectedEducationLevelID == undefined || selectedEducationLevelID == null" --> [disabled]="selectedEducationLevelID == undefined || selectedEducationLevelID == null" -->
</kendo-dropdownlist> </kendo-dropdownlist>

View File

@ -230,8 +230,8 @@ export class AcademicEntryComponent implements OnInit {
}, },
() => { () => {
this.educationLevels = this.alleducationLevels; this.educationLevels = this.alleducationLevels;
this.educationDiscipline = this.alleducationDiscipline; this.educationDiscipline = this.alleducationDiscipline.sort((a, b) => a.description.localeCompare(b.description));
this.institutions = this.allinstitutions; this.institutions = this.allinstitutions.sort((a, b) => a.name.localeCompare(b.name));
this.resultTypes = this.allresultTypes; this.resultTypes = this.allresultTypes;
this.loadingPanelService.ShowLoadingPanel = false; this.loadingPanelService.ShowLoadingPanel = false;

View File

@ -45,8 +45,9 @@ export class ContactComponent implements OnInit {
this.basicService.getAllDistricts().subscribe((resp) => { this.basicService.getAllDistricts().subscribe((resp) => {
this.districts = resp; this.districts = resp;
}, },
() => { (err: any) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {
@ -58,8 +59,9 @@ export class ContactComponent implements OnInit {
this.basicService.getAllThanas(value).subscribe((resp) => { this.basicService.getAllThanas(value).subscribe((resp) => {
this.permanentThanas = resp; this.permanentThanas = resp;
}, },
() => { (err: any) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {
@ -71,8 +73,9 @@ export class ContactComponent implements OnInit {
this.basicService.getAllThanas(value).subscribe((resp) => { this.basicService.getAllThanas(value).subscribe((resp) => {
this.presentThanas = resp; this.presentThanas = resp;
}, },
() => { (err: any) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {
@ -135,7 +138,8 @@ export class ContactComponent implements OnInit {
} }
}, },
(err: any) => { (err: any) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {
if (this.employeeService.hrEmployee.id != undefined && this.employeeService.hrEmployee.id != 0) { if (this.employeeService.hrEmployee.id != undefined && this.employeeService.hrEmployee.id != 0) {
@ -147,7 +151,9 @@ export class ContactComponent implements OnInit {
this.basicService.getAllRelations().subscribe((resp) => { this.basicService.getAllRelations().subscribe((resp) => {
this.relations = resp; this.relations = resp;
}, },
() => { (err) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {
@ -186,8 +192,9 @@ export class ContactComponent implements OnInit {
(resp) => { (resp) => {
this.contact.id = resp; this.contact.id = resp;
}, },
() => { (err) => {
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
@ -222,8 +229,9 @@ export class ContactComponent implements OnInit {
this.presentThanas = resp; this.presentThanas = resp;
this.contact.presentThanaID = this.contact.permanentThanaID; this.contact.presentThanaID = this.contact.permanentThanaID;
}, },
() => { (err) => {
this.loadingPanel.ShowLoadingPanel = false;
this.notificationService.showError(err.error);
}, },
() => { () => {

View File

@ -25,14 +25,17 @@
</div> </div>
</div> </div>
<p-tabView [scrollable]="true"> <p-tabView #tabView
[(activeIndex)]="activeIndex"
(onChange)="onTabChange($event, tabView)"
[scrollable]="true">
<p-tabPanel header="General" leftIcon="pi pi-user"> <p-tabPanel header="General" leftIcon="pi pi-user">
<app-general [isActive]="!newEmployee" [employeeNo]="this.employeeService.hrEmployee.employeeNo" <app-general #general [isActive]="!newEmployee" [employeeNo]="this.employeeService.hrEmployee.employeeNo"
(defaultNationalityHandler)="defaultNationalityHandler($event)" (defaultNationalityHandler)="defaultNationalityHandler($event)"
(defaultEmployeeTypeHandler)="defaultEmployeeTypeHandler($event)"></app-general> (defaultEmployeeTypeHandler)="defaultEmployeeTypeHandler($event)"></app-general>
</p-tabPanel> </p-tabPanel>
<p-tabPanel header="Contacts" leftIcon="pi pi-phone"> <p-tabPanel header="Contacts" leftIcon="pi pi-phone">
<app-contact (saveContact)="saveContact($event)"></app-contact> <app-contact #contact (saveContact)="saveContact($event)"></app-contact>
</p-tabPanel> </p-tabPanel>
<!-- <p-tabPanel header="Bangla" leftIcon="pi pi-star"> <!-- <p-tabPanel header="Bangla" leftIcon="pi pi-star">
<app-bangla></app-bangla> <app-bangla></app-bangla>

View File

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { EmployeeServices } from '../../_services/employee/employee.service'; import { EmployeeServices } from '../../_services/employee/employee.service';
import { empFileuploads, HrEmployee } from '../../_models/HREmployee/hrEmployee'; import { empFileuploads, HrEmployee } from '../../_models/HREmployee/hrEmployee';
@ -13,6 +13,8 @@ import { HRMNotificationService } from '../../app.notification.service';
import { DomSanitizer } from '@angular/platform-browser'; import { DomSanitizer } from '@angular/platform-browser';
import { Nationality } from '../nationality/nationality'; import { Nationality } from '../nationality/nationality';
import { Category } from 'src/app/_models/Basic/category'; import { Category } from 'src/app/_models/Basic/category';
import { GeneralComponent } from './general/general.component';
import { ContactComponent } from './contact/contact.component';
@Component({ @Component({
selector: 'app-employee-profile', selector: 'app-employee-profile',
@ -34,6 +36,15 @@ export class EmployeeProfileComponent implements OnInit {
isDisplay = false; isDisplay = false;
defaultNationality: Nationality; defaultNationality: Nationality;
defaultEmployeeType: Category; defaultEmployeeType: Category;
activeIndex: number = 0;
previousIndex: number = 0; // 👈 track the previous tab index manually
@ViewChild('general') generalComponent!: GeneralComponent;
@ViewChild('contact') contactComponent!: ContactComponent;
newEmpSaved: boolean = false;
newEmpContactSaved: boolean = false;
constructor(private fb: FormBuilder, constructor(private fb: FormBuilder,
public employeeService: EmployeeServices, public employeeService: EmployeeServices,
public basicService: BasicService, public basicService: BasicService,
@ -189,8 +200,10 @@ export class EmployeeProfileComponent implements OnInit {
checkValue(value: any) { checkValue(value: any) {
debugger
if (value === true) { if (value === true) {
this.hrEmployeeProfile = new HrEmployee();
this.refreshEmployee(new HrEmployee()); this.refreshEmployee(new HrEmployee());
// this.loadingPanel.ShowLoadingPanel = true; // this.loadingPanel.ShowLoadingPanel = true;
@ -209,6 +222,7 @@ export class EmployeeProfileComponent implements OnInit {
} }
else { else {
this.employeeService.hrEmployee.employeeNo = undefined; this.employeeService.hrEmployee.employeeNo = undefined;
this.employeeService.Employee_Get_Completed.next(new HrEmployee());
} }
} }
@ -325,5 +339,85 @@ export class EmployeeProfileComponent implements OnInit {
defaultEmployeeTypeHandler(dataItem: Category) { defaultEmployeeTypeHandler(dataItem: Category) {
this.defaultEmployeeType = dataItem; this.defaultEmployeeType = dataItem;
} }
onTabChange(event: any, tabView: any) {
const nextIndex = event.index;
const currentIndex = this.previousIndex; // 👈 previous tab before switch
const currentTab = tabView.tabs[currentIndex];
const nextTab = tabView.tabs[nextIndex];
debugger
if (this.newEmployee) {
if (currentTab.header.toLowerCase() == 'general' && !this.newEmpSaved) {
setTimeout(() => {
if (this.generalComponent != undefined && this.generalComponent.personalInfo.valid === false && this.generalComponent.hrEmployee.employeeNo === '') {
this.notificationService.showError('Required Fields Can\'t Be Empty');
this.activeIndex = currentIndex;
this.previousIndex = currentIndex;
return;
}
this.generalComponent.SavePersonalInfo();
this.newEmpSaved = true;
return;
});
}
if (currentTab.header.toLowerCase() == 'contacts' && !this.newEmpContactSaved) {
setTimeout(() => {
if (!this.contactComponent.contactForm.valid) {
this.notificationService.showWarning('Must Entry field can\'t be Empty');
this.activeIndex = currentIndex;
this.previousIndex = currentIndex;
return;
}
this.contactComponent.SaveContact();
this.newEmpContactSaved = true;
return;
});
}
}
if (currentTab.header.toLowerCase() == 'general') {
if (this.generalComponent != undefined && this.contactComponent != undefined) {
if (this.generalComponent.contact.id == 0) {
this.contactComponent.contact.id = this.generalComponent.contact.id;
}
if (this.generalComponent.contact.presentPOInBangla != null && this.generalComponent.contact.presentPOInBangla != "") {
this.contactComponent.contact.presentPOInBangla = this.generalComponent.contact.presentPOInBangla;
}
if (this.generalComponent.contact.presentAddressInBangla != null && this.generalComponent.contact.presentAddressInBangla != "") {
this.contactComponent.contact.presentAddressInBangla = this.generalComponent.contact.presentAddressInBangla;
}
if (this.generalComponent.contact.parmanentPOInBangla != null && this.generalComponent.contact.parmanentPOInBangla != "") {
this.contactComponent.contact.parmanentPOInBangla = this.generalComponent.contact.parmanentPOInBangla;
}
if (this.generalComponent.contact.permanentAddressInBangla != null && this.generalComponent.contact.permanentAddressInBangla != "") {
this.contactComponent.contact.permanentAddressInBangla = this.generalComponent.contact.permanentAddressInBangla;
}
}
}
if (nextTab.header.toLowerCase() == 'attachments') {
debugger;
this.employeeService.getEmployeeAttachments(this.selectedEmployee != undefined ? this.selectedEmployee.employeeID : this.employeeService.hrEmployee.id)
.subscribe(
(resp) => {
this.attachments = resp;
},
(x) => {
console.log(x);
this.loadingPanel.ShowLoadingPanel = false;
},
() => {
this.loadingPanel.ShowLoadingPanel = false;
this.hrEmployeeProfile.attachments = this.attachments;
}
);
}
// ✅ Save current as previous after successful switch
this.previousIndex = nextIndex;
}
} }

View File

@ -12,13 +12,13 @@
required style="width:100%"> required style="width:100%">
</div> </div>
<div class="p-col-12 p-md-6 p-lg-2" > <!-- <div class="p-col-12 p-md-6 p-lg-2" >
<label for="txtSpouseNameInBangla">Name (Bn)</label> <label for="txtSpouseNameInBangla">Name (Bn)</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
<input id="txtSpouseNameInBangla" formControlName="banglaname" class="bangla-font" <input id="txtSpouseNameInBangla" formControlName="banglaname" class="bangla-font"
[(ngModel)]="spouse.nameinbangla" type="text" pInputText style="width:100%"> [(ngModel)]="spouse.nameinbangla" type="text" pInputText style="width:100%">
</div> </div> -->
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label>Level of Education</label> <label>Level of Education</label>
@ -57,6 +57,7 @@
<kendo-datepicker [(ngModel)]="spouse.marriageDate" [format]="'dd-MMM-yyyy'" <kendo-datepicker [(ngModel)]="spouse.marriageDate" [format]="'dd-MMM-yyyy'"
formControlName="marriageDate" id="dtpMarriageDate" style="width:100%"></kendo-datepicker> formControlName="marriageDate" id="dtpMarriageDate" style="width:100%"></kendo-datepicker>
</div> </div>
<div class="p-lg-6"></div>
<!-- <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;"> <!-- <div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
<label>Insurance Id</label> <label>Insurance Id</label>

View File

@ -10,26 +10,38 @@
<div class="p-col-12"> <div class="p-col-12">
<div style="position: relative; display: inline-block;"> <div style="position: relative; display: inline-block;">
<img id="imgProfilePicture" [src]="employeePhoto" <img id="imgProfilePicture" [src]="employeePhoto"
style="height: 180px; width: 180px; border-radius: 50%; border: 1px solid #52527A;" /> style="height: 180px; width: 180px; border-radius: 50%; border: 1px solid #52527A;" />
<button class="editImage" (click)="fileInput.click()" <!-- <button class="editImage" (click)="fileInput.click()"
style="position: absolute; bottom: 18px; right: 18px;"> style="position: absolute; bottom: 18px; right: 18px;">
<span class="editIcon">&#9998;</span> <span class="editIcon">&#9998;</span>
</button> -->
<button class="editImage" (click)="triggerUploadClick()"
style="position: absolute; bottom: 18px; right: 18px;">
<span class="editIcon">&#9998;</span>
</button> </button>
</div> </div>
<div style="position: relative; display: inline-block;"> <div style="position: relative; display: inline-block;">
<img id="imgEmpSigneture" [src]="empSigneture" <img id="imgEmpSigneture" [src]="empSigneture"
style="height: 60px; width: 180px; border-radius: 10px; border: 1px solid #52527A;" /> style="height: 60px; width: 180px; border-radius: 10px; border: 1px solid #52527A;" />
</div> </div>
</div> </div>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-12" align="center"> <div class="p-col-12 p-md-12 p-lg-12" align="center">
<input formControlName="empPhoto" id="fupEmpPhoto" #fileInput <!-- <input formControlName="empPhoto" id="fupEmpPhoto" #fileInput
(change)="selectFile($event)" type="file" style="display: none;"> (change)="selectProfilePhoto($event)" type="file" style="display: none;"> -->
<!-- <kendo-upload #fileInput formControlName="empPhoto" id="fupEmpPhoto"
[autoUpload]="false" [multiple]="false" [saveUrl]="'noop'" [removeUrl]="'noop'"
(select)="selectProfilePhoto($event)" style="width: 100%;display: none;">
</kendo-upload> -->
<kendo-upload #uploadPhoto formControlName="empPhoto" id="fupEmpPhoto" [autoUpload]="false"
[multiple]="false" [saveUrl]="'noop'" [removeUrl]="'noop'"
(select)="selectProfilePhoto($event)" style="width: 100%; display: none;">
</kendo-upload>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-12" style="height: 76px;"> <div class="p-col-12 p-md-12 p-lg-12" style="height: 76px;">
</div> </div>
</div> </div>
</div> </div>
@ -179,8 +191,7 @@
</div> </div>
<div class="p-col-12 p-lg-12" align="right" style="margin-top: 20px;"> <div class="p-col-12 p-lg-12" align="right" style="margin-top: 20px;">
<button class="k-button k-primary" kendoButton icon="save" <button class="k-button k-primary" kendoButton icon="save" (click)="SavePersonalInfo()">
(click)="SavePersonalInfo()">
<!-- (click)="SavePersonalInfo()"> --> <!-- (click)="SavePersonalInfo()"> -->
Save Save
</button> </button>
@ -207,11 +218,16 @@
</div> </div>
<div class="p-col-12 p-md-12 p-lg-8"> <div class="p-col-12 p-md-12 p-lg-8">
<input [(ngModel)]="hrEmployee.drivingLicenceNo" formControlName="drivingLicenseNo" <input [(ngModel)]="hrEmployee.drivingLicenceNo" formControlName="drivingLicenseNo"
id="txtDrivingLicenseNo" pInputText style="width: 84%" type="text" id="txtDrivingLicenseNo" pInputText style="width: 100%" type="text"
[readonly]="!active"> [readonly]="!active">
<button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45" <!-- style="width: 84%" -->
<!-- <button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45"
style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active" style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active"
(click)="popUpAttachment('DLN')"></button> (click)="popUpAttachment('DLN')"></button> -->
<kendo-upload #uploadDL [autoUpload]="false" [multiple]="false" [saveUrl]="'noop'"
[removeUrl]="'noop'" (select)="selectFileDrivingLicense($event)"
style="width: 100%;">
</kendo-upload>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4"> <div class="p-col-12 p-md-12 p-lg-4">
<label for="txtPassportNo">Height in centemeter</label> <label for="txtPassportNo">Height in centemeter</label>
@ -239,10 +255,15 @@
<label for="empSignaturePhotoId">Signature</label> <label for="empSignaturePhotoId">Signature</label>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-8"> <div class="p-col-12 p-md-12 p-lg-8">
<input id="empSignaturePhotoId" pInputText style="width:84%" type="text" [readonly]="true"> <input id="empSignaturePhotoId" pInputText style="width:100%" type="text"
<button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45" [readonly]="true">
<!-- style="width: 84%" -->
<!-- <button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45"
style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active" style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active"
(click)="popUpAttachment('Signature')"></button> (click)="popUpAttachment('Signature')"></button> -->
<kendo-upload #uploadSig [autoUpload]="false" [multiple]="false" [saveUrl]="'noop'"
[removeUrl]="'noop'" (select)="selectSignature($event)" style="width: 100%;">
</kendo-upload>
</div> </div>
</div> </div>
@ -256,22 +277,44 @@
</div> </div>
<div class="p-col-12 p-md-12 p-lg-8"> <div class="p-col-12 p-md-12 p-lg-8">
<input [(ngModel)]="hrEmployee.nationalID" formControlName="nationalId" <input [(ngModel)]="hrEmployee.nationalID" formControlName="nationalId"
id="txtNationalId" pInputText style="width:84%" type="text"> id="txtNationalId" pInputText type="text" style="width:100%">
<!-- [readonly]="!active" --> <!-- style="width:84%" -->
<button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45"
<!-- [readonly]="!active" -->
<!-- <button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45"
style="width: 15.5%; vertical-align: bottom; padding: 16px;" style="width: 15.5%; vertical-align: bottom; padding: 16px;"
(click)="popUpAttachment('NID')"></button> (click)="popUpAttachment('NID')" [disabled]="!active"></button> -->
<!-- [disabled]="!active" -->
<!-- <input [(ngModel)]="NIDFiles" (change)="selectFileNationalId($event)" type="file" pInputText
style="width: 100%;padding: 5px;margin:5px 0;"> -->
<!-- <kendo-upload [saveUrl]="uploadSaveUrl" [removeUrl]="uploadRemoveUrl">
</kendo-upload> -->
<!-- <kendo-upload
[autoUpload]="false"
[saveUrl]="'noop'"
[removeUrl]="'noop'"
(select)="onFileSelect($event)">
</kendo-upload> -->
<kendo-upload #uploadNID [autoUpload]="false" [multiple]="false" [saveUrl]="'noop'"
[removeUrl]="'noop'" (select)="selectFileNationalId($event)" style="width: 100%;">
</kendo-upload>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4"> <div class="p-col-12 p-md-12 p-lg-4">
<label for="txtPassportNo">Passport No</label> <label for="txtPassportNo">Passport No</label>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-8"> <div class="p-col-12 p-md-12 p-lg-8">
<input [(ngModel)]="hrEmployee.passportNo" formControlName="passportNo" <input [(ngModel)]="hrEmployee.passportNo" formControlName="passportNo"
id="txtPassportNo" pInputText style="width:84%;" type="text" [readonly]="!active"> id="txtPassportNo" pInputText style="width:100%;" type="text" [readonly]="!active">
<button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45" <!-- style="width:84%;" -->
<!-- <button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45"
style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active" style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active"
(click)="popUpAttachment('PNo')"></button> (click)="popUpAttachment('PNo')"></button> -->
<kendo-upload #uploadPassPort [autoUpload]="false" [multiple]="false" [saveUrl]="'noop'"
[removeUrl]="'noop'" (select)="selectPassport($event)" style="width: 100%;">
</kendo-upload>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4"> <div class="p-col-12 p-md-12 p-lg-4">
<label for="txtSpouseNameBangla">Spouse Name Bangla</label> <label for="txtSpouseNameBangla">Spouse Name Bangla</label>
@ -299,7 +342,8 @@
<label for="">Bangla Information</label> <label for="">Bangla Information</label>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-8"> <div class="p-col-12 p-md-12 p-lg-8">
<button class="k-button k-primary" style="width: 100%;" kendoButton icon="info" (click)="DisplayBanglaInformation()"> <button class="k-button k-primary" style="width: 100%;" kendoButton icon="info"
(click)="DisplayBanglaInformation()">
View & Update View & Update
</button> </button>
</div> </div>
@ -316,10 +360,15 @@
</div> </div>
<div class="p-col-12 p-md-12 p-lg-8"> <div class="p-col-12 p-md-12 p-lg-8">
<input [(ngModel)]="hrEmployee.tinNo" formControlName="tin" id="txtTin" pInputText <input [(ngModel)]="hrEmployee.tinNo" formControlName="tin" id="txtTin" pInputText
style="width:84%" type="text" [readonly]="!active"> type="text" [readonly]="!active" style="width:100%">
<button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45" <!-- style="width:84%" -->
<!-- <button class="k-button k-primary" kendoButton icon="k-i-attachment-45 k-i-clip-45"
style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active" style="width: 15.5%; vertical-align: bottom; padding: 16px;" [disabled]="!active"
(click)="popUpAttachment('TIN')"></button> (click)="popUpAttachment('TIN')"></button> -->
<kendo-upload #uploadTIN [autoUpload]="false" [multiple]="false" [saveUrl]="'noop'"
[removeUrl]="'noop'" (select)="selectFileTin($event)" style="width: 100%;">
</kendo-upload>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4"> <div class="p-col-12 p-md-12 p-lg-4">
<label for="dtpPassportIssueDate">Passport Issue Date</label> <label for="dtpPassportIssueDate">Passport Issue Date</label>
@ -360,16 +409,15 @@
formControlName="motherOccupation" id="txtreligion"> formControlName="motherOccupation" id="txtreligion">
</kendo-dropdownlist> </kendo-dropdownlist>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4" ></div> <div class="p-col-12 p-md-12 p-lg-4"></div>
<div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;" > <div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;">
<button class="k-button k-primary" kendoButton icon="add" <button class="k-button k-primary" kendoButton icon="add" (click)="AddAccessCard()"
(click)="AddAccessCard()"> [disabled]="!active">
Add Access Card Add Access Card
</button> </button>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;" align="right"> <div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;" align="right">
<button class="k-button k-primary" kendoButton icon="save" <button class="k-button k-primary" kendoButton icon="save" (click)="SavePersonalInfo()">
(click)="SavePersonalInfo()">
<!-- (click)="SavePersonalInfo()"> --> <!-- (click)="SavePersonalInfo()"> -->
Save Save
</button> </button>
@ -463,8 +511,8 @@
</p-tabView> </p-tabView>
<kendo-dialog class="blur-background" *ngIf="nidPopUp||tinPopUp||dlnoPopUp||passnoPopUp||signaturePopUp" (close)="close()" <kendo-dialog class="blur-background" *ngIf="nidPopUp||tinPopUp||dlnoPopUp||passnoPopUp||signaturePopUp"
[width]="450"> (close)="close()" [width]="450">
<app-loading-panel></app-loading-panel> <app-loading-panel></app-loading-panel>
<kendo-dialog-titlebar> <kendo-dialog-titlebar>
<div style="font-size: 18px; line-height: 1.3em;"><span class=""></span>Attcahment</div> <div style="font-size: 18px; line-height: 1.3em;"><span class=""></span>Attcahment</div>
@ -507,7 +555,7 @@
<label for="txtLastName">Name</label> <label for="txtLastName">Name</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;">
<input [(ngModel)]="hrEmployee.banglaName" id="txtBanglaName" class="bangla-font" <input [(ngModel)]="hrEmployee.banglaName" id="txtBanglaName" class="bangla-font"
formControlName="banglaName" pInputText style="width:100%" type="text"> formControlName="banglaName" pInputText style="width:100%" type="text">
</div> </div>
@ -515,23 +563,23 @@
<label for="txtSpouseNameBangla">Spouse Name</label> <label for="txtSpouseNameBangla">Spouse Name</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;">
<input class="bangla-font" formControlName="spouseNameBangla" <input class="bangla-font" formControlName="spouseNameBangla" [(ngModel)]="hrEmployee.spouseNameBangla"
[(ngModel)]="hrEmployee.spouseNameBangla" pInputText style="width:100%" type="text"> pInputText style="width:100%" type="text">
</div> </div>
<div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;">
<label for="txtFatherNameBangla">Father's Name</label> <label for="txtFatherNameBangla">Father's Name</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;">
<input class="bangla-font" formControlName="fatherNameBangla" <input class="bangla-font" formControlName="fatherNameBangla" [(ngModel)]="hrEmployee.fatherNameBangla"
[(ngModel)]="hrEmployee.fatherNameBangla" pInputText style="width:100%" type="text"> pInputText style="width:100%" type="text">
</div> </div>
<div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;">
<label for="txtMotherNameBangla">Mother's Name</label> <label for="txtMotherNameBangla">Mother's Name</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-3" style="margin: auto;">
<input formControlName="motherNameBangla" [(ngModel)]="hrEmployee.motherNameBangla" <input formControlName="motherNameBangla" [(ngModel)]="hrEmployee.motherNameBangla" class="bangla-font"
class="bangla-font" pInputText style="width:100%" type="text"> pInputText style="width:100%" type="text">
</div> </div>
<!-- <div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right"> <!-- <div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right">
@ -555,7 +603,7 @@
<label for="txtPermanentAddress"> Permanent Address </label> <label for="txtPermanentAddress"> Permanent Address </label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;">
<input id="txtPermanentAddressBangla" formControlName="permanentAddressInBangla" <input id="txtPermanentAddressBangla" formControlName="permanentAddressInBangla"
class="bangla-font" [(ngModel)]="contact.permanentAddressInBangla" type="text" pInputText class="bangla-font" [(ngModel)]="contact.permanentAddressInBangla" type="text" pInputText
style="width:100%"> style="width:100%">
</div> </div>
@ -564,7 +612,7 @@
<label for="txtParmanentPOInBangla">Post Office Name </label> <label for="txtParmanentPOInBangla">Post Office Name </label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;">
<input class="bangla-font" id="txtParmanentPOInBangla" formControlName="parmanentPOInBangla" <input class="bangla-font" id="txtParmanentPOInBangla" formControlName="parmanentPOInBangla"
[(ngModel)]="contact.parmanentPOInBangla" type="text" pInputText style="width:100%"> [(ngModel)]="contact.parmanentPOInBangla" type="text" pInputText style="width:100%">
</div> </div>
</div> </div>
@ -580,7 +628,7 @@
<label for="txtPresentAddress"> Present Address</label> <label for="txtPresentAddress"> Present Address</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;">
<input id="txtPresentAddressBangla" formControlName="presentAddressInBangla" class="bangla-font" <input id="txtPresentAddressBangla" formControlName="presentAddressInBangla" class="bangla-font"
[(ngModel)]="contact.presentAddressInBangla" type="text" pInputText style="width:100%"> [(ngModel)]="contact.presentAddressInBangla" type="text" pInputText style="width:100%">
</div> </div>
@ -588,7 +636,7 @@
<label for="txtPresentPOInBangla">Post Office Name</label> <label for="txtPresentPOInBangla">Post Office Name</label>
</div> </div>
<div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;"> <div class="p-col-12 p-md-6 p-lg-6" style="margin: auto;">
<input class="bangla-font" id="txtPresentPOInBangla" formControlName="presentPOInBangla" <input class="bangla-font" id="txtPresentPOInBangla" formControlName="presentPOInBangla"
[(ngModel)]="contact.presentPOInBangla" type="text" pInputText style="width:100%"> [(ngModel)]="contact.presentPOInBangla" type="text" pInputText style="width:100%">
</div> </div>
@ -596,10 +644,9 @@
</div> </div>
</div> </div>
<div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right"> <div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right">
<button class="k-button k-primary" kendoButton icon="save" <button class="k-button k-primary" kendoButton icon="save" (click)="saveBanglaInfo()">
(click)="SaveBanglaContactInformation()"> Save
Save </button>
</button>
</div> </div>
</form> </form>
</kendo-dialog> </kendo-dialog>
@ -608,5 +655,5 @@
<kendo-dialog-titlebar> <kendo-dialog-titlebar>
Access Card Access Card
</kendo-dialog-titlebar> </kendo-dialog-titlebar>
<app-access-card-management [SetEmployee]="pickerEmployee" ></app-access-card-management> <app-access-card-management [SetEmployee]="pickerEmployee"></app-access-card-management>
</kendo-dialog> </kendo-dialog>

View File

@ -1,4 +1,4 @@
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms'; import { FormControl, FormGroup, Validators } from '@angular/forms';
import { DataTransferService } from '../../../data.transfer.service'; import { DataTransferService } from '../../../data.transfer.service';
import { EmployeeServices } from '../../../_services/employee/employee.service'; import { EmployeeServices } from '../../../_services/employee/employee.service';
@ -33,6 +33,9 @@ import { Nationality } from '../../nationality/nationality';
import { EmpContact } from 'src/app/_models/HREmployee/empContact'; import { EmpContact } from 'src/app/_models/HREmployee/empContact';
import { Thana } from '../../thana/thana'; import { Thana } from '../../thana/thana';
import { CardManagemnetModule } from 'src/app/attendance/access-card-management/card-management.module'; import { CardManagemnetModule } from 'src/app/attendance/access-card-management/card-management.module';
import { Observable, EMPTY } from 'rxjs';
import { tap, finalize, catchError } from 'rxjs/operators';
import { FileInfo, UploadComponent } from '@progress/kendo-angular-upload';
@Component({ @Component({
selector: 'app-general', selector: 'app-general',
@ -53,6 +56,13 @@ import { CardManagemnetModule } from 'src/app/attendance/access-card-management/
border-radius: 5px; border-radius: 5px;
border: 1px solid #52527A; border: 1px solid #52527A;
} }
::ng-deep .k-upload .k-actions, .k-upload .k-action-buttons, .k-upload .k-columnmenu-actions {
display: none;
}
::ng-deep .k-upload .k-dropzone {
padding: 3px 3px;
}
`] `]
}) })
/* general component*/ /* general component*/
@ -61,8 +71,21 @@ export class GeneralComponent implements OnInit {
@Input() public set isActive(isActive: boolean) { @Input() public set isActive(isActive: boolean) {
this.active = isActive; this.active = isActive;
this.uploadDL.clearFiles();
this.uploadSig.clearFiles();
this.uploadNID.clearFiles();
this.uploadPassPort.clearFiles();
this.uploadTIN.clearFiles();
} }
@ViewChild('uploadDL') uploadDL: UploadComponent;
@ViewChild('uploadSig') uploadSig: UploadComponent;
@ViewChild('uploadNID') uploadNID: UploadComponent;
@ViewChild('uploadPassPort') uploadPassPort: UploadComponent;
@ViewChild('uploadTIN') uploadTIN: UploadComponent;
// @ViewChild('uploadPhoto') uploadPhoto: UploadComponent;
@ViewChild('uploadPhoto', { read: ElementRef }) uploadPhotoRef!: ElementRef;
active: boolean = false; active: boolean = false;
NIDFiles: any; NIDFiles: any;
@ -70,9 +93,15 @@ export class GeneralComponent implements OnInit {
DLfiles: any; DLfiles: any;
Passfiles: any; Passfiles: any;
Sigfiles: any; Sigfiles: any;
selectedNidFiles: any; // selectedNidFiles: any;
selectedTinFiles?: FileList; // selectedTinFiles?: FileList;
selectedDlFiles: any; // selectedDlFiles: any;
selectedNidFiles: File[] = [];
selectedTinFiles: File[] = [];
selectedDlFiles: File[] = [];
selectedPassportFiles: File[] = [];
selectedSignature: File[] = [];
selectedFiles: File[] = [];
departmentPicker: DynamicPicker; departmentPicker: DynamicPicker;
gradePicker: DynamicPicker; gradePicker: DynamicPicker;
religionPicker: DynamicPicker; religionPicker: DynamicPicker;
@ -101,7 +130,7 @@ export class GeneralComponent implements OnInit {
employeeTypes: Category[]; employeeTypes: Category[];
religions: Religion[]; religions: Religion[];
public userRoleselectableSettings: SelectableSettings; public userRoleselectableSettings: SelectableSettings;
selectedFiles?: FileList; // selectedFiles?: FileList;
currentFile?: File; currentFile?: File;
employeePhoto: any; employeePhoto: any;
empSigneture: any; empSigneture: any;
@ -116,7 +145,7 @@ export class GeneralComponent implements OnInit {
nationalities: Nationality[]; nationalities: Nationality[];
defaultNationality: Nationality; defaultNationality: Nationality;
defaultEmployeeType: Category; defaultEmployeeType: Category;
nameBangla: string = 'asasas'; nameBangla: string = '';
defaultPhoto = "assets/photos/profile-default.jpg"; defaultPhoto = "assets/photos/profile-default.jpg";
photoPath = "Documents/EMPPHOTO"; photoPath = "Documents/EMPPHOTO";
isDisplay: boolean = false; isDisplay: boolean = false;
@ -405,7 +434,7 @@ export class GeneralComponent implements OnInit {
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`); this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`);
} else { } else {
this.employeePhoto = this.defaultPhoto; // this.employeePhoto = this.defaultPhoto;
} }
}, },
@ -450,6 +479,7 @@ export class GeneralComponent implements OnInit {
// } // }
// } // }
SavePersonalInfo() { SavePersonalInfo() {
debugger
// console.log(this.hrEmployee.banglaName); // console.log(this.hrEmployee.banglaName);
// return; // return;
if (this.personalInfo.valid === false && this.hrEmployee.employeeNo === '') { if (this.personalInfo.valid === false && this.hrEmployee.employeeNo === '') {
@ -473,7 +503,8 @@ export class GeneralComponent implements OnInit {
this.hrEmployee.id = resp.id; this.hrEmployee.id = resp.id;
if (this.active == false) { if (this.active == false) {
this.hrEmployee.employeeNo = resp.employeeNo; this.hrEmployee.employeeNo = resp.employeeNo;
this.employeeService.hrEmployee.employeeNo = resp.employeeNo; // this.employeeService.hrEmployee.employeeNo = resp.employeeNo;
this.employeeService.hrEmployee = resp;
} }
} }
}, },
@ -495,6 +526,45 @@ export class GeneralComponent implements OnInit {
if (this.selectedDlFiles !== null && this.selectedDlFiles !== undefined && this.selectedDlFiles.length > 0) { if (this.selectedDlFiles !== null && this.selectedDlFiles !== undefined && this.selectedDlFiles.length > 0) {
this.saveFile(this.hrEmployee.id, this.selectedDlFiles, enumEmpFileUploadType.DrivingLicense); this.saveFile(this.hrEmployee.id, this.selectedDlFiles, enumEmpFileUploadType.DrivingLicense);
} }
if (this.selectedPassportFiles !== null && this.selectedPassportFiles !== undefined && this.selectedPassportFiles.length > 0) {
this.saveFile(this.hrEmployee.id, this.selectedPassportFiles, enumEmpFileUploadType.passport);
}
if (this.selectedSignature !== null && this.selectedSignature !== undefined && this.selectedSignature.length > 0) {
const file: File | null = this.selectedSignature[0];
this.currentFile = file;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
(resp: any) => {
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
// console.log(resp.body);
//this.Sigfiles = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
},
(err: any) => {
this.notificationService.showError(err.error);
this.currentFile = undefined;
}, () => {
this.signaturePopUp = false;
this.notificationService.showSuccess("Signature Uploaded Successfully!")
});
}
if (this.selectedFiles !== null && this.selectedFiles !== undefined && this.selectedFiles.length > 0) {
const file: File | null = this.selectedFiles[0];
this.currentFile = file;
debugger;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
(resp: any) => {
console.log('image data');
// console.log(resp.body);
//this.employeePhoto = resp;
this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
},
(err: any) => {
this.notificationService.showError(err.error);
this.currentFile = undefined;
});
this.selectedFiles = undefined;
}
} }
); );
} }
@ -531,7 +601,8 @@ export class GeneralComponent implements OnInit {
saveFile(feferenceID: number, selectedFiles: any, type: enumEmpFileUploadType) { saveFile(feferenceID: number, selectedFiles: any, type: enumEmpFileUploadType) {
debugger; debugger;
if (selectedFiles != undefined && selectedFiles.length > 0) { if (selectedFiles != undefined && selectedFiles.length > 0) {
const file: File | null = selectedFiles.item(0); // const file: File | null = selectedFiles.item(0);
const file: File | null = selectedFiles[0];
this.currentFile = file; this.currentFile = file;
this.employeeService.uploadEmpFile(file, this.employeeService.hrEmployee.id, feferenceID, type).subscribe( this.employeeService.uploadEmpFile(file, this.employeeService.hrEmployee.id, feferenceID, type).subscribe(
(resp: any) => { (resp: any) => {
@ -554,6 +625,79 @@ export class GeneralComponent implements OnInit {
this.selectedNidFiles = undefined; this.selectedNidFiles = undefined;
this.NIDFiles = undefined; this.NIDFiles = undefined;
} }
if (type === enumEmpFileUploadType.passport) {
this.selectedPassportFiles = undefined;
this.Passfiles = undefined;
}
}
private getSavePersonalInfoObservable(): Observable<HrEmployee> | null {
debugger;
if (this.personalInfo.valid === false && this.hrEmployee.employeeNo === '') {
this.notificationService.showError('Required Fields Can\'t Be Empty');
return null;
}
this.loadingPanel.ShowLoadingPanel = true;
this.hrEmployee.name = this.hrEmployee.firstName;
if (this.hrEmployee.middleName !== null) {
this.hrEmployee.name += ' ' + this.hrEmployee.middleName;
}
if (this.hrEmployee.lastName !== null) {
this.hrEmployee.name += ' ' + this.hrEmployee.lastName;
}
return this.employeeService.saveHrPersonalInfo(this.hrEmployee).pipe(
tap((resp: HrEmployee) => {
debugger;
if (resp != undefined) {
this.hrEmployee.id = resp.id;
if (!this.active) {
this.hrEmployee.employeeNo = resp.employeeNo;
this.employeeService.hrEmployee = resp;
}
if (this.selectedTinFiles?.length > 0) {
this.saveFile(this.hrEmployee.id, this.selectedTinFiles, enumEmpFileUploadType.TIN);
}
if (this.selectedNidFiles?.length > 0) {
this.saveFile(this.hrEmployee.id, this.selectedNidFiles, enumEmpFileUploadType.nationalID);
}
if (this.selectedDlFiles?.length > 0) {
this.saveFile(this.hrEmployee.id, this.selectedDlFiles, enumEmpFileUploadType.DrivingLicense);
}
}
}),
finalize(() => {
this.loadingPanel.ShowLoadingPanel = false;
}),
catchError((err) => {
debugger;
console.error(err);
this.notificationService.showError(err.error);
return EMPTY; // No emission on error
})
);
}
saveBanglaInfo() {
if (!this.active) {
const personalInfo$ = this.getSavePersonalInfoObservable();
if (personalInfo$) {
personalInfo$.subscribe({
next: () => {
debugger;
this.isDisplay = false;
this.notificationService.showSuccess('Data saved successfully');
this.SaveBanglaContactInformation();
}
});
}
else {
this.isDisplay = false;
}
// If null, validation failed — nothing is executed
} else {
this.SaveBanglaContactInformation();
}
} }
saveBanglaPersonalInformation() { saveBanglaPersonalInformation() {
const data = { const data = {
@ -589,6 +733,14 @@ export class GeneralComponent implements OnInit {
this.loadingPanel.ShowLoadingPanel = true; this.loadingPanel.ShowLoadingPanel = true;
this.employeeService.updateBanglaContactInformation(data).subscribe( this.employeeService.updateBanglaContactInformation(data).subscribe(
(resp: any) => { (resp: any) => {
// debugger
// if(this.contact.id == 0)
// this.employeeService.hrEmployee.contacts[0].id = resp;
// this.employeeService.hrEmployee.contacts[0].presentPOInBangla = this.contact.presentPOInBangla;
// this.employeeService.hrEmployee.contacts[0].presentAddressInBangla = this.contact.presentAddressInBangla,
// this.employeeService.hrEmployee.contacts[0].parmanentPOInBangla = this.contact.parmanentPOInBangla;
// this.employeeService.hrEmployee.contacts[0].permanentAddressInBangla = this.contact.permanentAddressInBangla;
}, (err) => { }, (err) => {
this.loadingPanel.ShowLoadingPanel = false; this.loadingPanel.ShowLoadingPanel = false;
@ -620,53 +772,53 @@ export class GeneralComponent implements OnInit {
}); });
} }
selectFile(event: any): void { // selectFile(event: any): void {
if (this.hrEmployee.id == 0) { // if (this.hrEmployee.id == 0) {
this.notificationService.showWarning('select an employee to change the profile picture'); // this.notificationService.showWarning('select an employee to change the profile picture');
return; // return;
} // }
if (confirm('Are you sure change the profile picture? selected picture will be store in database as well as will be used as profile picture.') == false) { // if (confirm('Are you sure change the profile picture? selected picture will be store in database as well as will be used as profile picture.') == false) {
return; // return;
} // }
debugger; // debugger;
this.selectedFiles = event.target.files; // this.selectedFiles = event.target.files;
if (this.selectedFiles.length > 0) { // if (this.selectedFiles.length > 0) {
const file: File | null = this.selectedFiles.item(0); // const file: File | null = this.selectedFiles.item(0);
this.currentFile = file; // this.currentFile = file;
debugger; // debugger;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe( // this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
(resp: any) => { // (resp: any) => {
console.log('image data'); // console.log('image data');
// console.log(resp.body); // // console.log(resp.body);
//this.employeePhoto = resp; // //this.employeePhoto = resp;
this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`); // this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
}, // },
(err: any) => { // (err: any) => {
this.notificationService.showError(err.error); // this.notificationService.showError(err.error);
this.currentFile = undefined; // this.currentFile = undefined;
}); // });
this.selectedFiles = undefined; // this.selectedFiles = undefined;
} // }
} // }
upload(): void { // upload(): void {
if (this.selectedFiles.length > 0) { // if (this.selectedFiles.length > 0) {
const file: File | null = this.selectedFiles.item(0); // const file: File | null = this.selectedFiles.item(0);
this.currentFile = file; // this.currentFile = file;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe( // this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
(event: any) => { // (event: any) => {
}, // },
(err: any) => { // (err: any) => {
this.notificationService.showError(err.error); // this.notificationService.showError(err.error);
this.currentFile = undefined; // this.currentFile = undefined;
}); // });
this.selectedFiles = undefined; // this.selectedFiles = undefined;
} // }
} // }
RolePermission() { RolePermission() {
console.log('Role Permission'); console.log('Role Permission');
@ -822,77 +974,120 @@ export class GeneralComponent implements OnInit {
} }
selectFileTin(event: any): void { // selectFileTin(event: any): void {
this.selectedTinFiles = event.target.files; // this.selectedTinFiles = event.target.files;
const file = this.selectedTinFiles.item(0); // const file = this.selectedTinFiles.item(0);
// if (file.size > 500000) { // // if (file.size > 500000) {
// this.notificationService.showError('File size can not be more than 500kb'); // // this.notificationService.showError('File size can not be more than 500kb');
// this.selectedTinFiles = undefined; // // this.selectedTinFiles = undefined;
// return; // // return;
// } // // }
// }
// selectFileNationalId(event: any): void {
// this.selectedNidFiles = event.target.files;
// const file = this.selectedNidFiles.item(0);
// // if (file.size > 500000) {
// // this.notificationService.showError('File size can not be more than 500kb');
// // this.selectedNidFiles = undefined;
// // return;
// // }
// }
// selectFileDrivingLicense(event: any): void {
// this.selectedDlFiles = event.target.files;
// const file = this.selectedDlFiles.item(0);
// // if (file.size > 500000) {
// // this.notificationService.showError('File size can not be more than 500kb');
// // this.selectedDlFiles = undefined;
// // return;
// // }
// }
// selectPassport(event: any): void {
// this.selectedDlFiles = event.target.files;
// const file = this.selectedDlFiles.item(0);
// // if (file.size > 500000) {
// // this.notificationService.showError('File size can not be more than 500kb');
// // this.selectedDlFiles = undefined;
// // return;
// // }
// }
// selectSignature(event: any): void {
// if (this.hrEmployee.id == 0) {
// this.notificationService.showWarning('select an employee to change the profile picture');
// return;
// }
// if (confirm('Are you sure change the signature picture? selected picture will be store in database as well as will be used as signature picture.') == false) {
// return;
// }
// this.selectedFiles = event.target.files;
// if (this.selectedFiles.length > 0) {
// const file: File | null = this.selectedFiles.item(0);
// this.currentFile = file;
// this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
// (resp: any) => {
// this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
// // console.log(resp.body);
// //this.Sigfiles = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
// },
// (err: any) => {
// this.notificationService.showError(err.error);
// this.currentFile = undefined;
// }, () => {
// this.signaturePopUp = false;
// this.notificationService.showSuccess("Signature Uploaded Successfully!")
// });
// this.selectedFiles = undefined;
// }
// }
selectFileTin(event: { files: FileInfo[] }): void {
this.selectedTinFiles = event.files
.map(f => f.rawFile)
.filter((f): f is File => f instanceof File);
const file = this.selectedTinFiles[0];
} }
selectFileNationalId(event: { files: FileInfo[] }): void {
selectFileNationalId(event: any): void { debugger;
this.selectedNidFiles = event.target.files; // Extract File[] from FileInfo[]
const file = this.selectedNidFiles.item(0); this.selectedNidFiles = event.files
// if (file.size > 500000) { .map(f => f.rawFile)
// this.notificationService.showError('File size can not be more than 500kb'); .filter((f): f is File => f instanceof File);
// this.selectedNidFiles = undefined; const file = this.selectedNidFiles[0];
// return;
// }
} }
selectFileDrivingLicense(event: { files: FileInfo[] }): void {
selectFileDrivingLicense(event: any): void { this.selectedDlFiles = event.files
this.selectedDlFiles = event.target.files; .map(f => f.rawFile)
const file = this.selectedDlFiles.item(0); .filter((f): f is File => f instanceof File);
// if (file.size > 500000) { // const file = this.selectedDlFiles[0];
// this.notificationService.showError('File size can not be more than 500kb');
// this.selectedDlFiles = undefined;
// return;
// }
} }
selectPassport(event: any): void { selectPassport(event: { files: FileInfo[] }): void {
this.selectedDlFiles = event.target.files; this.selectedPassportFiles = event.files
const file = this.selectedDlFiles.item(0); .map(f => f.rawFile)
// if (file.size > 500000) { .filter((f): f is File => f instanceof File);
// this.notificationService.showError('File size can not be more than 500kb'); // const file = this.selectedPassportFiles[0];
// this.selectedDlFiles = undefined;
// return;
// }
} }
selectSignature(event: { files: FileInfo[] }): void {
selectSignature(event: any): void { this.selectedSignature = event.files
if (this.hrEmployee.id == 0) { .map(f => f.rawFile)
this.notificationService.showWarning('select an employee to change the profile picture'); .filter((f): f is File => f instanceof File);
return; }
} selectProfilePhoto(event: { files: FileInfo[] }): void {
debugger
if (confirm('Are you sure change the signature picture? selected picture will be store in database as well as will be used as signature picture.') == false) { this.selectedFiles = event.files
return; .map(f => f.rawFile)
} .filter((f): f is File => f instanceof File);;
}
this.selectedFiles = event.target.files; triggerUploadClick(): void {
const input = this.uploadPhotoRef.nativeElement.querySelector('input[type="file"]');
if (this.selectedFiles.length > 0) { if (input) {
const file: File | null = this.selectedFiles.item(0); input.click();
this.currentFile = file;
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
(resp: any) => {
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
// console.log(resp.body);
//this.Sigfiles = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
},
(err: any) => {
this.notificationService.showError(err.error);
this.currentFile = undefined;
}, () => {
this.signaturePopUp = false;
this.notificationService.showSuccess("Signature Uploaded Successfully!")
});
this.selectedFiles = undefined;
} }
} }
changePassword() { changePassword() {
if (this.userPassword == '') { if (this.userPassword == '') {

View File

@ -79,7 +79,10 @@
<label for="txtGrade">Status</label> <label for="txtGrade">Status</label>
</div> </div>
<div class="p-col-12 p-lg-1" align="center">:</div> <div class="p-col-12 p-lg-1" align="center">:</div>
<div class="p-col-12 p-lg-4">{{ _statusString }}</div> <div class="p-col-12 p-lg-4"
[ngStyle]="{ 'color': _statusString === 'Discontinued' ? 'red' : 'inherit' }">
{{ _statusString }}
</div>
<div class="p-col-12 p-lg-1"> <div class="p-col-12 p-lg-1">
<label for="txtBasicSalary">Basic Salary</label> <label for="txtBasicSalary">Basic Salary</label>
@ -102,6 +105,12 @@
</div> </div>
<div class="p-col-12 p-lg-1" align="center">:</div> <div class="p-col-12 p-lg-1" align="center">:</div>
<div class="p-col-12 p-lg-4">{{ _employee.categoryName }}</div> <div class="p-col-12 p-lg-4">{{ _employee.categoryName }}</div>
<div class="p-col-12 p-lg-1">
<label for="txtCategory">Joining Date</label>
</div>
<div class="p-col-12 p-lg-1" align="center">:</div>
<div class="p-col-12 p-lg-4">{{ _employee.joiningDate | date: 'dd MMM yyyy'}}</div>
</div> </div>
</fieldset> </fieldset>
</div> </div>
@ -509,7 +518,7 @@
<kendo-grid-column <kendo-grid-column
field="effectDate" field="effectDate"
title="Effect Date" title="Effect Date"
width="15%" width="13%"
> >
<ng-template <ng-template
kendoGridCellTemplate kendoGridCellTemplate
@ -525,12 +534,29 @@
<kendo-grid-column <kendo-grid-column
field="description" field="description"
title="Description" title="Description"
width="77%" width="70%"
> >
</kendo-grid-column> </kendo-grid-column>
<kendo-grid-column
field=""
title="Created by"
width="10%"
>
<ng-template
kendoGridCellTemplate
let-dataItem
let-rowIndex="rowIndex"
>
{{ dataItem.createdByUser }}
<br>
<label style="font-size: 12px; color: darkgray;">On {{ dataItem.createdDate | date : "dd-MMM-yyyy" }}</label>
</ng-template>
</kendo-grid-column>
<kendo-grid-command-column <kendo-grid-command-column
title="Action" title="Action"
width="8%" width="7%"
> >
<ng-template <ng-template
kendoGridCellTemplate kendoGridCellTemplate

View File

@ -127,6 +127,7 @@ export class LifeCycleEntryComponent implements OnInit {
ngOnInit() { ngOnInit() {
this._employee = new Employee(); this._employee = new Employee();
this._employee.joiningDate = undefined;
this._empLifeCycle = new EmpLifeCycle(); this._empLifeCycle = new EmpLifeCycle();
this._CurrentEmpgranogram = new OrganogramBasic(); this._CurrentEmpgranogram = new OrganogramBasic();
this.lifecycleService.GetByUserID().subscribe( this.lifecycleService.GetByUserID().subscribe(
@ -174,6 +175,7 @@ export class LifeCycleEntryComponent implements OnInit {
private CreateFormValidator(): void { private CreateFormValidator(): void {
this._employee = new Employee(); this._employee = new Employee();
this._employee.joiningDate = undefined;
this._fromValidator = new FormBuilder().group({ this._fromValidator = new FormBuilder().group({
loginId: ['', Validators.required], loginId: ['', Validators.required],
name: ['', Validators.required], name: ['', Validators.required],
@ -305,10 +307,10 @@ export class LifeCycleEntryComponent implements OnInit {
}); });
this._sDescription = item.description; this._sDescription = item.description;
if(this._employeeStatus != undefined && this._employeeStatus.length > 0) if (this._employeeStatus != undefined && this._employeeStatus.length > 0)
if(item == this._employeeStatus.find(x => x.description.toLowerCase() == 'joining') ){ if (item == this._employeeStatus.find(x => x.description.toLowerCase() == 'joining')) {
this._effectDate = new Date(this._employee.joiningDate); this._effectDate = new Date(this._employee.joiningDate);
} }
else { else {
debugger; debugger;
// let currentDate: Date = new Date(); // let currentDate: Date = new Date();
@ -353,6 +355,8 @@ export class LifeCycleEntryComponent implements OnInit {
this._empLifeCycle = new EmpLifeCycle(); this._empLifeCycle = new EmpLifeCycle();
this._lifecycleHistory = []; this._lifecycleHistory = [];
this._employee = new Employee(); this._employee = new Employee();
this._employee.joiningDate = undefined;
this._statusString = undefined;
return; return;
} }
this.loadingPanelService.ShowLoadingPanel = true; this.loadingPanelService.ShowLoadingPanel = true;

View File

@ -2,7 +2,7 @@
<div class="p-grid card"> <div class="p-grid card">
<div class="p-col-12 p-md-12" style="padding: 7px;"> <div class="p-col-12 p-md-12" style="padding: 7px;">
<div class="p-grid"> <div class="p-grid">
<div class="p-col-5"> <div class="p-col-12 p-md-5">
<app-employee-picker (ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker> <app-employee-picker (ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
</div> </div>
@ -14,9 +14,18 @@
style="width:100%"> style="width:100%">
</kendo-datepicker> </kendo-datepicker>
</div> --> </div> -->
<div class="p-col-5"> <div class="p-col-12 p-md-1" style="margin: auto"></div>
<div class="p-col-6 p-md-2" style="margin: auto">
<label>Authorized Person</label>
</div> </div>
<div class="p-col-2"> <div class="p-col-6 p-md-2">
<kendo-dropdownlist [data]="authorizedPersonList"
[defaultItem]="{ name: 'Select..', id: null }" [textField]="'name'" [valueField]="'id'"
[valuePrimitive]="true" [(ngModel)]="selectedPersonID" id="signatory">
</kendo-dropdownlist>
</div>
<div class="p-col-12 p-md-2">
<button kendoButton style="width: 100%; margin-right: 5%" (click)="onPreview('PDF')" <button kendoButton style="width: 100%; margin-right: 5%" (click)="onPreview('PDF')"
class="k-primary">Preview</button> class="k-primary">Preview</button>
</div> </div>

View File

@ -11,8 +11,8 @@ import { AttendanceServices } from '../../_services/attendance/attendance.servic
import { LoanService } from 'src/app/_services/payroll/loan.service'; import { LoanService } from 'src/app/_services/payroll/loan.service';
import { SalaryService } from '../../_services/payroll/salary.service'; import { SalaryService } from '../../_services/payroll/salary.service';
import { LeaveService } from '../../_services/leave/leave.service'; import { LeaveService } from '../../_services/leave/leave.service';
import {PayrollType} from '../../_models/Authentication/payrollType'; import { PayrollType } from '../../_models/Authentication/payrollType';
import { SearchEmployee, SearchManager } from '../../_models/Employee/searchEmployee'; import { SearchEmployee, SearchManager } from '../../_models/Employee/searchEmployee';
import { import {
EnumBloodGroup, EnumBloodGroup,
EnumExtension, EnumExtension,
@ -31,6 +31,8 @@ import { ApiService } from '../../app.api.service';
import { NgxExtendedPdfViewerService, PDFPrintRange } from 'ngx-extended-pdf-viewer'; import { NgxExtendedPdfViewerService, PDFPrintRange } from 'ngx-extended-pdf-viewer';
import { Employee } from '../../_models/Employee/employee'; import { Employee } from '../../_models/Employee/employee';
import { saveAs } from 'file-saver'; import { saveAs } from 'file-saver';
import { LetterRequestService } from 'src/app/_services/letter-request/letter-request.service';
import { AuthorizedPerson } from 'src/app/adhoc-feature/authorized-persons/authorizedPerson';
@Component({ @Component({
selector: 'app-digital-service-book', selector: 'app-digital-service-book',
@ -49,6 +51,8 @@ export class DigitalServiceBookComponent implements OnInit {
fromDate: Date = new Date(); fromDate: Date = new Date();
toDate: Date = new Date(); toDate: Date = new Date();
payrolltype: PayrollType; payrolltype: PayrollType;
authorizedPersonList: AuthorizedPerson[] = [];
selectedPersonID: number;
// user: User; // user: User;
constructor(public employeeService: EmployeeServices, constructor(public employeeService: EmployeeServices,
@ -64,6 +68,7 @@ export class DigitalServiceBookComponent implements OnInit {
public taxService: TaxService, public taxService: TaxService,
public salaryService: SalaryService, public salaryService: SalaryService,
public leaveYearService: LeaveService, public leaveYearService: LeaveService,
public letterRequestService: LetterRequestService,
public router: Router, public router: Router,
public authService: AuthService) { public authService: AuthService) {
this.apiService.selectedMenuName = 'Digital Service Book'; this.apiService.selectedMenuName = 'Digital Service Book';
@ -95,7 +100,7 @@ export class DigitalServiceBookComponent implements OnInit {
// this.setSelectableSettings(); // this.setSelectableSettings();
// this.loadBank(); // this.loadBank();
this.loadDataAuthorizedPersons();
this.loadLoggedInEmployee(); this.loadLoggedInEmployee();
} }
loadLoggedInEmployee() { loadLoggedInEmployee() {
@ -135,13 +140,14 @@ export class DigitalServiceBookComponent implements OnInit {
const data = { const data = {
reportid: 1000, reportid: 1000,
itemid: 0, itemid: this.selectedPersonID != undefined ? this.selectedPersonID : null,
// empIds: '', // empIds: '',
empIds: this.selectedEmp.employeeID, empIds: this.selectedEmp.employeeID,
reportType: type, reportType: type,
// fromDate: this.selectedMonth, // fromDate: this.selectedMonth,
fromDate: new Date().toDateString(), fromDate: new Date().toDateString(),
toDate: new Date().toDateString() toDate: new Date().toDateString(),
}; };
this.loadingPanel.ShowLoadingPanel = true; this.loadingPanel.ShowLoadingPanel = true;
console.log(data); console.log(data);
@ -211,4 +217,20 @@ export class DigitalServiceBookComponent implements OnInit {
this.printService.print(); this.printService.print();
} }
loadDataAuthorizedPersons() {
this.loadingPanel.ShowLoadingPanel = true;
this.letterRequestService.getAuthorisedPersons().subscribe(
(resp) => {
this.authorizedPersonList = resp;
},
(err) => {
this.notificationService.showError(err.error);
this.loadingPanel.ShowLoadingPanel = false;
},
() => {
this.loadingPanel.ShowLoadingPanel = false;
},
);
}
} }

File diff suppressed because one or more lines are too long

View File

@ -2697,6 +2697,7 @@ namespace HRM.UI.Controllers.Attendance
DateTime fromDate = DateTime.Today; DateTime fromDate = DateTime.Today;
DateTime toDate = DateTime.Today; DateTime toDate = DateTime.Today;
bool withoutEmployee = true; bool withoutEmployee = true;
bool overrideManualEntry = false;
List<SearchEmployee> emps = null; List<SearchEmployee> emps = null;
List<Employee> employees = null; List<Employee> employees = null;
int empid; int empid;
@ -2711,6 +2712,7 @@ namespace HRM.UI.Controllers.Attendance
fromDate = (DateTime)item["fromDate"].ToObject<DateTime>(); fromDate = (DateTime)item["fromDate"].ToObject<DateTime>();
toDate = (DateTime)item["toDate"].ToObject<DateTime>(); toDate = (DateTime)item["toDate"].ToObject<DateTime>();
withoutEmployee = (bool)item["isWithEmployee"].ToObject<bool>(); withoutEmployee = (bool)item["isWithEmployee"].ToObject<bool>();
overrideManualEntry = (bool)item["overrideManualEntry"].ToObject<bool>();
if (withoutEmployee == true) break; if (withoutEmployee == true) break;
if (withoutEmployee == false && emps == null) if (withoutEmployee == false && emps == null)
emps = new List<SearchEmployee>(); emps = new List<SearchEmployee>();
@ -2735,7 +2737,7 @@ namespace HRM.UI.Controllers.Attendance
for (DateTime attDate = fromDate; attDate <= toDate; attDate = attDate.AddDays(1)) for (DateTime attDate = fromDate; attDate <= toDate; attDate = attDate.AddDays(1))
{ {
new AttendanceProcess().Process(new DateTime(attDate.Year, attDate.Month, attDate.Day), new AttendanceProcess().Process(new DateTime(attDate.Year, attDate.Month, attDate.Day),
EnumProcessMode.Manual, (int)currentUser.PayrollTypeID, currentUser.UserID, employees); EnumProcessMode.Manual, (int)currentUser.PayrollTypeID, currentUser.UserID, employees, overrideManualEntry);
} }
} }
catch (Exception e) catch (Exception e)

View File

@ -2165,6 +2165,7 @@ namespace HRM.UI.Controllers
ec.PresentAddressInBangla = presentAddressInBangla; ec.PresentAddressInBangla = presentAddressInBangla;
ec.PermanentAddressInBangla = presentAddressInBangla; ec.PermanentAddressInBangla = presentAddressInBangla;
_hrEmployeeService.SaveContact(ec); _hrEmployeeService.SaveContact(ec);
return Ok(ec.ID);
} }
} }
catch (Exception ex) catch (Exception ex)

View File

@ -119,7 +119,13 @@ namespace HRM.UI.Controllers
{ {
try try
{ {
return Ok(this._lifeCycleService.GetEmpID(EmpID)); List<EmpLifeCycle> empLifeCycles = this._lifeCycleService.GetEmpID(EmpID);
List<User> users = _userService.GetAll();
foreach (var empLifeCycle in empLifeCycles)
{
empLifeCycle.CreatedByUser = users.Find(u=> u.ID == empLifeCycle.CreatedBy)?.UserName;
}
return Ok(empLifeCycles);
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@ -633,7 +633,7 @@ namespace HRM.UI.Controllers.Report
bytes = rptLeave.ShowCCWiseLeaveEncashmentReturn(itemid, payrollTypeId, reportType); bytes = rptLeave.ShowCCWiseLeaveEncashmentReturn(itemid, payrollTypeId, reportType);
break; break;
case EnumReportType.DigitalServiceBook: case EnumReportType.DigitalServiceBook:
bytes = new rptDigitalServiceBook().DigitalServiceBook(currentUser.EmployeeID.HasValue ? currentUser.EmployeeID.Value : 0, (int)currentUser.PayrollTypeID, fromDate, sEmpIDs, reportType); bytes = new rptDigitalServiceBook().DigitalServiceBook(currentUser.EmployeeID.HasValue ? currentUser.EmployeeID.Value : 0, (int)currentUser.PayrollTypeID, fromDate, sEmpIDs, itemid == 0 ? null : itemid, reportType);
break; break;
case EnumReportType.SalaryAllocationReportEmployeeWise: case EnumReportType.SalaryAllocationReportEmployeeWise:
bytes = new rptJV().showJVSalaryDetailEmployeeWReport(1, GlobalFunctions.LastDateOfMonth(fromDate), null, payrollTypeId, reportType); bytes = new rptJV().showJVSalaryDetailEmployeeWReport(1, GlobalFunctions.LastDateOfMonth(fromDate), null, payrollTypeId, reportType);

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB