示例#1
0
        private bool CheckCorrectInternal([CanBeNull] IControllerImage image)
        {
            if (image == null)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(_outFileName))
            {
                CurrentStateDescription = "Output path is not specified";
                return(false);
            }

            for (var i = 0; i < 5; ++i)
            {
                if (OffLevels[i] >= OnLevels[i])
                {
                    CurrentStateDescription = $"Level {i + 1} activate threshold is not bigger than deactivate";
                    return(false);
                }
            }

            for (var i = 1; i < 5; ++i)
            {
                if (OffLevels[i] <= OnLevels[i - 1])
                {
                    CurrentStateDescription =
                        $"Level {i} deactivate threshold is not bigger than level {i - 1} activate threshold";
                    return(false);
                }
            }

            CurrentStateDescription = "OK";
            return(true);
        }
示例#2
0
        public void SetInputFilePath(string filename)
        {
            _image = null;
            if (!File.Exists(filename))
            {
                CurrentStateDescription = "Input file is not exist";
                return;
            }

            try
            {
                var data = File.ReadAllBytes(filename);
                _image = _controllerImageCreator(data);
                CurrentStateDescription = string.Empty;
            }
            catch (IncorrectSignatureException e)
            {
                CurrentStateDescription = $"Incorrect file signature: {e.Message}";
            }
            catch (TemperatureTablesException e)
            {
                CurrentStateDescription = $"Error while parsing tables: {e.Message}";
            }
            catch (Exception)
            {
                CurrentStateDescription = "Unable to read input file";
            }
        }