Пример #1
0
        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;
        }
    }