private ScanAreas CreateScanAreas() { var result = new ScanAreas { BaseResolution = BaseResolution }; foreach (var model in Areas) { result.Areas.Add(new ScanArea { Key = model.Key, X = model.X, Y = model.Y, Width = model.Width, Height = model.Height, Hash = model.Hash, BaseResolution = model.BaseResolution, Image = model.ImageLocation, Mostly = model.Mostly }); } return(result); }
public Task Save() { return(Task.Run( () => { string baseDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data"); string filename = Path.Combine(baseDir, "areas.json"); ScanAreas areas = CreateScanAreas(); var newareas = this.scanAreas.Where(x => x.BaseResolution != areas.BaseResolution).ToList(); newareas.Add(areas); var data = JsonConvert.SerializeObject(newareas, Formatting.Indented); File.WriteAllText(filename, data); Initialize(); })); }
private void RefreshAreas() { areas.Clear(); var models = new List <ScanAreaModel>(); var area = scanAreas.FirstOrDefault(x => x.BaseResolution == BaseResolution); if (area == null) { area = new ScanAreas { BaseResolution = BaseResolution, Areas = new List <ScanArea>() }; scanAreas.Add(area); return; } foreach (var scanArea in area.Areas) { var model = new ScanAreaModel(scanArea); models.Add(model); } areas.AddRange(models); }