private void _tagger_AddTag(object sender, TaggerEventArgs e) { //Stopwatch.StartNew(); if (SituationIndex.TagsetCounter.Count != 0) { SituationIndex.AddSituationToIndex(e.messages, e.Id, e.Tag); foreach (var id in e.messages) { if (!MessageContainer.Messages[id].Situations.ContainsKey(e.Tag)) { MessageContainer.Messages[id].Situations.Add(e.Tag, SituationIndex.TagsetCounter[e.Tag]); } else { //MessageContainer.Messages[id].Situations[e.Tag] _tagger.DisplayTagErrorMessage(); } } _tagger.AddSituationIndexItem(e.Tag + " " + SituationIndex.TagsetCounter[e.Tag].ToString()); var count = SituationIndex.Index[e.Tag].Count; SituationIndex.TagsetCounter[e.Tag]++; } else { foreach (var str in TagsetIndex.Index[_service.ProjectTagset]) { SituationIndex.TagsetCounter.Add(str, 0); _tagger.AddSituationIndexItem(e.Tag + " " + SituationIndex.TagsetCounter[e.Tag].ToString()); } } _tagger.UpdateSituationCount(SituationIndex.SituationCount()); }
private void DeleteOrEditTag(TaggerEventArgs args, bool type) { foreach (var id in SituationIndex.Index[args.Tag][args.Id]) { MessageContainer.Messages[id].Situations.Remove(args.Tag); } if (type) { _tagger.UpdateSituationCount(SituationIndex.SituationCount()); } else { var tag = args.AdditionalInfo["Change"].ToString(); var count = SituationIndex.TagsetCounter[tag]; var count2 = SituationIndex.Index[tag].Count; var list = SituationIndex.Index[args.Tag][args.Id]; SituationIndex.TagsetCounter[tag]++; SituationIndex.AddSituationToIndex(list, count, tag); foreach (var id in list) { MessageContainer.Messages[id].Situations.Add(tag, count); } _tagger.AddSituationIndexItem(tag + " " + count); } SituationIndex.RemoveSituationFromIndex(args.Id, args.Tag); SituationIndex.TagsetCounter[args.Tag]--; _tagger.DeleteSituationIndexItem(args.Tag + " " + args.Id.ToString()); if (args.Id < SituationIndex.Index[args.Tag].Count + 1) { for (int i = args.Id + 1; i <= SituationIndex.Index[args.Tag].Count; i++) { var list = SituationIndex.Index[args.Tag][i]; foreach (var id in list) { MessageContainer.Messages[id].Situations[args.Tag]--; } SituationIndex.RemoveSituationFromIndex(i, args.Tag); SituationIndex.AddSituationToIndex(list, i - 1, args.Tag); _tagger.DeleteSituationIndexItem(args.Tag + " " + i.ToString()); _tagger.AddSituationIndexItem(args.Tag + " " + (i - 1).ToString()); } } }
public void AddSituation(List <int> messages, int id, string situation) { SituationIndex.AddSituationToIndex(messages, id, situation); }