protected void createTabXML()
        {
            bool isDefault = false;
            Tabs allTabs   = new Tabs();

            DataTable tabsDataTable                = TabDataTable;
            DataTable permissionDataTable          = TabPermissionDataTable;
            DataTable permissionConditionDataTable = PermissionConditionDataTable;

            foreach (DataRow drTab in tabsDataTable.Rows)
            {
                ushort index        = Convert.ToUInt16(drTab[Constants.TabField.Index]);
                string title        = drTab[Constants.TabField.Title].ToString();
                string desc         = drTab[Constants.TabField.Description].ToString();
                bool   isTabDefault = Helper.ConvertToBool(drTab[Constants.TabField.IsDefault].ToString());
                int    tabID        = Convert.ToInt32(drTab[Constants.RowID]);

                Tab t1 = new Tab(index, title, desc);
                t1.CommaSeperatedFields = drTab[Constants.TabField.FieldToString].ToString();
                t1.IsSelected           = isTabDefault;

                DataTable permissionOfSelectedTab = Helper.GetViewFromDataTable(permissionDataTable, tabID, Constants.PermissionField.TabRowID).ToTable();

                if (permissionOfSelectedTab != null && permissionOfSelectedTab.Rows.Count > 0)
                {
                    foreach (DataRow drPermission in permissionOfSelectedTab.Rows)
                    {
                        bool IsDefault = Helper.ConvertToBool(drPermission[Constants.PermissionField.IsDefault].ToString());
                        Enums.PermissionLevel permissionLevel = (Enums.PermissionLevel)(Convert.ToInt32(drPermission[Constants.PermissionField.PermissionID].ToString()));
                        string         OnForms                = drPermission[Constants.PermissionField.OnFormIDs].ToString();
                        string         ForSPPrinciples        = drPermission[Constants.PermissionField.SPPrinciples].ToString();
                        Enums.Operator BySPPrinciplesOperator = (Enums.Operator)(Convert.ToInt32(drPermission[Constants.PermissionField.SPPrinciplesOperatorID].ToString()));
                        int            permissionID           = Convert.ToInt32(drPermission[Constants.RowID]);

                        TabPermission perm1 = new TabPermission(isDefault, permissionLevel, TabPermission.ParseForms(OnForms), ForSPPrinciples, BySPPrinciplesOperator);


                        DataTable conditionOfSelectedPermission = Helper.GetViewFromDataTable(permissionConditionDataTable, permissionID, Constants.ConditionField.PermissionRowID).ToTable();

                        if (conditionOfSelectedPermission != null && conditionOfSelectedPermission.Rows.Count > 0)
                        {
                            foreach (DataRow drCondition in conditionOfSelectedPermission.Rows)
                            {
                                string         OnField         = drCondition[Constants.ConditionField.SPFieldName].ToString();
                                Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString());
                                object         Value           = drCondition[Constants.ConditionField.Value].ToString();

                                perm1.Conditions.Add(new Condition(new Field(OnField), ByFieldOperator, Value));
                            }
                        }

                        t1.Permissions.Add(perm1);
                    }
                }

                allTabs.Add(t1);
            }

            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString()))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {
                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];

                        objWeb.AllowUnsafeUpdates = true;
                        string xml = allTabs.ToString();
                        if (allTabs.Count > 0 && Helper.IsValidXml(xml))
                        {
                            Helper.CreateConfigFile(list, Constants.ConfigFile.TabSettingFile, xml);
                        }
                        else
                        {
                            Helper.DeleteConfigFile(list, Constants.ConfigFile.TabSettingFile, xml);
                        }

                        objWeb.AllowUnsafeUpdates = false;
                    }
                }
            });
        }
        protected void createTabXML()
        {
            bool isDefault = false;
            Tabs allTabs = new Tabs();

            DataTable tabsDataTable = TabDataTable;
            DataTable permissionDataTable = TabPermissionDataTable;
            DataTable permissionConditionDataTable = PermissionConditionDataTable;

            foreach (DataRow drTab in tabsDataTable.Rows)
            {
                ushort index = Convert.ToUInt16(drTab[Constants.TabField.Index]);
                string title =  drTab[Constants.TabField.Title].ToString();
                string desc =  drTab[Constants.TabField.Description].ToString();
                bool isTabDefault = Helper.ConvertToBool( drTab[Constants.TabField.IsDefault].ToString());
                int tabID = Convert.ToInt32(drTab[Constants.RowID]);

                Tab t1 = new Tab(index, title, desc);
                t1.CommaSeperatedFields = drTab[Constants.TabField.FieldToString].ToString();
                t1.IsSelected = isTabDefault;

                DataTable permissionOfSelectedTab = Helper.GetViewFromDataTable(permissionDataTable, tabID, Constants.PermissionField.TabRowID).ToTable();

                if (permissionOfSelectedTab != null && permissionOfSelectedTab.Rows.Count > 0)
                {
                    foreach (DataRow drPermission in permissionOfSelectedTab.Rows)
                    {
                        bool IsDefault = Helper.ConvertToBool(drPermission[Constants.PermissionField.IsDefault].ToString());
                        Enums.PermissionLevel permissionLevel = (Enums.PermissionLevel)(Convert.ToInt32(drPermission[Constants.PermissionField.PermissionID].ToString()));
                        string OnForms = drPermission[Constants.PermissionField.OnFormIDs].ToString();
                        string ForSPPrinciples = drPermission[Constants.PermissionField.SPPrinciples].ToString();
                        Enums.Operator BySPPrinciplesOperator = (Enums.Operator)(Convert.ToInt32(drPermission[Constants.PermissionField.SPPrinciplesOperatorID].ToString()));
                        int permissionID = Convert.ToInt32(drPermission[Constants.RowID]);

                        TabPermission perm1 = new TabPermission(isDefault, permissionLevel, TabPermission.ParseForms(OnForms), ForSPPrinciples, BySPPrinciplesOperator);


                        DataTable conditionOfSelectedPermission = Helper.GetViewFromDataTable(permissionConditionDataTable, permissionID, Constants.ConditionField.PermissionRowID).ToTable();

                        if (conditionOfSelectedPermission != null && conditionOfSelectedPermission.Rows.Count > 0)
                        {
                            foreach (DataRow drCondition in conditionOfSelectedPermission.Rows)
                            {
                                string OnField = drCondition[Constants.ConditionField.SPFieldName].ToString();
                                Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString());
                                object Value = drCondition[Constants.ConditionField.Value].ToString();

                                perm1.Conditions.Add(new Condition(new Field(OnField), ByFieldOperator, Value));
                            }

                        }

                        t1.Permissions.Add(perm1);
                    }
                }

                allTabs.Add(t1);

            }

            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString()))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {
                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];

                        objWeb.AllowUnsafeUpdates = true;
                        string xml = allTabs.ToString();
                        if (allTabs.Count > 0 && Helper.IsValidXml(xml))
                        {

                            Helper.CreateConfigFile(list, Constants.ConfigFile.TabSettingFile, xml);
                        }
                        else
                        {
                            Helper.DeleteConfigFile(list, Constants.ConfigFile.TabSettingFile, xml);
                        }

                        objWeb.AllowUnsafeUpdates = false;
                    }
                }
            });
                
        }