public bool SP_InsertBook(SPInsertBookInput input) { bool output = false; DbNonQueryResponse dbData = null; string methodName = MethodBase.GetCurrentMethod().GetName(); var sw = Stopwatch.StartNew(); try { if (input != null) { string commandText = $"CALL SP_INSERT_BOOK('{input.BOOK_TITLE}', ARRAY [{string.Join(",", input.AUTHORS_NAMES.Select(a => $"'{a}'"))}]);"; dbData = this._dbContext.ExecuteNonQuery(commandText, null, $"{methodName}"); if (dbData?.Success ?? false) { output = true; } } return(output); } catch (Exception ex) { LogEngine.BookLogger.WriteToLog(LogLevels.Error, $"DAL.Exception: {JsonConvert.SerializeObject(ex)}"); return(output = false); } finally { sw.Stop(); LogEngine.BookLogger.WriteToLog(LogLevels.Debug, $"DAL.{methodName}(SUCCESS={dbData?.Success}) in {sw.ElapsedMilliseconds}ms"); } }
public bool CreateMember(string memberName) { bool output = false; DbNonQueryResponse dbData = null; string methodName = MethodBase.GetCurrentMethod().GetName(); var sw = Stopwatch.StartNew(); try { string commandText = $"CALL SP_INSERT_MEMBER('{memberName}');"; dbData = this._dbContext.ExecuteNonQuery(commandText, null, $"{methodName}"); if (dbData?.Success ?? false) { output = true; } return(output); } catch (Exception ex) { LogEngine.MemberLogger.WriteToLog(LogLevels.Error, $"DAL.Exception: {JsonConvert.SerializeObject(ex)}"); return(output = false); } finally { sw.Stop(); LogEngine.MemberLogger.WriteToLog(LogLevels.Debug, $"DAL.{methodName}(AFFECTED_ROWS={dbData?.AffectedRows ?? 0}) in {sw.ElapsedMilliseconds}ms"); } }
public bool SP_InsertReading(int bookId, int memberId, LikedRating rating) { bool output = false; DbNonQueryResponse dbData = null; string methodName = MethodBase.GetCurrentMethod().GetName(); var sw = Stopwatch.StartNew(); try { string commandText = $"CALL SP_INSERT_READING({bookId}, {memberId}, {(int) rating});"; dbData = this._dbContext.ExecuteNonQuery(commandText, null, $"{methodName}"); if (dbData?.Success ?? false) { output = true; } return(output); } catch (Exception ex) { LogEngine.BookLogger.WriteToLog(LogLevels.Error, $"DAL.Exception: {JsonConvert.SerializeObject(ex)}"); return(output = false); } finally { sw.Stop(); LogEngine.BookLogger.WriteToLog(LogLevels.Debug, $"DAL.{methodName}(SUCCESS={dbData?.Success}) in {sw.ElapsedMilliseconds}ms"); } }
public DbNonQueryResponse ExecuteNonQuery(string commandText, List <NpgsqlParameter> parameters, string inputLogMessage) { DbNonQueryResponse output = new DbNonQueryResponse(); var sw = Stopwatch.StartNew(); try { if (string.IsNullOrEmpty(commandText)) { return(output); } using (NpgsqlCommand command = new NpgsqlCommand(commandText)) { command.CommandType = CommandType.Text; if (parameters != null && parameters.Any()) { foreach (var parameter in parameters) { command.Parameters.Add(parameter); } } this.Init(); command.Connection = this._connection; output.AffectedRows = command.ExecuteNonQuery(); sw.Stop(); } output.Success = true; return(output); } catch (Exception ex) { LogEngine.Logger.WriteToLog(LogLevels.Error, $"DAL.Exception: {JsonConvert.SerializeObject(ex)}"); return(new DbNonQueryResponse { Success = false }); } finally { var inputLogMessageSplitParts = inputLogMessage.Split(new char[] { '(' }, StringSplitOptions.RemoveEmptyEntries); if (inputLogMessageSplitParts.Length > 1) { LogHelper.WriteMetric($"{inputLogMessageSplitParts[0]}", sw.Elapsed, output.Success); } else { LogHelper.WriteMetric($"{inputLogMessage}", sw.Elapsed, output.Success); } } }