public void Should_save_query_components() { Db.Reset(); ComponentsStorage.Save(new[] { new CircuitComponent { PartName = "DIP8", Data = File.ReadAllBytes(@"Data\DIP8.sldprt") }, new CircuitComponent { PartName = "Diode0_4", Data = File.ReadAllBytes(@"Data\Diode0_4.sldprt") } }); var components = ComponentsStorage.AllComponents(); components.Should().HaveCount(2); var dip8 = components.First(x => x.PartName == "DIP8"); dip8.Data.Should().NotBeEmpty(); }
public ComponentsViewModel() { Components = new ObservableCollection <CircuitComponent>(); foreach (var component in ComponentsStorage.AllComponents()) { Components.Add(component); } AddExistingCommand = new ActionCommand(() => { StartProgress(); var editor = GenericEdit.Create(new CircuitComponent(), component => { Components.Add(component); SaveCorpuses(); }); editor.ShowDialog(); CompleteProgress(); }); AddDIPCommand = new ActionCommand(() => { StartProgress(); var editor = GenericEdit.Create(new DipCorpus { PinCount = 8, CorpusWidthMm = 6.0 }, async corpus => { var component = await Task.Run(() => { var builder = new DipBuilder(new SwContext()); return(builder.BuildComponent(corpus)); }); Components.Add(component); SaveCorpuses(); }); editor.ShowDialog(); CompleteProgress(); }); EditCommand = new ActionCommand <CircuitComponent>(item => { StartProgress(); //var editor = new EditDip(item, () => //{ // SaveCorpuses(); //}); //editor.ShowDialog(); CompleteProgress(); }); RemoveCommand = new ActionCommand <CircuitComponent>(item => { StartProgress(); Components.Remove(item); SaveCorpuses(); CompleteProgress(); }); GenerateCommand = new ActionCommand <CircuitComponent>(item => { StartProgress(); var editor = GenericEdit.Create(new PlaceSpec(), async place => { await Task.Run(() => { var ctx = EnsureAssemblyContext(); if (ctx != null) { ctx.Place(place, item); } }); }); editor.ShowDialog(); CompleteProgress(); }); }
private void SaveCorpuses() { ComponentsStorage.Save(Components); }