private void SubfactoryHasFinished(IAnalyticModelFactory sender) { if (!sender.HasError) { IAnalyticModel createdSubmodel = sender.Result; if (result == null) { throw new Exception("Should be not null!"); } result.Models.Add(createdSubmodel); } else { errorCallback.Invoke(sender.Error, sender.Error.Message); } if (!subfactories.Any(sf => !sf.Finished)) // all finished { successCallback.Invoke(result); } }
public AnalyticItemViewModel(IAnalyticItem analyticItem) { if (analyticItem == null) { throw new ArgumentNullException("analyticItem"); } this.analyticItem = analyticItem; IAnalyticModel analyticModel = analyticItem as IAnalyticModel; if (analyticModel != null) { foreach (IAnalyticModel submodel in analyticModel.Models) { Subitems.Add(new AnalyticItemViewModel(submodel)); } foreach (IAnalyticRule subrule in analyticModel.Rules) { Subitems.Add(new AnalyticItemViewModel(subrule)); } } InitializeHistory(analyticItem.MarksHistory); }