Пример #1
0
        /// <summary>
        /// Initialises a new instance of the <see cref="PositionEditorRawItem"/> class
        /// </summary>
        /// <param name="input"></param>
        public PositionEditorRawItem(string input)
        {
            this.Complete         = input;
            this.Barcode          = ResultsDecoder.OpnScannerResultsBarcode(input);
            this.ExtraInformation = ResultsDecoder.OpnScannerResultsOtherData(input);
            this.fault            = PositionEditorFaults.NoFault;

            int defaultPosition = -1;

            // Calculate the position as an interger. Use default if there is a fault in the calculation,
            // or a position is not represented.
            if (this.Type == PositionEditorType.Position)
            {
                int position;
                int.TryParse(ResultsDecoder.GetPositionNumber(this.Barcode), out position);

                if (position != 0)
                {
                    this.Position = position;
                }
                else
                {
                    this.Position = defaultPosition;
                }
            }
            else
            {
                this.Position = defaultPosition;
            }
        }
        public object Convert(
            object value,
            Type targetType,
            object parameter,
            CultureInfo culture)
        {
            Color returnColour = Colors.Transparent;

            if (value == null || value.GetType() != typeof(PositionEditorFaults))
            {
                return(new SolidColorBrush(returnColour));
            }

            PositionEditorFaults fault = (PositionEditorFaults)value;

            switch (fault)
            {
            case PositionEditorFaults.DoubleRead:
                returnColour = PositionEditorFaultColours.DoubleRead;
                break;

            case PositionEditorFaults.Duplicate:
                returnColour = PositionEditorFaultColours.Duplicate;
                break;

            case PositionEditorFaults.Missing:
                returnColour = PositionEditorFaultColours.Missing;
                break;

            case PositionEditorFaults.NumberNotRecognised:
                returnColour = PositionEditorFaultColours.NumberNotRecognised;
                break;
            }

            return(new SolidColorBrush(returnColour));
        }