public void AddLabelRelation(ILabel label, LabelCauseType cause, string causeDetail = "")
        {
            // 注意: labelは、現在のCategoryと同じDBコンテキストを設定してください。

            // 追加しようとしているラベル(label)が、このカテゴリにすでに設定済みの場合は、
            // 新たに追加せずに、トレースログに追記する。
            var r = from u in this.Labels
                    where u.LabelId == label.Id
                    select u;
            var existsLabel2Category = r.FirstOrDefault();

            if (existsLabel2Category == null)
            {
                var e2 = new Label2Category
                {
                    Category  = this,
                    Label     = (Label)label,
                    Order     = 100, // デフォルト値を設定する
                    LastCause = cause
                };
                e2.AddTraceRecord(cause, causeDetail);
                this.Labels.Add(e2);
            }
            else
            {
                // labelがすでに登録済みの場合は、TraceRecordを追加してデータを更新する
                existsLabel2Category.AddTraceRecord(cause, causeDetail);
            }
        }
Example #2
0
        public void AddTraceRecord(LabelCauseType causeType, string detail = "")
        {
            var list = GetTraceRecordList();

            list.Add(new TraceRecordLogData
            {
                CauseType       = causeType,
                CauseDetailText = detail,
                TraceDate       = DateTime.Now
            });

            this.TraceRecord = JsonConvert.SerializeObject(list);
        }