Exemple #1
0
        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");
            }
        }
Exemple #3
0
        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");
            }
        }
Exemple #4
0
        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);
                }
            }
        }