Ejemplo n.º 1
0
        /// <summary>
        /// Create a tree node
        /// </summary>
        public TreeNode CreateTreeNode(OmrOutputData data)
        {
            TreeNode retVal = new TreeNode();

            if (data is OmrBubbleData)
            {
                var bubble = (data as OmrBubbleData);
                retVal.Text       = string.Format("{0} = {1}", bubble.Key, bubble.Value);
                retVal.ImageIndex = retVal.StateImageIndex = 1;
            }
            else if (data is OmrBarcodeData)
            {
                var barcode = (data as OmrBarcodeData);
                retVal.Text       = string.Format("{0}", barcode.BarcodeData);
                retVal.ImageIndex = retVal.StateImageIndex = 2;
            }
            else if (data is OmrOutputDataCollection)
            {
                var collection = (data as OmrOutputDataCollection);
                retVal.Text = string.Format("{0}", collection.Id);
                if (data is OmrAggregateDataOutput)
                {
                    retVal.Text += string.Format(" ({0} = {1})", (data as OmrAggregateDataOutput).Function, (data as OmrAggregateDataOutput).AggregateValue);
                }
                retVal.ImageIndex = retVal.StateImageIndex = 3;
                foreach (var itm in collection.Details)
                {
                    retVal.Nodes.Add(this.CreateTreeNode(itm));
                }
            }
            return(retVal);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Already answered?
        /// </summary>
        public bool AlreadyAnswered(OmrOutputData data)
        {
            if (!(data is OmrBubbleData))
            {
                return(false);
            }

            var bubble   = data as OmrBubbleData;
            var existing = this.Details.OfType <OmrBubbleData>().FirstOrDefault(o => o.Key == bubble.Key);

            if (existing == null)
            {
                return(false);
            }
            else if (existing.BlobArea < bubble.BlobArea)
            {
                this.Details.Remove(existing);
            }
            else
            {
                return(true);
            }
            return(false);
        }