예제 #1
0
        private void ExecuteOnce(SqliteCommand command, Query query)
        {
            PrepareParameters(command, query);
            try
            {
                SQLiteLogger.Log(new SQLiteLogger.LogPart("Query: ", Color.white),
                                 new SQLiteLogger.LogPart(query.statement, Constants.Colors.lightBlue),
                                 SQLiteLogger.LogPart.newLine,
                                 new SQLiteLogger.LogPart("Executed successfully", Color.white));

                _result.value        = ExecuteThreaded(command);
                _result.success      = true;
                _result.errorCode    = SQLiteErrorCode.Ok;
                _result.errorMessage = null;
            }
            catch (SqliteException ex)
            {
                SQLiteLogger.LogWarning(new SQLiteLogger.LogPart("Query: ", Color.white),
                                        new SQLiteLogger.LogPart(query.statement, Constants.Colors.lightBlue),
                                        SQLiteLogger.LogPart.newLine,
                                        new SQLiteLogger.LogPart("Execution failed with error: ", Color.white),
                                        SQLiteLogger.LogPart.newLine,
                                        new SQLiteLogger.LogPart(ex, Color.red));

                _result.success      = false;
                _result.errorCode    = ex.ErrorCode;
                _result.errorMessage = ex.Message;
                _result.value        = null;
            }
        }
예제 #2
0
        private void FileOpen_Click(object sender, EventArgs e)
        {
            if (FileOpenDlg.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            var title  = Path.GetFileNameWithoutExtension(FileOpenDlg.FileName);
            var logger = new DataLogger(SQLiteLogger.GetConnectionString(FileOpenDlg.FileName));

            var track = new Track(title, logger)
            {
                MdiParent = this
            };
            var trackMenuItem = ViewTrackMenuItem.DropDownItems.Add(title, track.Icon.ToBitmap());

            trackMenuItem.Tag    = track;
            trackMenuItem.Click += DataMenuItem_Click <Track>;
            track.FormClosed    += (s, ev) => Form_Closed(ViewTrackMenuItem, track);
            track.Show();

            var vis = new Visualiser(title, logger)
            {
                MdiParent = this
            };
            var dataMenuItem = ViewDataMenuItem.DropDownItems.Add(title, vis.Icon.ToBitmap());

            dataMenuItem.Tag    = vis;
            dataMenuItem.Click += DataMenuItem_Click <Visualiser>;
            vis.FormClosed     += (s, ev) => Form_Closed(ViewDataMenuItem, vis);
            vis.Show();

            BtnClose.Enabled = true;
        }
예제 #3
0
        private void textBoxMessageSended(TextBox sender, Player player, string message)
        {
            message = message.Trim();
            if (message.Length == 0)
            {
                return;
            }
            if (!CommandInterpreter.GetCommandInterpreter().IsCommand(message))
            {
                ChatMessage chatMessage = null;
                if (message.StartsWith("."))
                {
                    chatMessage = new ChatMessage(player, null, ChatMessageType.Whisper, message.Substring(1));
                }
                else if (message.StartsWith("!"))
                {
                    chatMessage = new ChatMessage(player, null, ChatMessageType.Shout, message.Substring(1));
                }
                else
                {
                    chatMessage = new ChatMessage(player, null, ChatMessageType.Talk, message);
                }
                NotificationManager.GetNotificationManager().DisplayNotification(chatMessage);
            }
            else
            {
                CommandInterpreter.GetCommandInterpreter().Interpret(player, message);
            }
#if SSM_ACCOUNT_LOGGING
            SQLiteLogger.log_Chat(player, message);
#endif
        }
예제 #4
0
 public void Constructor_Completes()
 {
     using (var logger = new SQLiteLogger(mDataFilePath))
     {
         Assert.IsNotNull(logger);
     }
 }
예제 #5
0
        public CloseResult Close()
        {
            if (_connection.State == ConnectionState.Broken ||
                _connection.State == ConnectionState.Closed)
            {
                return(CloseResult.AlreadyClose);
            }
            try
            {
                _connection.Close();
                return(CloseResult.Close);
            }
#if UNITY_EDITOR
            catch (Exception ex)
            {
                SQLiteLogger.LogError(
                    new SQLiteLogger.LogPart("Error trying to close database:", Color.white),
                    SQLiteLogger.LogPart.newLine,
                    new SQLiteLogger.LogPart(ex, Color.red));
#else
            catch
            {
#endif
                return(CloseResult.Failure);
            }
        }
예제 #6
0
        public OpenResult Open()
        {
            if (_connection.State == ConnectionState.Connecting ||
                _connection.State == ConnectionState.Open)
            {
                return(OpenResult.AlreadyOpen);
            }
            try
            {
                _connection.Open();
                return(OpenResult.Open);
            }
#if UNITY_EDITOR
            catch (Exception ex)
            {
                SQLiteLogger.LogError(
                    new SQLiteLogger.LogPart("Error trying to open database with connection string:", Color.white),
                    SQLiteLogger.LogPart.newLine,
                    new SQLiteLogger.LogPart(_connection.ConnectionString, Constants.Colors.lightBlue),
                    SQLiteLogger.LogPart.newLine,
                    new SQLiteLogger.LogPart(ex, Color.red));
#else
            catch
            {
#endif
                return(OpenResult.Failure);
            }
        }
예제 #7
0
        public static CreateResult Create(string databaseFilePath)
        {
            if (File.Exists(databaseFilePath))
            {
                return(CreateResult.AlreadyExists);
            }
            string parentDirectory = Directory.GetParent(databaseFilePath).ToString();

            if (!Directory.Exists(parentDirectory))
            {
                Directory.CreateDirectory(parentDirectory);
            }

            try
            {
                SqliteConnection.CreateFile(databaseFilePath);
                return(CreateResult.Create);
            }
#if UNITY_EDITOR
            catch (SqliteException ex)
            {
                SQLiteLogger.LogError(
                    new SQLiteLogger.LogPart("Error trying to create database file at path:", Color.white),
                    SQLiteLogger.LogPart.newLine,
                    new SQLiteLogger.LogPart(databaseFilePath, Constants.Colors.lightBlue),
                    SQLiteLogger.LogPart.newLine,
                    new SQLiteLogger.LogPart(ex, Color.red));
#else
            catch
            {
#endif
                return(CreateResult.Failure);
            }
        }
예제 #8
0
        static void Register()
        {
            Locator.CurrentMutable.RegisterConstant(CreateDefault(), Constants.LogConnection);
            var sqliteLogger = new SQLiteLogger(Locator.Current.GetService <SQLite.SQLiteConnection>(Constants.LogConnection));

            Locator.CurrentMutable.RegisterConstant <ILogger>(sqliteLogger);
            Locator.CurrentMutable.RegisterConstant <IObservableLogger>(sqliteLogger);
        }
예제 #9
0
 public void Insert(SQLiteLogger logger, LogInfo[] infos)
 {
     logger.Insert(_name, infos);
 }