/// <summary>
        /// Manages Table Records Operations
        /// </summary>
        /// <returns>Success/Fail</returns>
        private int ManageTableRecords()
        {
            var ret = 0;

            if (!ExistsTable(TableRecords))
            {
                ret = Execute("CREATE TABLE records (requestnr INTEGER, recordnr INTEGER, infoareaid TEXT, recordid TEXT, mode TEXT, options TEXT)");
            }
            else
            {
                DatabaseMetaInfoTable requestInfoMetaInfo = CreateTableMetaInfo(TableRecords);
                if (requestInfoMetaInfo.GetField(ColumnOptions) == null)
                {
                    ret = AlterTablesAddColumn(TableRecords, ColumnOptions, DataTypeText);
                }
            }

            return(ret);
        }
        /// <summary>
        /// Alter Table caller
        /// </summary>
        /// <returns>Success/Fail</returns>
        private int AlterTables()
        {
            var ret = 0;
            DatabaseMetaInfoTable requestInfoMetaInfo = CreateTableMetaInfo(TableRequests);

            if (requestInfoMetaInfo != null)
            {
                if (requestInfoMetaInfo.GetField(ColumnErrorCode) == null)
                {
                    ret = AlterTableRequests();
                }

                if (requestInfoMetaInfo.GetField(ColumnProcessType) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnProcessType, DataTypeText);
                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRecords, ColumnRecordNr, DataTypeInt);
                    }

                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRecordFields, ColumnRecordNr, DataTypeInt);
                    }

                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRecordLinks, ColumnRecordNr, DataTypeInt);
                    }
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnResponse) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnResponse, DataTypeText);
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnTitleLine) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnTitleLine, DataTypeText);
                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRequests, "detailsLine", DataTypeText);
                    }

                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRequests, "imageName", DataTypeText);
                    }
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnServerRequestNumber) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnServerRequestNumber, DataTypeInt);
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnServerTime) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnServerTime, DataTypeText);
                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRequests, ColumnSessionId, DataTypeText);
                    }

                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRequests, ColumnFollowUpRoot, DataTypeInt);
                    }
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnTranslationKey) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnTranslationKey, DataTypeText);
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnRelatedInfo) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnRelatedInfo, DataTypeText);
                }

                if (ret == 0 && requestInfoMetaInfo.GetField(ColumnBaseError) == null)
                {
                    ret = AlterTablesAddColumn(TableRequests, ColumnBaseError, DataTypeInt);
                    if (ret == 0)
                    {
                        ret = AlterTablesAddColumn(TableRequests, ColumnAppVersion, DataTypeText);
                    }
                }

                if (ret == 0)
                {
                    requestInfoMetaInfo = CreateTableMetaInfo(TableRecordFields);
                    if (requestInfoMetaInfo != null)
                    {
                        if (requestInfoMetaInfo.GetField(ColumnOffline) == null)
                        {
                            ret = AlterTablesAddColumn(TableRecordFields, ColumnOffline, DataTypeInt);
                        }
                    }
                }
            }

            return(ret);
        }