예제 #1
0
 public void ClearTopics()
 {
     MeasureTopics.ForEach(mt =>
     {
         mt.Topic.Measures.Remove(this);
         mt.Measure = null;
         mt.Topic   = null;
     });
     MeasureTopics.Clear();
 }
예제 #2
0
        public void AddTopic(Topic topic, bool usedForInfographic = false)
        {
            var measureTopic = MeasureTopics.FirstOrDefault(mt => mt.Topic.Name == topic.Name);

            if (measureTopic != null)
            {
                measureTopic.UsedForInfographic = usedForInfographic;
                measureTopic.Topic = topic;
                return;
            }

            MeasureTopics.Add(new MeasureTopic(this, topic, usedForInfographic));
        }
예제 #3
0
        public Measure Clone(bool cloneForOverride = false)
        {
            var clonedMeasure = this.Clone <Measure, int>(false);

            clonedMeasure.MeasureTopics = new List <MeasureTopic>();
            foreach (var measureTopic in MeasureTopics.ToList())
            {
                var t = new MeasureTopic()
                {
                    Name    = measureTopic.Name,
                    Measure = measureTopic.Measure,
                    Topic   = measureTopic.Topic,
                    Id      = measureTopic.Id                           // Want this?
                };

                clonedMeasure.MeasureTopics.Add(t);
            }

            clonedMeasure.IsOverride = cloneForOverride;

            return(clonedMeasure);
        }
예제 #4
0
 public void RemoveTopic(Topic topic)
 {
     MeasureTopics.RemoveAll(mt => mt.Topic == topic);
 }