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);
         }
     }
 }