private void PopulateDataGrid()
        {
            // Hide Controls
            this.dvEmptyContent.Visible   = false;
            this.dvDataContent.Visible    = false;
            this.dvNoSearchResult.Visible = false;

            // Search text
            string searchText = this.txtSearch.Text.ToLower().Trim();

            // Populate Accessory Category
            AccessoryCategoryBO objAccessoryCategory = new AccessoryCategoryBO();

            // Sort by condition
            List <AccessoryCategoryBO> lstAccessoryCategory = new List <AccessoryCategoryBO>();

            if ((searchText != string.Empty) && (searchText != "search"))
            {
                lstAccessoryCategory = (from o in objAccessoryCategory.SearchObjects().AsQueryable().OrderBy(SortExpression).ToList <AccessoryCategoryBO>()
                                        where o.Name.ToLower().Contains(searchText) ||
                                        o.Code.ToLower().Contains(searchText)
                                        select o).ToList();
            }
            else
            {
                lstAccessoryCategory = objAccessoryCategory.SearchObjects().AsQueryable().OrderBy(SortExpression).ToList <AccessoryCategoryBO>();
            }


            if (lstAccessoryCategory.Count > 0)
            {
                this.RadGridAccessoryCategories.AllowPaging = (lstAccessoryCategory.Count > this.RadGridAccessoryCategories.PageSize);
                this.RadGridAccessoryCategories.DataSource  = lstAccessoryCategory;
                this.RadGridAccessoryCategories.DataBind();
                Session["AccessoryCategoryDetails"] = lstAccessoryCategory;

                this.dvDataContent.Visible = true;
            }
            else if ((searchText != string.Empty && searchText != "search"))
            {
                this.lblSerchKey.Text = searchText + ((searchText != string.Empty) ? " - " : string.Empty);

                this.dvDataContent.Visible    = true;
                this.dvNoSearchResult.Visible = true;
            }
            else
            {
                this.dvEmptyContent.Visible          = true;
                this.btnNewAccessoryCategory.Visible = false;
            }

            this.RadGridAccessoryCategories.Visible = (lstAccessoryCategory.Count > 0);
        }
        protected void RadGridAccessoryCategories_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                var item = e.Item as GridDataItem;

                if (item.ItemIndex > -1 && item.DataItem is AccessoryCategoryBO)
                {
                    AccessoryCategoryBO objAccessoryCategory = (AccessoryCategoryBO)item.DataItem;

                    HtmlAnchor linkEdit = (HtmlAnchor)item.FindControl("linkEdit");
                    linkEdit.Attributes.Add("qid", objAccessoryCategory.ID.ToString());
                    //linkEdit.Attributes.Add("aid", objPatternAccessoryCategory.Accessory.ToString());

                    HtmlAnchor linkDelete = (HtmlAnchor)item.FindControl("linkDelete");
                    linkDelete.Attributes.Add("qid", objAccessoryCategory.ID.ToString());
                    linkDelete.Visible = (objAccessoryCategory.AccessorysWhereThisIsAccessoryCategory.Count == 0) ? true : false;
                }
            }
        }
        private void ProcessForm(int queryId, bool isDelete)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    AccessoryCategoryBO objPatternAccessoryCategory = new AccessoryCategoryBO(this.ObjContext);
                    if (queryId > 0)
                    {
                        objPatternAccessoryCategory.ID = queryId;
                        objPatternAccessoryCategory.GetObject();
                    }

                    if (isDelete)
                    {
                        objPatternAccessoryCategory.Delete();
                    }
                    else
                    {
                        objPatternAccessoryCategory.Name = this.txtName.Text;
                        objPatternAccessoryCategory.Code = this.txtCode.Text;

                        if (queryId == 0)
                        {
                            objPatternAccessoryCategory.Add();
                        }
                    }

                    this.ObjContext.SaveChanges();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                // Log the error
                IndicoLogging.log.Error("Error occured while Adding or Updating or Deleting Accessory Category in ViewAccessoryCategories.aspx page", ex);
            }
        }