public void ReplaceCalculation(ICalculation one, ICalculation byAnother) { OpenCalculations.Remove(one); var newCalc = byAnother.GenerateNewCalculation(); newCalc.Name = one.Name; CurrentCalculation = newCalc; OpenCalculations.Add(newCalc); }
public void CreateDefaultCalculation(string calcName) { var newCalc = DefaultCalculation.GenerateNewCalculation(); newCalc.Name = calcName; OpenCalculations.Add(newCalc); var worker = new BackgroundWorker(); worker.WorkerReportsProgress = true; worker.WorkerSupportsCancellation = true; worker.DoWork += (s, e) => CurrentCalculation.Workspace.Calculate(); //CalculateIt(); worker.ProgressChanged += (s, e) => { //e.ProgressPercentage; }; worker.RunWorkerCompleted += (s, e) => { if (e.Error != null) { //MessageBox.Show("Error: " + e.Error.Message); //OpenCalculations.FirstOrDefault(c => c.Name == calcName). } else if (e.Cancelled) { //MessageBox.Show("Cancelled."); } else { //MessageBox.Show("Work is succesefully performed."); } }; if (Threads == null) { Threads = new Dictionary <string, BackgroundWorker>(); } Threads.Add(calcName, worker); }
void AddOpenCalculation(ICalculation calc) { OpenCalculations.Add(calc); Types.Add(new KeyValuePair <string, Type>(Path.Combine("OpenCalculations", calc.Name + ".xml"), calc.GetType())); }