예제 #1
0
        public virtual void Enqueue(string connectionString, int entityId, int entityTypeId, OrchestrationQueueStatus status, int retryCount, DateTime dateCreated, int databaseId, string externalId, int messageActionTypeId)
        {
            try
            {
                var retryCountUpdated = retryCount + 1;
                var statusIdUpdated   = retryCountUpdated >= _appConfiguration.RetryCount ? OrchestrationQueueStatus.Blocked : status;

                _databaseManager.Execute(connectionString,
                                         "sc_calculation_enqueue",
                                         new SqlParameter("@EntityId", entityId),
                                         new SqlParameter("@EntityTypeId", entityTypeId),
                                         new SqlParameter("@RetryCount", retryCountUpdated),
                                         new SqlParameter("@StatusId", statusIdUpdated),
                                         new SqlParameter("@DateCreated", dateCreated),
                                         new SqlParameter("@ExternalId", externalId),
                                         new SqlParameter("@MessageActionTypeId", messageActionTypeId));
            }
            catch (Exception e)
            {
                Logger.Error($"Saving failed: DatabaseId {databaseId} : EntityId {entityId} : EntityTypeId {entityTypeId}");
                Logger.Error(e);
            }
        }
 public CalculateUpdateMessage(int productId, string dbDsn, int action, int databaseId, int entityTypeId, int id, int retryCount, OrchestrationQueueStatus status) : base(productId, dbDsn, action, databaseId, entityTypeId)
 {
     this.Id         = id;
     this.RetryCount = retryCount;
     this.Status     = status;
 }