public static List <ATTOrganizationUnit> GetOrganizationUnits(int?orgID, int?unitID)
        {
            List <ATTOrganizationUnit> lstOrgUnits = new List <ATTOrganizationUnit>();

            try
            {
                foreach (DataRow row in DLLOrganizationUnit.GetOrganizationUnits(orgID, unitID).Rows)
                {
                    ATTOrganizationUnit objOrgUnits = new ATTOrganizationUnit(
                        int.Parse(row["ORG_ID"].ToString()),
                        int.Parse(row["UNIT_ID"].ToString()),
                        (string)row["UNIT_NAME"]);
                    if (row["PARENT_ORG_ID"] != System.DBNull.Value)
                    {
                        objOrgUnits.ParentOrgID = int.Parse(row["PARENT_ORG_ID"].ToString());
                    }
                    if (row["PARENT_UNIT_ID"] != System.DBNull.Value)
                    {
                        objOrgUnits.ParentUnitID = int.Parse(row["PARENT_UNIT_ID"].ToString());
                    }
                    objOrgUnits.UnitType = (row["UNIT_TYPE"] == System.DBNull.Value) ? "" : (string)row["UNIT_TYPE"];
                    lstOrgUnits.Add(objOrgUnits);
                }
                return(lstOrgUnits);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static List <ATTOrganizationUnit> SrchOrganizationUnitHead(int?orgid, string searchValue)
        {
            List <ATTOrganizationUnit> lstOrgUnitHead = new List <ATTOrganizationUnit>();

            try
            {
                foreach (DataRow row in DLLOrganizationUnit.SrchOrganizationUnitHead(orgid, searchValue).Rows)
                {
                    ATTOrganizationUnit objOrgUnitHead = new ATTOrganizationUnit();
                    objOrgUnitHead.OrgID = int.Parse(row["ORG_ID"].ToString());
                    if (row["ORG_UNIT_ID"] != System.DBNull.Value)
                    {
                        objOrgUnitHead.UnitID = int.Parse(row["ORG_UNIT_ID"].ToString());
                    }

                    objOrgUnitHead.UnitName = (string)row["UNIT_NAME"];

                    if (row["EMP_ID"] != System.DBNull.Value)
                    {
                        objOrgUnitHead.EmpID = int.Parse(row["EMP_ID"].ToString());
                    }

                    objOrgUnitHead.EmpName = row["HEAD_P_NAME"].ToString();

                    lstOrgUnitHead.Add(objOrgUnitHead);
                }
                return(lstOrgUnitHead);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    private List <ATTOrganizationUnit> GetOrgUnits(int organisationID)
    {
        List <ATTOrganizationUnit> lst = BLLOrganizationUnit.GetOrganizationUnits(organisationID, null);
        ATTOrganizationUnit        obj = new ATTOrganizationUnit();

        obj.UnitName = " छान्नुहोस् ";
        obj.UnitID   = -2;
        lst.Insert(0, obj);

        return(lst);
    }
        public static ObjectValidation Validate(ATTOrganizationUnit ObjAtt)
        {
            ObjectValidation OV = new ObjectValidation();

            if (ObjAtt.UnitName == "")
            {
                OV.IsValid      = false;
                OV.ErrorMessage = "Unit Name cannot be Blank.";
                return(OV);
            }
            return(OV);
        }
    protected void drpOrganisation_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            this.drpUnit.Items.Clear();

            if (this.drpOrganisation.SelectedIndex > 0)
            {
                List <ATTOrganizationUnit> lstUnit = (List <ATTOrganizationUnit>)Session["DocSearchUnitList"];

                ATTOrganizationUnit objUnitName = new ATTOrganizationUnit();

                objUnitName.LstUnitName = lstUnit.FindAll(
                    delegate(ATTOrganizationUnit UnitName)
                {
                    return(UnitName.OrgID == int.Parse(this.drpOrganisation.SelectedValue));
                }

                    );

                this.drpUnit.DataSource     = objUnitName.LstUnitName;
                this.drpUnit.DataTextField  = "UnitName";
                this.drpUnit.DataValueField = "UnitID";
                this.drpUnit.DataBind();

                ListItem a = new ListItem();
                a.Selected = true;
                a.Text     = "Select Unit";
                a.Value    = "0";
                drpUnit.Items.Insert(0, a);

                drpUnit.Enabled = true;
            }
            else
            {
                drpUnit.Enabled = false;
            }
        }
        catch (Exception ex)
        {
            lblStatus.Text = ex.Message;
        }
    }
        public static List <ATTOrganizationUnit> GetOrganizationUnits(string unitType, int orgID)
        {
            List <ATTOrganizationUnit> lstOrgUnits = new List <ATTOrganizationUnit>();

            try
            {
                DataTable tbl = new DataTable();
                tbl = DLLOrganizationUnit.GetOrganizationUnits(unitType, orgID);


                foreach (DataRow row in tbl.Rows)
                {
                    ATTOrganizationUnit objOrgUnits = new ATTOrganizationUnit(
                        int.Parse(row["ORG_ID"].ToString()),
                        int.Parse(row["UNIT_ID"].ToString()),
                        (string)row["UNIT_NAME"]
                        );

                    //ORG_ID,UNIT_ID,UNIT_NAME,PARENT_ORG_ID,PARENT_UNIT_ID,UNIT_TYPE

                    if (row["PARENT_ORG_ID"] != System.DBNull.Value)
                    {
                        objOrgUnits.ParentOrgID = int.Parse(row["PARENT_ORG_ID"].ToString());
                    }
                    if (row["PARENT_UNIT_ID"] != System.DBNull.Value)
                    {
                        objOrgUnits.ParentUnitID = int.Parse(row["PARENT_UNIT_ID"].ToString());
                    }

                    objOrgUnits.UnitType = row["UNIT_TYPE"].ToString();

                    lstOrgUnits.Add(objOrgUnits);
                }

                return(lstOrgUnits);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public static List <ATTOrganizationUnit> GetOrgUnitWithChild(int?orgid, int?unitid)
        {
            List <ATTOrganizationUnit> lstOrgUnit = new List <ATTOrganizationUnit>();

            try
            {
                foreach (DataRow row in DLLOrganizationUnit.GetOrgUnitWithChild(orgid, unitid).Rows)
                {
                    ATTOrganizationUnit objOrgUnit = new ATTOrganizationUnit();
                    objOrgUnit.OrgID = int.Parse(row["ORG_ID"].ToString());
                    if (row["PARENT_ORG_ID"] != System.DBNull.Value)
                    {
                        objOrgUnit.ParentOrgID = int.Parse(row["PARENT_ORG_ID"].ToString());
                    }
                    if (row["UNIT_ID"] != System.DBNull.Value)
                    {
                        objOrgUnit.UnitID = int.Parse(row["UNIT_ID"].ToString());
                    }
                    objOrgUnit.UnitName = (string)row["UNIT_NAME"];
                    if (row["UNIT_TYPE"] != System.DBNull.Value)
                    {
                        objOrgUnit.UnitType = (string)row["UNIT_TYPE"];
                    }
                    if (row["PARENT_UNIT_ID"] != System.DBNull.Value)
                    {
                        objOrgUnit.ParentUnitID = int.Parse(row["PARENT_UNIT_ID"].ToString());
                    }
                    lstOrgUnit.Add(objOrgUnit);
                }
                return(lstOrgUnit);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    protected void btnAddUnits_Click(object sender, EventArgs e)
    {
        int    count = 0;
        string msg   = "";

        if (this.ddlOrganization.SelectedIndex == 0)
        {
            msg += "**Please Select Organization";
            count++;
        }
        if (this.txtUnitName_Rqd.Text == "")
        {
            msg += "**Please Enter Unit Name";
            count++;
        }
        if (this.ddlUnitType.SelectedIndex == 0)
        {
            msg += "**Please Select Unit Type";
            count++;
        }
        if (count > 0)
        {
            this.lblStatusMessage.Text = msg;
            this.programmaticModalPopup.Show();
            return;
        }
        //List<ATTOrganizationUnit> LSTOrgUnitWC = new List<ATTOrganizationUnit>();
        List <ATTOrganizationUnit> LSTOrgUnits = new List <ATTOrganizationUnit>();

        if (Session["OrganizationUnits"].ToString() != "")
        {
            LSTOrgUnits = (List <ATTOrganizationUnit>)Session["OrganizationUnits"];
        }
        //if (Session["UnitsWithChild"].ToString() != "")
        //{
        //    LSTOrgUnitWC = (List<ATTOrganizationUnit>)Session["UnitsWithChild"];
        //}
        //if (Session["UnitsWithChild"] == null)
        //{
        //    LSTOrgUnitWC = new List<ATTOrganizationUnit>();
        //}
        //if (this.lstOrgUnits.SelectedIndex > -1)
        //{
        //    LSTOrgUnits = OrganisationUnit;
        //}

        if (this.grdUnits.SelectedIndex == -1 && this.lstOrgUnits.SelectedIndex == -1)
        {
            ATTOrganizationUnit objOrgUnit = new ATTOrganizationUnit();
            objOrgUnit.OrgID    = int.Parse(this.ddlOrganization.SelectedValue);
            objOrgUnit.UnitName = this.txtUnitName_Rqd.Text;
            if (this.ddlParentOrganizatin.SelectedIndex > 0)
            {
                objOrgUnit.ParentOrgID = int.Parse(this.ddlParentOrganizatin.SelectedValue);
            }
            else if (this.ddlParentOrganizatin.SelectedIndex == 0)
            {
                objOrgUnit.ParentOrgID = null;
            }
            if (this.ddlParentUnits.SelectedIndex > 0)
            {
                objOrgUnit.ParentUnitID = int.Parse(this.ddlParentUnits.SelectedValue);
            }
            else if (this.ddlParentUnits.SelectedIndex == 0)
            {
                objOrgUnit.ParentUnitID = null;
            }
            objOrgUnit.UnitType = this.ddlUnitType.SelectedValue;
            if (this.grdUnits.SelectedIndex == -1)
            {
                objOrgUnit.Action = "A";
            }
            objOrgUnit.EntryBy = ((ATTUserLogin)Session["Login_User_Detail"]).UserName;
            ObjectValidation OV = BLLOrganizationUnit.Validate(objOrgUnit);
            if (!OV.IsValid)
            {
                this.lblStatusMessage.Text = OV.ErrorMessage;
                this.programmaticModalPopup.Show();
                return;
            }
            LSTOrgUnits.Add(objOrgUnit);
            foreach (GridViewRow rw in this.grdUnits.Rows)
            {
                if (rw.Cells[2].Text == objOrgUnit.UnitName)
                {
                    this.lblStatusMessage.Text = "**सोही नामको शाखा पहिलेनै छ";
                    this.programmaticModalPopup.Show();
                    return;
                }
            }
        }
        else
        {
            ATTOrganizationUnit objOrgUnit = new ATTOrganizationUnit();
            if (this.grdUnits.SelectedIndex > -1)
            {
                objOrgUnit = LSTOrgUnits[this.grdUnits.SelectedIndex];
            }
            else
            {
                objOrgUnit = LSTOrgUnits[this.lstOrgUnits.SelectedIndex];
            }
            objOrgUnit.OrgID        = int.Parse(this.ddlOrganization.SelectedValue);
            objOrgUnit.UnitName     = this.txtUnitName_Rqd.Text;
            objOrgUnit.ParentOrgID  = int.Parse(this.ddlParentOrganizatin.SelectedValue);
            objOrgUnit.ParentUnitID = int.Parse(this.ddlParentUnits.SelectedValue);
            objOrgUnit.UnitType     = this.ddlUnitType.SelectedValue;
            //objOrgUnit.Action = (grdUnits.SelectedRow.Cells[6].Text=="A")?"A":"E";
            objOrgUnit.Action  = "A";
            objOrgUnit.EntryBy = ((ATTUserLogin)Session["Login_User_Detail"]).UserName;
            ObjectValidation OV = BLLOrganizationUnit.Validate(objOrgUnit);
            if (!OV.IsValid)
            {
                this.lblStatusMessage.Text = OV.ErrorMessage;
                this.programmaticModalPopup.Show();
                return;
            }
        }

        this.grdUnits.DataSource = LSTOrgUnits;
        this.grdUnits.DataBind();

        Session["OrganizationUnits"] = LSTOrgUnits;
        //if (this.lstOrgUnits.SelectedIndex > -1)
        //{
        //    ClearControls("Add2");
        //}
        //else if (this.grdUnits.SelectedIndex > -1)
        //{
        //    ClearControls("Add");
        //}
        ClearControls("Add3");
    }
 void SetOrgSession()
 {
     Session["OrgUnitObj"] = new ATTOrganizationUnit();
 }