private ViewOverrider(SPList spList, SPQuery spQuery, SPUser currentUser)
        {
            SyncType syncType = SyncType.SpList;

            this._syncProvider = new SpSyncProvider(syncType);
            this._camlXmlQuery = CamlXmlView.TryParse <CamlXmlView>(spQuery.ViewXml);
            this._currentUser  = currentUser;
            this._spList       = spList;

            this._head = new HeadList
            {
                Heads = new List <Head>
                {
                    new Head
                    {
                        Position     = "Top",
                        ColumnGroups = new List <ColumnGroup>
                        {
                            new ColumnGroup
                            {
                                Hide = true
                            }
                        }
                    }
                }
            };

            this._sqlFilterString         = this.BuildSqlFilterString();
            this._settingsAllreadyCreated = true;
        }
        private ViewOverrider(SPView spView, SPUser currentUser, HeadList head = null, string sqlFilterString = null)
        {
            this._spView = spView;

            SyncType syncType = SyncType.SpList;

            this._syncProvider = new SpSyncProvider(syncType);
            this._currentUser  = currentUser;

            if (head != null)
            {
                this._head                    = head;
                this._sqlFilterString         = sqlFilterString;
                this._settingsAllreadyCreated = true;
            }
            else
            {
                this._head = new HeadList
                {
                    Heads = new List <Head>
                    {
                        new Head
                        {
                            Position     = "Top",
                            ColumnGroups = new List <ColumnGroup>
                            {
                                new ColumnGroup
                                {
                                    Hide = true
                                }
                            }
                        }
                    },
                    Options = new OptionList
                    {
                        Options = new List <Option>()
                    },
                    RowDisablingRules = new RowDisablingRulesList
                    {
                        DontShowLikeDisabled = true,
                        Rules = new List <Rule>
                        {
                            new Rule
                            {
                                FieldName  = Constants.ColumnSpPrefix + "ID",
                                FieldType  = "Number",
                                Operator   = "GreaterThen",
                                FieldValue = "0"
                            }
                        }
                    }
                };

                this._camlXmlQuery = CamlXmlView.TryParse <CamlXmlView>(spView.SchemaXml);
            }
        }