internal AppItem(AppContext Container, string Name, ModelSecurity.ModelSecObject ModelSecObject) { _container = Container; _name = Name; _modelSecObject = ModelSecObject; _appItemContexts = new AppItemContextsCollection(this); }
internal AppItemContext(AppItem Container, ModelView.ModelViewAppItem ModelViewAppItem, ModelSecurity.ModelSecObject ModelSecObject, Context Context) { _container = Container; _modelViewAppItem = ModelViewAppItem; _modelSecObject = ModelSecObject; _context = Context; }
internal AppContext(IEnumerable<DataAvail.XtraObjectProperties.XtraObjectProperties> XtraObjectsProperties, ModelView.ModelViewApp ModelViewApp, ModelSecurity.ModelSecApp ModelSecApp) { _xtraObjectsProperties = XtraObjectsProperties; _modelViewApp = ModelViewApp; IEnumerable<ModelView.ModelViewAppItem> mvItems = ModelViewApp != null ? ModelViewApp.AppItems.Items : new ModelView.ModelViewAppItem[] { }; _secObjs = ModelSecApp != null ? ModelSecApp.Objects : new ModelSecurity.ModelSecObject[] { }; foreach(DataAvail.XtraObjectProperties.XtraObjectProperties xop in XtraObjectsProperties) { AddAppItem(xop.ObjectName, mvItems.FirstOrDefault(p => p.Name == xop.ObjectName), null); } }
public async Task DeleteShortSecurities(TestCase <SimpleModelInput, SimpleModelOutput> tc) { try { var newModel = new AmpSimpleModel(); var ampModel = new SimpleModelOutput(); var securityList = new List <AmpSecurity>(); //Create Model in LV tc.Input.Name = tc.Expected.Name = Guid.NewGuid().ToString(); var legacyModelId = ModelLvHelper.CreateModelFromLv(tc.Input.Name, tc.Input.Hierarchy, _currentUserId); tc.Expected.LegacyModelId = legacyModelId; Thread.Sleep(2000); foreach (var security in tc.Input.ShortSecurities) { //Add securities ModelLvHelper.AddSecurityToModel( modelId: legacyModelId, hierarchySectorId: tc.Input.Hierarchy, securityId: security.LegacyId, weight: security.Weight, positionType: security.Type); Thread.Sleep(1000); //Remove Securities ModelLvHelper.RemoveSecurityFromModel( modelId: legacyModelId, hierarchySectorId: tc.Input.Hierarchy, securityId: security.LegacyId, positionType: security.Type, clearOverride: 1); Thread.Sleep(1000); //Get securities from event store var ampSecurity = ModelEsHelper.GetSecurityById(security.LegacyId); if (securityList.TrueForAll(s => s.SecurityId != ampSecurity.SecurityId)) { securityList.Add(ampSecurity); } } //Get model from Event Store newModel = CommonHelper.Execute( () => ModelEsHelper.GetSimpleModelByLegacyModelId(legacyModelId), TimeSpan.FromMilliseconds(10), 300, newModel); //Actual data if (newModel != null) { ampModel.LegacyModelId = newModel.LegacyModelId ?? -1; ampModel.Name = newModel.Name; ampModel.ModelType = newModel.ModelId.ModelType; var modelSecurityList = new List <ModelSecurity>(); foreach (var security in securityList) { if (newModel.ShortSecurityTargets.Count == 0) { break; } if (newModel.ShortSecurityTargets.ContainsKey(security.SecurityId)) { var modelSecurity = new ModelSecurity { LegacyId = security.LegacySecurityId, Type = "Short", Weight = newModel.ShortSecurityTargets[security.SecurityId].Weight }; modelSecurityList.Add(modelSecurity); } } ampModel.ShortSecurities = newModel.ShortSecurityTargets.Count == 0 ? null : modelSecurityList; } await tc.Verify(ampModel); } catch (Exception ex) { _logger.Error(ex, $"Something went wrong in test case {tc.TestCaseId}"); throw; } }