コード例 #1
0
        public static void SaveFiltersInventoryToCsvFile(FilterSize filterSize)
        {
            string fileName = filterCsvFiles[filterSize];

            if (!System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(fileName)))
            {
                System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(fileName));
            }

            using (var sw = new System.IO.StreamWriter(fileName))
            {
                sw.WriteLine("#");
                sw.WriteLine(string.Format("# Wise40 {0}\" filter inventory", filterSize.ToString()));
                sw.WriteLine(string.Format("# Last saved on: {0}", DateTime.Now.ToString()));
                sw.WriteLine("# Filter line format:");
                sw.WriteLine("#  name;decription;offset");
                sw.WriteLine("# Name and description are free strings, offset must be a integer.");
                sw.WriteLine("# Empty lines and comments (starting with #) are ignored.");
                sw.WriteLine("#");

                foreach (var filter in _filterInventory[filterSizeToIndex[filterSize]])
                {
                    sw.WriteLine(string.Format("{0};{1};{2}", filter.Name, filter.Description, filter.Offset.ToString()));
                }
            }
        }
コード例 #2
0
            public Wheel(WheelType type)
            {
                _type = type;
                switch (_type)
                {
                case WheelType.Wheel4:
                    _nPositions = 4;
                    _filterSize = FilterSize.ThreeInch;
                    break;

                case WheelType.Wheel8:
                    _nPositions = 8;
                    _filterSize = FilterSize.TwoInch;
                    break;

                case WheelType.WheelUnknown:
                    _nPositions = 1;
                    _filterSize = FilterSize.Unknown;
                    break;
                }
                _positions = new FWPosition[_nPositions];

                _targetPosition = -1;
                _name           = _type.ToString();

                for (int i = 0; i < _nPositions; i++)
                {
                    _positions[i].filterName = _positions[i].tag = string.Empty;
                }
                _position = -1;
            }
コード例 #3
0
        public IActionResult Update([FromBody] CrudViewModel <FilterSize> payload)
        {
            FilterSize FilterSize = payload.value;

            _context.FilterSize.Update(FilterSize);
            _context.SaveChanges();
            return(Ok(FilterSize));
        }
コード例 #4
0
        //
        // There are two filter inventory files (for two and three inch filters respectively)
        // These are ';' separated CSV files
        //
        static void ReadFiltersFromCsvFile(FilterSize filterSize)
        {
            int idx = filterSizeToIndex[filterSize];

            if (_filterInventory == null)
            {
                _filterInventory = new List <Filter> [filterSizes.Count()];
            }
            if (_filterInventory[idx] == null)
            {
                _filterInventory[idx] = new List <Filter>();
            }

            string csvFile = filterCsvFiles[filterSize];

            if (!System.IO.File.Exists(csvFile))
            {
                return;
            }

            if (System.IO.File.GetLastWriteTime(csvFile).CompareTo(Instance._lastReadFromCSV[idx]) <= 0)
            {
                return;
            }

            using (var sr = new System.IO.StreamReader(csvFile))
            {
                string   line;
                string[] fields;
                char[]   sep = { ';' };
                int      offset;

                while ((line = sr.ReadLine()) != null)
                {
                    line = line.TrimStart().TrimEnd();
                    if (line.StartsWith("#"))       // skip comments
                    {
                        continue;
                    }
                    fields = line.Split(';');
                    if (fields.Length != 3)         // skip bad lines
                    {
                        continue;
                    }

                    try
                    {
                        offset = Convert.ToInt32(fields[2]);
                    } catch (FormatException)
                    {
                        offset = 0;
                    }
                    _filterInventory[idx].Add(new Filter(fields[0], fields[1], offset));
                }
            }
            Instance._lastReadFromCSV[idx] = DateTime.Now;
        }
コード例 #5
0
        public IActionResult Remove([FromBody] CrudViewModel <FilterSize> payload)
        {
            FilterSize FilterSize = _context.FilterSize
                                    .Where(x => x.SizeID == (int)payload.key)
                                    .FirstOrDefault();

            _context.FilterSize.Remove(FilterSize);
            _context.SaveChanges();
            return(Ok(FilterSize));
        }
コード例 #6
0
            public WheelFilterDigest(FilterSize size)
            {
                Wheel      = size == WiseFilterWheel.FilterSize.TwoInch ? "Wheel8" : "Wheel4";
                FilterSize = size.ToString();
                Filters    = new List <FilterDigest>();

                List <Filter> inventory = _filterInventory[filterSizeToIndex[size]];

                foreach (var filter in inventory)
                {
                    Filters.Add(new FilterDigest
                    {
                        Name        = filter.Name,
                        Description = filter.Description,
                        Offset      = filter.Offset,
                    });
                }
            }
コード例 #7
0
 public static List <Filter> GetKnownFilters(FilterSize filterSize)
 {
     ReadFiltersFromCsvFile(filterSize);
     return(_filterInventory[filterSizeToIndex[filterSize]]);
 }
コード例 #8
0
 /// <summary>
 /// Default constructor - takes from it's base class.
 /// </summary>
 public FunnelFilter(FilterSize size) : base(size)
 {
 }
コード例 #9
0
ファイル: Filter.cs プロジェクト: PhilipGeil/CoffeeMaker
 /// <summary>
 /// Default constructer - Because we always need to know the size - or we wouldn't know whether it fits or not.
 /// </summary>
 /// <param name="size"></param>
 public Filter(FilterSize size)
 {
     Size = size;
 }