コード例 #1
0
        /// <summary>
        /// Is used to store error/critical logs
        /// </summary>
        private async void WriteTechnicalLog(string logMessage, Exception e)
        {
            if (e == null)
            {
                return;
            }
            using var _db = new ChatServiceContext(_DbOptionsBuilder.Options);

            await File.AppendAllTextAsync(_path, logMessage);

            if (e == null)
            {
                return;
            }
            var log = new ErrorLog
            {
                Code       = e.HResult,
                LogMessage = logMessage,
                Time       = DateTime.UtcNow,
                StackTrace = e.StackTrace
            };

            _db.TechnicalLogs.Add(log);
            await _db.SaveChangesAsync();
        }
コード例 #2
0
        private async Task <bool> CreateAdmin(JoinAdminModel model)
        {
            var byteKey = _cryptoProvider.GetTokenBytes(model.AccessToken);

            var token = await _serviceDb.AdminTokens.SingleOrDefaultAsync(x => x.TokenData.SequenceEqual(byteKey));

            if (token == null || token.isUsed == true)
            {
                return(false);
            }

            token.isUsed = true;
            await _serviceDb.SaveChangesAsync();

            return(await _joinService.JoinAdmin(model));
        }
コード例 #3
0
        /// <summary>
        /// Is used to store trace logs
        /// </summary>
        private async void WriteTraceLog(string logMessage)
        {
            using var _db = new ChatServiceContext(_DbOptionsBuilder.Options);

            await File.AppendAllTextAsync(_path, logMessage);

            var log = new TraceLog
            {
                LogMessage = logMessage,
                Time       = DateTime.UtcNow
            };

            _db.TraceLogs.Add(log);
            await _db.SaveChangesAsync();
        }