private void SaveReference()
 {
     try
     {
         int result = 0;
         objReferenceMaster = new ReferenceMasterDal();
         LookupBDto objStatus = new LookupBDto();
         objLookUpBDto = new LookupBDto();
         objLookUpBDto.LookupName = txtReference.Text;
         objLookUpBDto.UserProfile = objAuthorizationBDto.UserProfile;
         result = objReferenceMaster.InsertReference(objLookUpBDto);
         if (result >= 1)
         {
             Master.DisplayMessage(ConfigurationSettings.AppSettings[SuccessMessage.Save].ToString());
             Master.MessageCssClass = "successMessage";
         }
         else
         {
             Master.DisplayMessage(ConfigurationSettings.AppSettings[FailureMessage.Save].ToString());
             Master.MessageCssClass = "errorMessage";
         }
         BindGrid();
         Reset();
     }
     catch (Exception ex)
     {
         bool rethrow = ExceptionPolicy.HandleException(ex, DALHelper.DAL_EXP_POLICYNAME);
         if (rethrow)
         { throw ex; }
     }
 }
 /// <summary>
 /// Bind ReferenceLookUp grid
 /// </summary>
 private void BindGrid()
 {
     objReferenceMaster = new ReferenceMasterDal();
     DataSet dsReference = objReferenceMaster.GetReference("");
     radgrdReference.DataSource = dsReference;
     radgrdReference.DataBind();
     ViewState[vsReference] = dsReference;
 }
        /// <summary>
        /// Action bar's save button event which saves grid data by xml.
        /// </summary>
        /// <param name="sender">The object which raised the event</param>
        /// <param name="e">The event listener object</param>
        protected void acbReference_SaveClick(object sender, EventArgs e)
        {
            try
            {
                int result = 0;
                objReferenceMaster = new ReferenceMasterDal();
                switch (acbReference.SaveButton.CommandName)
                {
                    case "Save":
                        SaveReference();
                        pnlAddNewMode.Visible = false;
                        acbReference.EditableMode = false;
                        BindGrid();

                        break;
                    case "Update":
                        String xmlData = GenerateXmlString(radgrdReference);
                        result = objReferenceMaster.UpdateReference(xmlData);
                        if (result == 1)
                        {
                            acbReference.DefaultMode = true;
                            Master.DisplayMessage(ConfigurationSettings.AppSettings[SuccessMessage.Update].ToString());
                            Master.MessageCssClass = "successMessage";

                            if (ViewState[PageConstants.vsItemIndexes] != null)
                                htItemIndex = (Hashtable)ViewState[PageConstants.vsItemIndexes];
                            for (int i = 0; i < htItemIndex.Count; i++)
                                radgrdReference.Items[Convert.ToInt32(htItemIndex[i])].Edit = false;
                            bisEdit = false;
                            ViewState[PageConstants.vsItemIndexes] = null;
                            BindGrid();
                        }
                        else
                        {
                            Master.DisplayMessage(ConfigurationSettings.AppSettings[FailureMessage.Update].ToString());
                            Master.MessageCssClass = "errorMessage";
                        }
                        break;
                }

                Reset();
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, DALHelper.DAL_EXP_POLICYNAME);
                if (rethrow)
                { throw ex; }
            }
        }
        protected void acbReference_SearchClick(object sender, EventArgs e)
        {
            try
            {
                objReferenceMaster = new ReferenceMasterDal();
                DataSet dsReference = objReferenceMaster.GetReference(acbReference.SearchTextBox.Text);
                radgrdReference.DataSource = dsReference;
                radgrdReference.DataBind();
                ViewState[vsReference] = dsReference;
                Reset();
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, DALHelper.DAL_EXP_POLICYNAME);
                if (rethrow)
                { throw ex; }
            }

        }
        /// <summary>
        /// Action bar's delete button event which delete records physically from database.
        /// </summary>
        /// <param name="sender">The object which raised the event</param>
        /// <param name="e">The event listener object</param>
        protected void acbReference_DeleteClick(object sender, EventArgs e)
        {
            try
            {
                StringBuilder ReferenceId = new StringBuilder();
                int result = 0;
                if (ViewState[PageConstants.vsItemIndexes] != null)
                    htItemIndex = (Hashtable)ViewState[PageConstants.vsItemIndexes];

                if (htItemIndex != null)
                {
                    foreach (int i in htItemIndex.Values)
                    {
                        Label lblReferenceId = (Label)radgrdReference.Items[i].FindControl("lblGrdReferenceIdItem");
                        if (lblReferenceId != null)
                        {
                            ReferenceId.Append(lblReferenceId.Text + ",");
                        }
                    }
                }
                objReferenceMaster = new ReferenceMasterDal();
                String ReferId = ReferenceId.ToString().TrimEnd(',');
                result = objReferenceMaster.DeleteReference(ReferId);

                if (result == 1)
                {
                    Master.DisplayMessage(ConfigurationSettings.AppSettings[SuccessMessage.Delete].ToString());
                    Master.MessageCssClass = "successMessage";
                    ViewState[PageConstants.vsItemIndexes] = null;
                    BindGrid();
                }
                else if (result == 547)
                {
                    Master.DisplayMessage(ConfigurationSettings.AppSettings[FailureMessage.Delete].ToString());
                    Master.MessageCssClass = "errorMessage";
                }
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, DALHelper.DAL_EXP_POLICYNAME);
                if (rethrow)
                { throw ex; }
            }
        }