Exemple #1
0
        /// <summary>
        /// Get min max boundaries from I40Check
        /// </summary>
        /// <param name="procedure"></param>
        /// <param name="faiItems">FaiItems to reuse</param>
        /// <returns></returns>
        public static List <FaiItem> GetFaiBoundaries(this I40Check procedure, List <FaiItem> faiItems = null)
        {
            var numValidFai = I40Check.YouXiaoFAINum;
            var names       = procedure.GetFaiNames();
            var uppers      = procedure.myResult.Take(numValidFai).Select(ele => ele.upper).ToList();
            var lowers      = procedure.myResult.Take(numValidFai).Select(ele => ele.lower).ToList();

            var output = faiItems ?? new List <FaiItem>();

            if (faiItems == null)
            {
                for (int i = 0; i < numValidFai; i++)
                {
                    output.Add(new FaiItem()
                    {
                        Name = names[i], MaxBoundary = uppers[i], MinBoundary = lowers[i], ShouldAutoSerialize = false
                    });
                }
            }
            else
            {
                for (int i = 0; i < numValidFai; i++)
                {
                    var item = output.ByName(names[i]);
                    item.MaxBoundary = uppers[i];
                    item.MinBoundary = lowers[i];
                }
            }

            return(output);
        }
Exemple #2
0
        public static GraphicsPackViewModel Execute(this I40Check procedure, int chusIndex, List <HImage> images)
        {
            var result = new GraphicsPackViewModel
            {
                Images     = images,
                Graphics   = procedure.OnGetCheckValue(images, chusIndex, 0),
                FaiResults = procedure.GetFaiDict(chusIndex)
            };

            return(result);
        }
Exemple #3
0
        public static Dictionary <string, double> GetFaiDict(this I40Check procedure, int chusIndex)
        {
            var numFaiItems = procedure.resultNum;
            var startIndex  = chusIndex * numFaiItems;
            var numValidFai = I40Check.YouXiaoFAINum;
            var endIndex    = startIndex + numValidFai;
            var output      = new Dictionary <string, double>();

            for (int index = startIndex; index < endIndex; index++)
            {
                var result = procedure.myResult[index];
                output[result.nameStr] = FloorDouble(result.measureValue, 3);
            }

            return(output);
        }
Exemple #4
0
        public static StringMatrixData GetData(this I40Check procedure, StringMatrixType dataType)
        {
            List <string>         header;
            List <List <string> > content;

            switch (dataType)
            {
            case StringMatrixType.Results:
                header  = procedure.ResultHeader;
                content = procedure.ResultDictionary1.ToStringMatrix();
                break;

            case StringMatrixType.FindLine:
                header  = procedure.SearchLineHeader;
                content = procedure.SearchLineDictionary.ToStringMatrix();
                break;

            case StringMatrixType.Misc:
                header  = procedure.AlgHeader;
                content = procedure.AlgDictionary.ToStringMatrix();
                break;

            default:
                throw new KeyNotFoundException("Can not find such StringMatrixType");
            }

            if (header.Count == 0 || content.Count == 0)
            {
                Debugger.Break();
            }

            return(new StringMatrixData()
            {
                Header = header, Content = content
            });
        }
Exemple #5
0
        public static List <string> GetFaiNames(this I40Check procedure)
        {
            var numValidFai = I40Check.YouXiaoFAINum;

            return(procedure.OnGetResultDefNameStr().Take(numValidFai).ToList());
        }