Ejemplo n.º 1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Updates the given log. </summary>
        ///
        /// <remarks>   Msacli, 24.04.2019. </remarks>
        ///
        /// <param name="log">  The log to save. </param>
        ///
        /// <returns>   An int. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        public int Update(ErrorLogModel log)
        {
            if (log == null)
            {
                return(CoreConstants.NullLogResponse);
            }

            if (string.IsNullOrWhiteSpace(log.Id))
            {
                return(CoreConstants.EmptyLogIdResponse);
            }

            var emptystring = Guid.Empty.ToString();

            if (log.Id == emptystring)
            {
                return(CoreConstants.EmptyGuidLogIdResponse);
            }

            emptystring = emptystring.Replace('-', '\0');

            if (log.Id == emptystring)
            {
                return(CoreConstants.EmptyGuidLogIdResponse);
            }

            var logModel = new ErrorLogModelMongo
            {
                Id                   = log.Id,
                ClassName            = log.ClassName,
                CreatedOn            = log.CreatedOn,
                CreatedOnTimestamp   = log.CreatedOnUnixTimestamp,
                ExceptionData        = log.ExceptionData,
                LogTime              = log.LogTime,
                LogTimeUnixTimestamp = log.LogTimeUnixTimestamp,
                Message              = log.Message,
                MethodName           = log.MethodName,
                RequestAddres        = log.RequestAddres,
                ResponseAddress      = log.ResponseAddress,
                ResponseMachineName  = log.ResponseMachineName,
                StackTrace           = log.StackTrace,
                UserId               = log.UserId
            };

            var filter = Builders <ErrorLogModelMongo> .Filter.Eq(s => s.Id, logModel.Id);

            var replaceOneResult = this.Collection.ReplaceOne(filter, logModel);

            return((int)replaceOneResult.ModifiedCount);
        }
Ejemplo n.º 2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Saves the given log. </summary>
        ///
        /// <remarks>   Msacli, 24.04.2019. </remarks>
        ///
        /// <param name="log">  The log to save. </param>
        ///
        /// <returns>   A string. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        public string Save(ErrorLogModel log)
        {
            if (log == null)
            {
#if DEBUG
                log = new ErrorLogModel();
#else
                return("null");
#endif
            }

            var logId     = log?.Id ?? string.Empty;
            var emptyGuid = Guid.Empty.ToString();

            if (string.IsNullOrWhiteSpace(logId) ||
                logId == emptyGuid ||
                logId == emptyGuid.Replace('-', '\0'))
            {
                log.Id = Guid.NewGuid().ToString();
            }

            if (!log.LogTime.HasValue)
            {
                log.LogTime = DateTime.Now;
                log.LogTimeUnixTimestamp = log.LogTime.Value.Ticks;
            }

            log.CreatedOn = DateTime.Now;
            log.CreatedOnUnixTimestamp = log.CreatedOn.Ticks;
            var logModel = new ErrorLogModelMongo
            {
                Id                   = log.Id,
                ClassName            = log.ClassName,
                CreatedOn            = log.CreatedOn,
                CreatedOnTimestamp   = log.CreatedOnUnixTimestamp,
                ExceptionData        = log.ExceptionData,
                LogTime              = log.LogTime,
                LogTimeUnixTimestamp = log.LogTimeUnixTimestamp,
                Message              = log.Message,
                MethodName           = log.MethodName,
                RequestAddres        = log.RequestAddres,
                ResponseAddress      = log.ResponseAddress,
                ResponseMachineName  = log.ResponseMachineName,
                StackTrace           = log.StackTrace,
                UserId               = log.UserId
            };

            this.Collection.InsertOne(logModel);
            return(log.Id);
        }