public static List <ATTLeaveTypeEmployee> GetLeaveTypeEmployee(int?leaveTypeID, int?empID) { List <ATTLeaveTypeEmployee> lstLeavetypeEmployee = new List <ATTLeaveTypeEmployee>(); try { foreach (DataRow row in DLLLeaveTypeEmployee.GetLeaveTypeEmployee(leaveTypeID, empID).Rows) { ATTLeaveTypeEmployee ObjAtt = new ATTLeaveTypeEmployee(); ObjAtt.LeaveTypeID = int.Parse(row["LEAVE_TYPE_ID"].ToString()); ObjAtt.LeaveType = row["LEAVE_TYPE_NAME"].ToString(); ObjAtt.EmpID = int.Parse(row["EMP_ID"].ToString()); ObjAtt.Days = int.Parse(row["NO_OF_DAYS"].ToString()); ObjAtt.PeriodType = row["PERIOD_TYPE"].ToString(); if (row["PERIOD_TIMES"].ToString() != "") { ObjAtt.PeriodTimes = int.Parse(row["PERIOD_TIMES"].ToString()); } ObjAtt.IsAccural = (row["IS_ACCRUAL"].ToString() == "Y" ? true : false); if (row["MAX_ACCRUAL_DAYS"].ToString() != "") { ObjAtt.AccuralDays = int.Parse(row["MAX_ACCRUAL_DAYS"].ToString()); } ObjAtt.Active = (row["ACTIVE"].ToString() == "Y" ? true : false); ObjAtt.EffectiveFromDate = row["FROM_DATE"].ToString(); //ObjAtt.EffectiveTillDate = DateTime.Parse(row["TO_DATE"].ToString()); //ObjAtt.EntryBy = row["ENTRY_BY"].ToString(); //ObjAtt.EntryDate = row["ENTRY_DATE"].ToString(); ObjAtt.Action = ""; lstLeavetypeEmployee.Add(ObjAtt); } return(lstLeavetypeEmployee); } catch (Exception ex) { throw ex; } }
protected void btnAdd_Click(object sender, EventArgs e) { ddlLeaveTypes.Enabled = true; try { int i = 0; string errmessage = ""; if (txtEmployee.Text.Trim() == "" || txtEmployee.HasAttributes == false) { i++; errmessage += i.ToString() + ") कर्मचारि छान्नुहोस् <br />"; } if (ddlLeaveTypes.SelectedIndex < 1) { i++; errmessage += i.ToString() + ") बिदा छान्नुहोस् <br />"; } if (txtDays.Text.Trim() == "" || txtDays.Text.Trim() == "0") { i++; errmessage += i.ToString() + ") बिदाको दिन छुट्यो <br />"; } if (rdblstPeriodTypes.SelectedIndex < 0) { i++; errmessage += i.ToString() + ") अवधि छान्नुहोस् <br />"; } if (rdblstPeriodTypes.SelectedIndex == 4) { if (txtPeriodTimes.Text.Trim() == "" || txtPeriodTimes.Text.Trim() == "0") { i++; errmessage += i.ToString() + ") अवधिको दिन छुट्यो <br />"; } } if (chkIsAccural.Checked) { if (txtAccuralDays.Text.Trim() == "" || txtAccuralDays.Text.Trim() == "0") { i++; errmessage += i.ToString() + ") जम्मा हुने दिन छुट्यो <br />"; } } if (txtEffectiveFrom.Text == "") { i++; errmessage += i.ToString() + ") लागु हुने मिति छुट्यो <br />"; } //else //{ // string engDate= BLLDate.getEngDate(txtEffectiveFrom.Text); // try // { // DateTime engDt=DateTime.Parse( // } // catch (Exception) // { // throw; // } //} if (i > 0) { this.lblStatusMessage.Text = errmessage; this.programmaticModalPopup.Show(); return; } ATTLeaveTypeEmployee leaveTypeEmployee = new ATTLeaveTypeEmployee(); leaveTypeEmployee.LeaveTypeID = int.Parse(ddlLeaveTypes.SelectedValue); leaveTypeEmployee.LeaveType = ddlLeaveTypes.SelectedItem.ToString(); //leaveTypeEmployee.EmpID = 0; leaveTypeEmployee.EmpID = int.Parse(txtEmployee.Attributes["ID"].ToString()); leaveTypeEmployee.Days = int.Parse(txtDays.Text); leaveTypeEmployee.PeriodType = rdblstPeriodTypes.SelectedValue.ToString(); if (rdblstPeriodTypes.SelectedIndex == 4) { leaveTypeEmployee.PeriodTimes = int.Parse(txtPeriodTimes.Text); } leaveTypeEmployee.IsAccural = chkIsAccural.Checked; if (chkIsAccural.Checked) { leaveTypeEmployee.AccuralDays = int.Parse(txtAccuralDays.Text); } else { leaveTypeEmployee.AccuralDays = null; } leaveTypeEmployee.Active = chkIsActive.Checked; leaveTypeEmployee.EffectiveFromDate = txtEffectiveFrom.Text; //leaveTypeEmployee.EffectiveTillDate = txtEffectiveTill.Text; leaveTypeEmployee.Action = "A"; leaveTypeEmployee.EntryBy = entryBy; List <ATTLeaveTypeEmployee> lstLeaveTypeEmployee = (List <ATTLeaveTypeEmployee>)Session["LeaveTypeEmployee"]; if (lstLeaveTypeEmployee == null) { lstLeaveTypeEmployee = new List <ATTLeaveTypeEmployee>(); } if (lstLeaveTypeEmployee.Count > 0) { btnSave.Enabled = true; } foreach (ATTLeaveTypeEmployee leave in lstLeaveTypeEmployee) { if (leave.LeaveTypeID == int.Parse(ddlLeaveTypes.SelectedValue) && leave.EmpID == int.Parse(txtEmployee.Attributes["ID"].ToString())) { string[] data = leave.EffectiveFromDate.Split('/'); string[] data1 = txtEffectiveFrom.Text.Split('/'); int dataYR = int.Parse(data[0]); int dataMTH = int.Parse(data[1]); int dataDY = int.Parse(data[2]); int data1YR = int.Parse(data1[0]); int data1MTH = int.Parse(data1[1]); int data1DY = int.Parse(data1[2]); bool val = false; if (data1YR < dataYR) { val = true; } else if (data1YR == dataYR) { if (data1MTH < dataMTH) { val = true; } else if (data1MTH == dataMTH) { if (data1DY <= dataDY) { val = true; } } } if (val) { grdLeaveDetails.SelectedIndex = -1; i++; this.lblStatusMessage.Text = errmessage + i.ToString() + ") This Leave Type Already Exists.So New EffectiveFromDate Must Be Greater Than Old EffectiveFromDate "; this.programmaticModalPopup.Show(); return; } } //if (leave.LeaveTypeID == int.Parse(ddlLeaveTypes.SelectedValue) && leave.EmpID == int.Parse(txtEmployee.Attributes["ID"].ToString()) && leave.EffectiveFromDate == txtEffectiveFrom.Text) //{ // grdLeaveDetails.SelectedIndex = -1; // i++; // this.lblStatusMessage.Text = errmessage + i.ToString() + ") This Leave Type Already Exists. "; // this.programmaticModalPopup.Show(); // return; //} } if (grdLeaveDetails.SelectedIndex == -1) { //if (lstLeaveTypeEmployee.Count > 0) //{ //} lstLeaveTypeEmployee.Add(leaveTypeEmployee); } else { leaveTypeEmployee.Action = (lstLeaveTypeEmployee[grdLeaveDetails.SelectedIndex].Action == "A" ? "A" : "E"); lstLeaveTypeEmployee[grdLeaveDetails.SelectedIndex] = leaveTypeEmployee; grdLeaveDetails.SelectedIndex = -1; } Session["LeaveTypeEmployee"] = lstLeaveTypeEmployee; grdLeaveDetails.DataSource = lstLeaveTypeEmployee; grdLeaveDetails.DataBind(); ClearControls(false, true, false); } catch (Exception ex) { this.lblStatusMessage.Text = ex.Message.ToString(); this.programmaticModalPopup.Show(); return; } }