private void PersistNewAnalyticStatisticsItem(AnalyticStatisticsItem item) { AnalyticStatisticsItemEntity entity = AnalyticStatisticsItemAssembler.FromDomainObjectToEntity(item); using (VTSDatabase database = new VTSDatabase()) { database.AnalyticStatisticsItem.Add(entity); database.SaveChanges(); RememberUpdatedItem(entity); } }
private bool AlreadyHaveThisValueForThisItem( AnalyticStatisticsItem item, AnalyticStatisticsValue value) { using (VTSDatabase database = new VTSDatabase()) { AnalyticStatisticsItemEntity ourItem = database.AnalyticStatisticsItem.First( i => i.Type == (int)item.Type && i.TargetEngineFamilyType == (int)item.TargetEngineFamilyType && i.TargetEngineType == (int)item.TargetEngineType); return(ourItem.AnalyticStatisticsValue.Any(v => v.SourcePsaParametersSetId == value.SourcePsaParametersSetId)); } }
private void RememberUpdatedItem(AnalyticStatisticsItemEntity item) { using (VTSDatabase database = new VTSDatabase()) { AnalyticStatisticsItemEntity itemEntity = database. AnalyticStatisticsItem.FirstOrDefault(e => e.Type == item.Type && e.TargetEngineFamilyType == item.TargetEngineFamilyType && e.TargetEngineType == item.TargetEngineType); if (itemEntity == null) { return; } affectedItemsIds.Add(itemEntity.Id); } }
private void AddNewValueToExistingItem(AnalyticStatisticsItem item, AnalyticStatisticsValue value) { AnalyticStatisticsValueEntity entityToAdd = AnalyticStatisticsValueAssembler.FromDomainObjectToEntity(value); using (VTSDatabase database = new VTSDatabase()) { AnalyticStatisticsItemEntity existingItem = database.AnalyticStatisticsItem.First( i => i.Type == (int)item.Type && i.TargetEngineFamilyType == (int)item.TargetEngineFamilyType && i.TargetEngineType == (int)item.TargetEngineType); existingItem.AnalyticStatisticsValue.Add(entityToAdd); database.SaveChanges(); RememberUpdatedItem(existingItem); } }
private void UpdateValue(AnalyticStatisticsItem item, AnalyticStatisticsValue value) { using (VTSDatabase database = new VTSDatabase()) { AnalyticStatisticsItemEntity existingItem = database.AnalyticStatisticsItem.First( i => i.Type == (int)item.Type && i.TargetEngineFamilyType == (int)item.TargetEngineFamilyType && i.TargetEngineType == (int)item.TargetEngineType); AnalyticStatisticsValueEntity entityToUpdate = existingItem.AnalyticStatisticsValue.First( v => v.SourcePsaParametersSetId == value.SourcePsaParametersSetId); if (!entityToUpdate.Value.Equals(value.Value)) { entityToUpdate.Value = value.Value; database.SaveChanges(); RememberUpdatedItem(existingItem); } } }
public void Aggregate(List <long> statisticsItemIds) { using (VTSDatabase database = new VTSDatabase()) { List <AnalyticStatisticsItemEntity> items = new List <AnalyticStatisticsItemEntity>(); foreach (long id in statisticsItemIds) { AnalyticStatisticsItemEntity entity = database. AnalyticStatisticsItem.First(item => item.Id == id); items.Add(entity); } foreach (AnalyticStatisticsItem item in items) { AggregateAnalyticStatisticsItemEntity(item, database); } database.SaveChanges(); } }
private void AggregateAnalyticStatisticsItemEntity( AnalyticStatisticsItemEntity item, VTSDatabase database) { VTS.Shared.DomainObjects.AnalyticStatisticsItem asi = AnalyticStatisticsItemAssembler.FromEntityToDomainObject(item); VTS.AnalysisCore.Common.AnalyticRuleSettings settings = AggregatorFactory.Create(asi).Aggregate(); AnalyticRuleSettingsEntity entityToUpdate = database.AnalyticRuleSettings. FirstOrDefault(s => s.RuleType == (int)settings.RuleType && s.EngineType == (int)settings.EngineType); if (entityToUpdate == null) { database.AnalyticRuleSettings.Add( AnalyticRuleSettingsAssembler.FromDomainObjectToEntity(settings)); } else { AnalyticRuleSettingsEntity sourceEntity = AnalyticRuleSettingsAssembler.FromDomainObjectToEntity(settings); UpdateAnalyticRuleStatisticalAtomEntity(sourceEntity, entityToUpdate); ReliabilitySummarizer summarizer = new ReliabilitySummarizer(); summarizer.SummarizeFor(entityToUpdate); } }