/// <summary>
            /// Constructor for all non DefaultActivityItems
            /// </summary>
            /// <param name="_DefaultActivityLogItem"></param>
            public ActivityLogItem(ActivityLogItem _DefaultActivityLogItem)
            {
                LogSource         = "AF";
                LogDateTimeOffset = DateTimeOffset.UtcNow;
                LogDateUTC        = LogDateTimeOffset.Date;

                //If the default has the values below then use these
                if (_DefaultActivityLogItem != null)
                {
                    if (_DefaultActivityLogItem.ExecutionUid != null)
                    {
                        ExecutionUid = _DefaultActivityLogItem.ExecutionUid;
                    }
                    if (_DefaultActivityLogItem.TaskInstanceId != null)
                    {
                        TaskInstanceId = _DefaultActivityLogItem.TaskInstanceId;
                    }
                    if (_DefaultActivityLogItem.AdfRunUid != null)
                    {
                        AdfRunUid = _DefaultActivityLogItem.AdfRunUid;
                    }
                    if (_DefaultActivityLogItem.TaskMasterId != null)
                    {
                        TaskMasterId = _DefaultActivityLogItem.TaskMasterId;
                    }
                    if (_DefaultActivityLogItem.ActivityType != null)
                    {
                        ActivityType = _DefaultActivityLogItem.ActivityType;
                    }
                }
            }
 public void InitializeLog(ILogger _log, ActivityLogItem _DefaultActivityLogItem)
 {
     log = _log;
     ActivityLogItems               = new List <ActivityLogItem>();
     DefaultActivityLogItem         = _DefaultActivityLogItem;
     MaxLogLevelPersistedToDatabase = 5;
 }
 public MemberAddedReport(ActivityLogItem item)
 {
     ProjectId     = item.ProjectId;
     AddedByUserId = item.UserId;
     MemberUserId  = item.Values.ContainsKey("addedMemberUserId")
         ? Convert.ToInt32(item.Values["addedMemberUserId"])
         : 0;
 }
예제 #4
0
 public TaskAddedReport(ActivityLogItem item)
 {
     ProjectId     = item.ProjectId;
     AddedByUserId = item.UserId;
     ProjectTaskId = item.Values.ContainsKey("projectTaskId")
         ? Convert.ToInt32(item.Values["projectTaskId"])
         : 0;
 }
예제 #5
0
    public void AddActivityLog(string descTextRef)
    {
        var newLog = new ActivityLogItem {
            time = System.DateTime.Now, detailTextRef = descTextRef
        };

        mActivityLogs.Add(newLog);

        signalInvokeActivityLogUpdate.Invoke(newLog);
    }
 public void LogDebug(string Message, ActivityLogItem activityLogItem)
 {
     activityLogItem.LogTypeId = (short)LogType.Debug;
     activityLogItem.Comment   = Message;
     ActivityLogItem.LogParamsAndTemplate lpt = activityLogItem.WriteToStandardLog();
     log.LogDebug(lpt.Template, lpt._params.ToArray());
     if (activityLogItem.LogTypeId <= MaxLogLevelPersistedToDatabase)
     {
         ActivityLogItems.Add(activityLogItem);
     }
 }
예제 #7
0
        public async Task LogToDb(ActivityLogItem logItem)
        {
            // Create the queue client and queue.
            QueueClient queue = new QueueClient(_functionsConfig.StorageConnectionString, "logging");
            // Create the queue if it doesn't already exist
            await queue.CreateIfNotExistsAsync();

            // Send message to the queue.
            string serializedLogActivity = JsonConvert.SerializeObject(logItem);
            await queue.SendMessageAsync(serializedLogActivity);

            return;
        }
예제 #8
0
        public async Task LogActivity(string application, string category, string user, string messageTag, string message, string clientInfo)
        {
            ActivityLogItem logActivity = new ActivityLogItem();

            logActivity.Category   = category;
            logActivity.User       = user;
            logActivity.MessageTag = messageTag;
            logActivity.Message    = message;
            logActivity.ClientInfo = clientInfo;
            logActivity.TimeToLive = ttl;
            logActivity.TimeStamp  = DateTime.UtcNow;

            await _documentRepository.UpsertDocument(logActivity);

            return;
        }
예제 #9
0
        public void Save(ActivityLogItem item)
        {
            var record = _db.ActivityLog.Add(item);

            _db.SaveChanges();

            var id = record.Entity.Id;

            item.Values.ToList().ForEach(pair => _db.ActivityLogValues.Add(new ActivityLogValue
            {
                ActivityLogId = id,
                Key           = pair.Key,
                Value         = pair.Value
            }));

            _db.SaveChanges();
        }
예제 #10
0
        private void Refresh()
        {
            bool fileExists = File.Exists(_filePath);

            if (!fileExists)
            {
                return;
            }

            _header.FilePath = _filePath;

            SvgStats stats = SvgStatsParser.TryParse(_filePath);

            if (stats != null)
            {
                _statsPanel.CompositionWidget.Update(stats);
                _statsPanel.ColourWidget.Update(stats);
            }

            // TODO: Handle as Uri, not as string.
            Uri fileUrl = new Uri("file://" + FilePath);

            _statsPanel.EditingWidget.Update(fileUrl);

            _log.LoadInfluences(fileUrl);
            _chart.LoadInfluences(fileUrl);

            if (_log.DataStore.Any())
            {
                ActivityLogItem item = _log.DataStore.First() as ActivityLogItem;

                _chart.SetTitle(item.Date);

                if (Model.ContainsResource(item.Activity))
                {
                    data.Activity activity = Model.GetResource <data.Activity>(item.Activity);

                    _chart.Zoom(activity.StartTime, activity.EndTime);
                }
            }

            _tabs.SelectedIndex = 1;
        }
        public void LogErrors(System.Exception e, ActivityLogItem activityLogItem)
        {
            activityLogItem.LogTypeId = (short)LogType.Error;
            activityLogItem.Status    = "Failed";
            string msg = e.Message;

            if (e.StackTrace != null)
            {
                msg += "; Stack Trace: " + e.StackTrace;
            }

            log.LogError(msg);
            activityLogItem.Comment = msg;

            ActivityLogItem.LogParamsAndTemplate lpt = activityLogItem.WriteToStandardLog();
            log.LogError(lpt.Template, lpt._params.ToArray());

            if (activityLogItem.LogTypeId <= MaxLogLevelPersistedToDatabase)
            {
                ActivityLogItems.Add(activityLogItem);
            }
        }
예제 #12
0
        private void OnActivityLogSelectedItemsChanged(object sender, EventArgs e)
        {
            ActivityLogItem selectedItem = _log.SelectedItem as ActivityLogItem;

            if (selectedItem == null || string.IsNullOrEmpty(selectedItem.InfluencedRegion))
            {
                return;
            }

            UriRef regionUri = new UriRef(selectedItem.InfluencedRegion);

            data.Rectangle region = Model.GetResource <data.Rectangle>(regionUri);

            _header.Thumbnail.HighlightColour   = Color.Parse(selectedItem.AgentColour);
            _header.Thumbnail.HighlightedRegion = region;

            data.Activity activity = Model.GetResource <data.Activity>(selectedItem.Activity);

            _chart.Zoom(activity.StartTime, activity.EndTime);

            _chart.SetTitle(selectedItem.Date);
            _chart.SetPositionMarker(selectedItem.Date);
        }
예제 #13
0
        public void InsertActivity(List <AuditEntry> auditEntries)
        {
            foreach (var auditEntry in auditEntries)
            {
                string systemKeyword = null;
                switch (auditEntry.AuditType)
                {
                case AuditType.None:
                    break;

                case AuditType.Create:
                    systemKeyword = $"AddNew{auditEntry.EntityType}";
                    break;

                case AuditType.Update:
                    systemKeyword = $"Edit{auditEntry.EntityType}";
                    break;

                case AuditType.Delete:
                    systemKeyword = $"Delete{auditEntry.EntityType}";
                    break;

                default:
                    break;
                }

                var activityLogType = _activityLogTypeRepository.Table.FirstOrDefault(type => type.SystemKeyword.Equals(systemKeyword));
                if (!activityLogType?.Enabled ?? true)
                {
                    return;
                }

                //insert log item
                var logItem = new ActivityLog
                {
                    ActivityLogTypeId = activityLogType.Id,
                    EntityId          = auditEntry.EntityId,
                    EntityName        = auditEntry.EntityType,
                    Comment           = activityLogType.Name,
                    CreatedOnUtc      = DateTime.UtcNow
                };


                List <ActivityLogItem> items = new();
                foreach (var p in auditEntry.Properties)
                {
                    var item = new ActivityLogItem
                    {
                        EntityId    = auditEntry.EntityId,
                        EntityKey   = auditEntry.EntityType,
                        ActivityLog = logItem,
                        NewValue    = p.NewValue.ToString(),
                        OldValue    = p.OldValue.ToString()
                    };
                    items.Add(item);
                }
                logItem.ActivityLogItems = items;
                Insert(logItem);
                //_activityLogItemRepository.AddRange(items);
                _unitOfWork.Complete();
            }
        }