Beispiel #1
0
        /// <summary>
        /// Retrieves publish history.
        /// </summary>
        /// <param name="processId">The process id.</param>
        /// <param name="numberOfRecords">The number of records.</param>
        /// <returns>The list of DTO objects.</returns>
        public IEnumerable<PublishHistoryDto> FetchPublishHistory(int processId, int numberOfRecords = 10)
        {
            const string Query = @"
SELECT TOP (@count)  Date ,
        Id ,
        IsSuccess ,
        ProcessId ,
        TimeToBuildClientLib ,
        TimeToBuildServerLib ,
        TimeToPublish ,
        TimeToRegisterPublishedCopy ,
        TimeToRetrieve ,
        TimeToUpdateRuntime ,
        TriggeredBy ,
        TriggeredByProcess FROM dbo.PublishHistory
WHERE ProcessId = @processId
ORDER BY Date DESC
";
            var result = new List<PublishHistoryDto>();
            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                var connection = ctx.Connection;

                using (var cmd = new SqlCommand(Query, connection))
                {
                    cmd.Parameters.AddWithValue("@count", numberOfRecords);
                    cmd.Parameters.AddWithValue("@processId", processId);

                    using (var reader = new SafeDataReader(cmd.ExecuteReader()))
                    {
                        {
                            while (reader.Read())
                            {
                                var item = new PublishHistoryDto
                                               {
                                                   Date = reader.ReadDateTime(0),
                                                   IsSuccess = reader.GetBool(2),
                                                   ProcessId = reader.GetInt32(3),
                                                   TimeToPublish = reader.GetInt64(6)
                                               };

                                result.Add(item);
                            }
                        }
                    }
                }
            }

            return result;
        }
Beispiel #2
0
        /// <summary>
        /// Logs publish history.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentNullException">The input DTO is null.</exception>
        public void LogPublishHistory(PublishHistoryDto dto)
        {
            if (dto == null) throw new ArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string Query = @"
INSERT dbo.PublishHistory
        ( ProcessId ,
          Date ,
          TimeToPublish ,
          TimeToRetrieve ,
          TriggeredBy ,
          TimeToBuildClientLib ,
          TimeToBuildServerLib ,
          TimeToUpdateRuntime ,
          TimeToRegisterPublishedCopy,
          IsSuccess,
          TriggeredByProcess,
          Log,
          ClientCode,
          ServerCode
        )
VALUES  ( @processId , -- ProcessId - int
          @date , -- Date - datetime
          @timeToPublish , -- TimeToPublish - bigint
          @timeToRetrieve , -- TimeToRetrieve - bigint
          @triggeredBy , -- TriggeredBy - varchar(50)
          @timeToBuildClientLib , -- TimeToBuildClientLib - bigint
          @timeToBuildServerLib, -- TimeToBuildServerLib - bigint
          @timeToUpdateRuntime , -- TimeToUpdateRuntime - bigint
          @timeToRegisterPublishedCopy, -- TimeToRegisterPublishedCopy - bigint
          @isSuccess , -- IsSuccess - bit
          @triggeredByProcess,  -- TriggeredByProcess
          @log, -- Log
          @clientCode, -- ClientCode
          @serverCode  -- ServerCode
        )";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                using (var cmd = new SqlCommand(Query, ctx.Connection))
                {
                    try
                    {
                        cmd.Parameters.AddWithValue("@processId", dto.ProcessId);
                        cmd.Parameters.AddWithValue("@date", dto.Date ?? DateTime.Now);
                        cmd.Parameters.AddWithValue("@timeToPublish", dto.TimeToPublish);
                        cmd.Parameters.AddWithValue("@timeToRetrieve", dto.TimeToRetrieve);
                        cmd.Parameters.AddWithValue("@triggeredBy", dto.TriggeredBy ?? string.Empty);
                        cmd.Parameters.AddWithValue("@timeToBuildClientLib", dto.TimeToBuildClientLib);
                        cmd.Parameters.AddWithValue("@timeToBuildServerLib", dto.TimeToBuildServerLib);
                        cmd.Parameters.AddWithValue("@timeToUpdateRuntime", dto.TimeToUpdateRuntime);
                        cmd.Parameters.AddWithValue("@timeToRegisterPublishedCopy", dto.TimeToRegisterPublishedCopy);
                        cmd.Parameters.AddWithValue("@isSuccess", dto.IsSuccess);
                        cmd.Parameters.AddWithValue("@triggeredByProcess", dto.TriggeredByProcess);
                        cmd.Parameters.AddWithValue("@log", dto.Log ?? string.Empty);
                        cmd.Parameters.AddWithValue("@clientCode", dto.ClientCode ?? string.Empty);
                        cmd.Parameters.AddWithValue("@serverCode", dto.ServerCode ?? string.Empty);

                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        Log4NetLogger.Instance.Log(LogSeverity.Warning, "LogPublishHistory", ex);
                    }
                }
            }
        }