protected void lstInstitution_SelectedIndexChanged(object sender, EventArgs e)
    {
        List <ATTInstitution> InstitutionList = (List <ATTInstitution>)Session["Institution"];
        ATTInstitution        Att             = InstitutionList[lstInstitution.SelectedIndex];

        try
        {
            txtInstitutionName_Rqd.Text      = Att.InstitutionName.ToString();
            txtBoardName_Rqd.Text            = Att.BoardName.ToString();
            txtLocation_Rqd.Text             = Att.Location.ToString();
            ddlCountry_Rqd.SelectedValue     = Att.CountryID.ToString();
            ddlInstitutionType.SelectedValue = Att.InstitutionType;
            if (Att.Active == "Y")
            {
                chkActive.Checked = true;
            }
            else
            {
                chkActive.Checked = false;
            }
        }
        catch (Exception ex)
        {
            this.lblStatusMessage.Text = ex.Message;
            this.programmaticModalPopup.Show();
            return;
        }
    }
 public static int SaveInstitution(ATTInstitution ObjAtt)
 {
     try
     {
         return(DLLInstitution.SaveInstitution(ObjAtt));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public static int SaveInstitution(ATTInstitution ObjAtt)
        {
            GetConnection     Conn   = new GetConnection();
            OracleConnection  DBConn = Conn.GetDbConn();
            OracleTransaction Tran   = DBConn.BeginTransaction();

            string InsertUpdateInstitutionSql = "";

            if (ObjAtt.InstitutionID == 0)
            {
                InsertUpdateInstitutionSql = "SP_ADD_INSTITUTIONS";
            }
            else
            {
                InsertUpdateInstitutionSql = "SP_EDIT_INSTITUTIONS";
            }

            try
            {
                OracleParameter[] ParamArray = new OracleParameter[8];
                ParamArray[0] = Utilities.GetOraParam(":p_INSTITUTION_ID", ObjAtt.InstitutionID, OracleDbType.Int64, ParameterDirection.InputOutput);
                ParamArray[1] = Utilities.GetOraParam(":p_INSTITUTION_NAME", ObjAtt.InstitutionName, OracleDbType.Varchar2, ParameterDirection.Input);
                ParamArray[2] = Utilities.GetOraParam(":p_BOARD_NAME", ObjAtt.BoardName, OracleDbType.Varchar2, ParameterDirection.Input);
                ParamArray[3] = Utilities.GetOraParam(":p_LOCATION", ObjAtt.Location, OracleDbType.Varchar2, ParameterDirection.Input);
                ParamArray[4] = Utilities.GetOraParam(":p_COUNTRY_ID", ObjAtt.CountryID, OracleDbType.Int64, ParameterDirection.Input);
                ParamArray[5] = Utilities.GetOraParam(":p_ACTIVE", ObjAtt.Active, OracleDbType.Varchar2, ParameterDirection.Input);
                ParamArray[6] = Utilities.GetOraParam(":p_INSTITUTION_TYPE", ObjAtt.InstitutionType, OracleDbType.Varchar2, ParameterDirection.Input);
                ParamArray[7] = Utilities.GetOraParam(":p_ENTRY_BY", ObjAtt.EntryBy, OracleDbType.Varchar2, ParameterDirection.Input);


                SqlHelper.ExecuteNonQuery(Tran, CommandType.StoredProcedure, InsertUpdateInstitutionSql, ParamArray);

                int NewInstitutionID = int.Parse(ParamArray[0].Value.ToString());

                Tran.Commit();

                return(NewInstitutionID);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                Conn.CloseDbConn();
            }
        }
        public static List <ATTInstitution> GetInstitution(int?institutionID, string active)
        {
            List <ATTInstitution> LstInstitution = new List <ATTInstitution>();

            try
            {
                foreach (DataRow row in DLLInstitution.GetInstitution(institutionID, active).Rows)
                {
                    ATTInstitution ObjAtt = new ATTInstitution
                                            (
                        (row["INSTITUTION_ID"] == System.DBNull.Value) ? 0 : long.Parse(row["INSTITUTION_ID"].ToString()),
                        (row["INSTITUTION_NAME"] == System.DBNull.Value) ? "" : (string)row["INSTITUTION_NAME"],
                        (row["BOARD_NAME"] == System.DBNull.Value) ? "" : (string)row["BOARD_NAME"],
                        (row["LOCATION"] == System.DBNull.Value) ? "" : (string)row["LOCATION"],
                        (row["COUNTRY_ID"] == System.DBNull.Value) ? 0 : int.Parse(row["COUNTRY_ID"].ToString()),
                        (row["ACTIVE"] == System.DBNull.Value) ? "" : (string)row["ACTIVE"],
                        (row["INSTITUTION_TYPE"] == System.DBNull.Value) ? "" : (string)row["INSTITUTION_TYPE"],
                        ""
                                            );

                    ObjAtt.InstitutionNameBoardCountry  = (row["INSTITUTION_NAME"] == System.DBNull.Value) ? "" : (string)row["INSTITUTION_NAME"] + "(";
                    ObjAtt.InstitutionNameBoardCountry += (row["BOARD_NAME"] == System.DBNull.Value) ? "" : (string)row["BOARD_NAME"] + ",";
                    ObjAtt.InstitutionNameBoardCountry += (row["LOCATION"] == System.DBNull.Value) ? "" : (string)row["LOCATION"] + ",";
                    ObjAtt.InstitutionNameBoardCountry += (row["COUNTRY_NEP_NAME"] == System.DBNull.Value) ? "" : (string)row["COUNTRY_NEP_NAME"] + ",";

                    if (ObjAtt.InstitutionNameBoardCountry.Substring(ObjAtt.InstitutionNameBoardCountry.Length - 1) != "(")
                    {
                        ObjAtt.InstitutionNameBoardCountry  = ObjAtt.InstitutionNameBoardCountry.Substring(0, ObjAtt.InstitutionNameBoardCountry.Length - 1);
                        ObjAtt.InstitutionNameBoardCountry += ")";
                    }

                    else
                    {
                        ObjAtt.InstitutionNameBoardCountry = ObjAtt.InstitutionNameBoardCountry.Substring(0, ObjAtt.InstitutionNameBoardCountry.Length - 1);
                    }

                    LstInstitution.Add(ObjAtt);
                }
                return(LstInstitution);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static ObjectValidation Validate(ATTInstitution ObjAttInst)
        {
            ObjectValidation OV = new ObjectValidation();

            if (ObjAttInst.InstitutionName == "")
            {
                OV.IsValid      = false;
                OV.ErrorMessage = "Institution Name cannot be Blank.";
                return(OV);
            }

            if (ObjAttInst.BoardName == "")
            {
                OV.IsValid      = false;
                OV.ErrorMessage = "Board Name cannot be Blank.";
                return(OV);
            }

            if (ObjAttInst.Location == "")
            {
                OV.IsValid      = false;
                OV.ErrorMessage = " Location cannot be Blank.";
                return(OV);
            }
            if (ObjAttInst.CountryID == 0)
            {
                OV.IsValid      = false;
                OV.ErrorMessage = "Country cannot be Blank.";
                return(OV);
            }

            if (ObjAttInst.InstitutionType == "")
            {
                OV.IsValid      = false;
                OV.ErrorMessage = "Select Institution Type";
                return(OV);
            }

            return(OV);
        }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string msg = EmptyMessage();

        if (msg != "")
        {
            this.lblStatusMessage.Text = msg;
            this.programmaticModalPopup.Show();
            return;
        }
        List <ATTInstitution> InstitutionList = (List <ATTInstitution>)Session["Institution"];
        long InstitutionID;

        if (lstInstitution.SelectedIndex == -1)
        {
            InstitutionID = 0;
        }
        else
        {
            InstitutionID = InstitutionList[lstInstitution.SelectedIndex].InstitutionID;
        }

        try
        {
            ATTInstitution ObjAtt = new ATTInstitution
                                    (
                InstitutionID,
                txtInstitutionName_Rqd.Text.Trim(),
                txtBoardName_Rqd.Text.Trim(),
                txtLocation_Rqd.Text.Trim(),
                int.Parse(ddlCountry_Rqd.SelectedValue.ToString()),
                (this.chkActive.Checked == true ? "Y" : "N"),
                ddlInstitutionType.SelectedValue,
                ((ATTUserLogin)Session["Login_User_Detail"]).UserName
                                    );

            ObjectValidation OV = BLLInstitution.Validate(ObjAtt);
            if (OV.IsValid == false)
            {
                lblStatusMessage.Text = OV.ErrorMessage;
                this.programmaticModalPopup.Show();
                return;
            }

            for (int i = 0; i < lstInstitution.Items.Count; i++)
            {
                if (lstInstitution.SelectedIndex != i)
                {
                    if (InstitutionList[i].InstitutionName.ToLower() == txtInstitutionName_Rqd.Text.Trim().ToLower())
                    {
                        this.lblStatusMessage.Text = "Institution Name Already Exists";
                        this.programmaticModalPopup.Show();
                        return;
                    }
                }
            }

            long NewInstitutionID = BLLInstitution.SaveInstitution(ObjAtt);
            if (NewInstitutionID > 0)
            {
                lblStatusMessage.Text = "Saved Successfully";
                programmaticModalPopup.Show();
            }
            if (lstInstitution.SelectedIndex > -1)
            {
                InstitutionList[lstInstitution.SelectedIndex].InstitutionID   = NewInstitutionID;
                InstitutionList[lstInstitution.SelectedIndex].InstitutionName = txtInstitutionName_Rqd.Text.Trim();
                InstitutionList[lstInstitution.SelectedIndex].InstitutionType = ddlInstitutionType.SelectedValue;
                InstitutionList[lstInstitution.SelectedIndex].BoardName       = txtBoardName_Rqd.Text.Trim();
                InstitutionList[lstInstitution.SelectedIndex].Location        = txtLocation_Rqd.Text.Trim();
                InstitutionList[lstInstitution.SelectedIndex].CountryID       = int.Parse(ddlCountry_Rqd.SelectedValue.ToString());
                InstitutionList[lstInstitution.SelectedIndex].Active          = (chkActive.Checked == true) ? "Y" : "N";
            }
            else
            {
                ObjAtt.InstitutionID = NewInstitutionID;
                InstitutionList.Add(ObjAtt);
            }
            lstInstitution.DataSource     = InstitutionList;
            lstInstitution.DataTextField  = "InstitutionName";
            lstInstitution.DataValueField = "InstitutionID";
            lstInstitution.DataBind();

            ClearControl();
        }
        catch (Exception ex)
        {
            this.lblStatusMessage.Text = ex.Message;
            this.programmaticModalPopup.Show();
            return;
        }
    }