Ejemplo n.º 1
0
        public EntityBase GetExperimentById(string expid)
        {
            ExperimentEntity experiment = null;

            using (var session = _driver.Session())
            {
                session.WriteTransaction(tx =>
                {
                    var result = tx.Run("MATCH (e:Experiment) " +
                                        "WHERE e.expid = $expid " +
                                        "RETURN e", new { expid });

                    foreach (var record in result)
                    {
                        //Get as an INode instance to access properties.
                        var node = record["e"].As <Neo4j.Driver.V1.INode>();

                        experiment = new ExperimentEntity
                        {
                            StudyId      = node["studyid"].As <string>(),
                            ExperimentId = node["expid"].As <string>(),
                            Name         = node.Properties.ContainsKey("name") ? node["name"].As <string>() : "Untitled",
                            Index        = node.Properties.ContainsKey("index") ? node["index"].As <int>() : 0,
                            CreationDate = node.Properties.ContainsKey("creationdate") ? node["creationdate"].As <DateTime>() : DateTime.MinValue,
                            SortIndex    = node.Properties.ContainsKey("index") ? node["sortindex"].As <int>() : 0,
                            Id           = node.Id.As <int>()
                        };
                    }
                });
            }

            return(experiment);
        }
Ejemplo n.º 2
0
        static ConcurrentDictionary <int, ExperimentEntity> PrepareExperiments(string pathToData, AzureExperimentStorage storage)
        {
            var experiments = new ConcurrentDictionary <int, ExperimentEntity>(Environment.ProcessorCount, 10000);

            Directory.EnumerateFiles(pathToData, "*_meta.csv")
            .AsParallel()
            .ForAll(file =>
            {
                var metadata               = new MetaData(file);
                var exp                    = new ExperimentEntity((int)metadata.Id);
                exp.Submitted              = metadata.SubmissionTime;
                exp.BenchmarkContainerUri  = PerformanceTest.ExperimentDefinition.LocalDiskContainerUri;
                exp.BenchmarkDirectory     = metadata.BaseDirectory;
                exp.DomainName             = "Z3";
                exp.BenchmarkFileExtension = "smt2";
                exp.Category               = "smtlib-latest";
                exp.Executable             = metadata.BinaryId.ToString();
                exp.Parameters             = metadata.Parameters;
                exp.BenchmarkTimeout       = metadata.Timeout;
                exp.MemoryLimitMB          = metadata.Memoryout / 1024.0 / 1024.0;

                exp.Flag              = false;
                exp.Creator           = "Imported from Nightly data";
                exp.ExperimentTimeout = 0;
                exp.GroupName         = "";

                exp.Note = String.Format("Cluster: {0}, cluster job id: {1}, node group: {2}, locality: {3}, finished: {4}, reference: {5}",
                                         metadata.Cluster, metadata.ClusterJobId, metadata.Nodegroup, metadata.Locality, metadata.isFinished, metadata.Reference);

                experiments.TryAdd((int)metadata.Id, exp);
            });
            return(experiments);
        }
Ejemplo n.º 3
0
        public List <EntityBase> Sort()
        {
            List <ExperimentEntity> expEntities = new List <ExperimentEntity>();


            ExperimentEntity entity1 = new ExperimentEntity();

            entity1.Id           = 1;
            entity1.Name         = "Exp 001";
            entity1.ExperimentId = "Exp001";
            entity1.StudyId      = "Study001";
            expEntities.Add(entity1);

            ExperimentEntity entity2 = new ExperimentEntity();

            entity2.Id           = 3;
            entity2.Name         = "Exp 003";
            entity2.ExperimentId = "Exp003";
            entity2.StudyId      = "Study003";
            expEntities.Add(entity2);

            ExperimentEntity entity3 = new ExperimentEntity();

            entity3.Id           = 2;
            entity3.Name         = "Exp 002";
            entity3.ExperimentId = "Exp002";
            entity3.StudyId      = "Study002";
            expEntities.Add(entity3);

            ISortByColumnStrategy <ExperimentEntity> sortStrategy = new DynamicSortStrategy <ExperimentEntity>(expEntities, "Name", "asc");

            sortStrategy.Sort();
            return((List <EntityBase>)sortStrategy);
        }
Ejemplo n.º 4
0
        public List <EntityBase> GetExperiementsByStudyId(string studyid)
        {
            List <EntityBase> experiments = new List <EntityBase>();

            using (var session = _driver.Session())
            {
                session.WriteTransaction(tx =>
                {
                    var result = tx.Run("MATCH (s:Study {studyid: {studyid}})-[h:HAS]-(e:Experiment)" +
                                        "RETURN e", new { studyid });

                    foreach (var record in result)
                    {
                        //Get as an INode instance to access properties.
                        var node = record["e"].As <Neo4j.Driver.V1.INode>();
                        ExperimentEntity experiment = new ExperimentEntity
                        {
                            ExperimentId = node["expid"].As <string>(),
                            Name         = node.Properties.ContainsKey("name") ? node["name"].As <string>(): "Untitled",
                            Index        = node.Properties.ContainsKey("index") ? node["index"].As <int>() : 0,
                            CreationDate = node.Properties.ContainsKey("creationdate") ? node["creationdate"].As <DateTime>(): DateTime.MinValue,
                            SortIndex    = node.Properties.ContainsKey("sortindex") ? node["sortindex"].As <int>() : 0,
                            Id           = node.Id.As <int>()
                        };
                        experiments.Add(experiment);
                    }
                });
            }

            return(experiments);
        }
Ejemplo n.º 5
0
        public static ExperimentViewModel ToExperimentViewModel(this ExperimentEntity entity)
        {
            ExperimentViewModel model = new ExperimentViewModel();

            model.Id   = entity.Id;
            model.Name = entity.Name;
            if (entity.PhysicalProperty != null)
            {
                model.PhysicalPropertyId = entity.PhysicalProperty.Id;
                model.PhysicalProperty   = entity.PhysicalProperty.ToPhysicalPropertyViewModel();
            }
            if (entity.Setup != null)
            {
                model.SetupId = entity.Setup.Id;
                model.Setup   = entity.Setup.ToSetupViewModel();
            }
            if (entity.Fluorophore != null)
            {
                model.FluorophoreId = entity.Fluorophore.Id;
                model.Fluorophore   = entity.Fluorophore.ToFluorophoreViewModel();
            }
            if (entity.ResearchObject != null)
            {
                model.ResearchObjectId = entity.ResearchObject.Id;
                model.ResearchObject   = entity.ResearchObject.ToResearchObjectViewModel();
            }
            return(model);
        }
Ejemplo n.º 6
0
        public static ExperimentViewModel ToViewModel([NotNull] this ExperimentEntity experimentEntity)
        {
            var experimentViewModel = new ExperimentViewModel
            {
                DateTime         = experimentEntity.DateTime,
                BaseDistance     = experimentEntity.BaseDistance,
                Category         = experimentEntity.Category,
                DistanceRange    = new ObservableCollection <double>(experimentEntity.DistanceRange),
                ExperimentStatus = experimentEntity.ExperimentStatus,
                Name             = experimentEntity.Name,
                PhysicModel      = experimentEntity.PhysicModel == null? null : ParamsRetrieverManager.GetParamsRetrievers().FirstOrDefault(x => x.Name == experimentEntity.PhysicModel),
                SpectrometerName = experimentEntity.Spectrometer,
                WaveMax          = experimentEntity.WaveMax,
                WaveMin          = experimentEntity.WaveMin,
                RetrievedParams  = (experimentEntity.RetrievedParams ?? new List <Params>()).ToArray(),
                SavedData        = experimentEntity.Data == null? null : new ExperimentEntityDataViewModel()
                {
                    WaveLengthArray = experimentEntity.Data.WaveLengthArray,
                    DataItems       = new FullyObservableCollection <ExperimentEntityDataItemViewModel>(experimentEntity.Data.DataItems.Select(x => x.ToViewModel()))
                }
            };

            //todo move to other place
            EntityDataProvider <ExperimentEntity> .Instance.SaveManager.Map(experimentViewModel, experimentEntity);

            return(experimentViewModel);
        }
Ejemplo n.º 7
0
        public static ExperimentEntity ToExperimentEntity(this Experiment model)
        {
            if (model == null)
            {
                return(null);
            }

            ExperimentEntity entity = new ExperimentEntity();

            entity.Id   = model.Id;
            entity.Name = model.Name;
            if (model.PhysicalProperty != null)
            {
                entity.PhysicalProperty = model.PhysicalProperty.ToPhysicalPropertyEntity();
            }
            if (model.Setup != null)
            {
                entity.Setup = model.Setup.ToSetupEntity();
            }
            if (model.Fluorophore != null)
            {
                entity.Fluorophore = model.Fluorophore.ToFluorophoreEntity();
            }
            if (model.ResearchObject != null)
            {
                entity.ResearchObject = model.ResearchObject.ToResearchObjectEntity();
            }

            return(entity);
        }
Ejemplo n.º 8
0
 public static ExperimentResource FromEntity(ExperimentEntity entity)
 {
     return(new ExperimentResource()
     {
         Name = entity.Name,
         Description = entity.Description
     });
 }
Ejemplo n.º 9
0
        public void UpdateExperiment()
        {
            string           expid      = CreateExperiment();
            ExperimentEntity experiment = (ExperimentEntity)GetExperimentById(expid);

            experiment.Name = experiment.Name + " - Updated";
            _neo4jRepo.UpdateExperiment(experiment);
        }
        public async Task <IActionResult> Save([FromBody] ExperimentViewModel model)
        {
            try
            {
                ExperimentEntity entity = null;
                if (!ModelState.IsValid)
                {
                    return(Ok(new ResponseModel()
                    {
                        Result = ResultCode.NotValidData
                    }));
                }
                var item = await _dm.ExperimentAccessor.GetExperiment(model.SetupId, model.ResearchObjectId, model.FluorophoreId, model.PhysicalPropertyId);

                if (item != null && item.Id != model.Id)
                {
                    return(Ok(new ResponseModel()
                    {
                        Result = ResultCode.AlreadyExists
                    }));
                }
                if (model.Id <= 0)
                {
                    entity = new ExperimentEntity();
                }
                else
                {
                    entity = await _dm.ExperimentAccessor.GetExperiment(model.Id);

                    if (entity == null)
                    {
                        return(Ok(new ResponseModel()
                        {
                            Result = ResultCode.AlreadyExists
                        }));
                    }
                }
                var entityToSave = model.ToExperimentEntity();

                await _dm.ExperimentAccessor.SaveExperiment(entityToSave);

                return(Ok(new ResponseModel()
                {
                    Result = ResultCode.Success
                }));
            }
            catch (Exception ex)
            {
                return(Ok(new ResponseModel()
                {
                    Result = ResultCode.ServerError, Description = ex.Message
                }));
            }
        }
        public async Task <ExperimentEntity> SaveExperiment(ExperimentEntity entity)
        {
            var _item = await Query.Where(e => e.Id == entity.Id).FirstOrDefaultAsync();

            if (_item == null)
            {
                _item = (await SaveEntity(entity.ToExperiment(null)));
            }
            else
            {
                _item = (await SaveEntity(entity.ToExperiment(_item)));
            }
            return(await GetExperiment(_item.Id));
        }
Ejemplo n.º 12
0
        public static ExperimentEntity ToExperimentEntity(this ExperimentViewModel model)
        {
            ExperimentEntity entity = new ExperimentEntity();

            if (model.Id > 0)
            {
                entity.Id = model.Id;
            }
            entity.Name = model.Name;
            entity.PhysicalPropertyId = model.PhysicalPropertyId;
            entity.SetupId            = model.SetupId;
            entity.FluorophoreId      = model.FluorophoreId;
            entity.ResearchObjectId   = model.ResearchObjectId;
            return(entity);
        }
Ejemplo n.º 13
0
        public static Experiment ToExperiment(this ExperimentEntity newEntity, Experiment oldEntity = null)
        {
            Experiment entity = oldEntity;

            if (entity == null)
            {
                entity = new Experiment();
            }

            entity.PhysicalPropertyId = newEntity.PhysicalPropertyId;
            entity.SetupId            = newEntity.SetupId;
            entity.FluorophoreId      = newEntity.FluorophoreId;
            entity.ResearchObjectId   = newEntity.ResearchObjectId;
            entity.Name = newEntity.Name;
            return(entity);
        }
Ejemplo n.º 14
0
        public static void Seeder(IDbSet <ExperimentEntity> experiments, IDbSet <ProjectEntity> projects)
        {
            var projectOne = projects.Find(1);
            var projectTwo = projects.Find(2);

            if (projectOne == null)
            {
                throw new Exception("Project One not found");
            }
            if (projectTwo == null)
            {
                throw new Exception("Project Two not found");
            }

            var experimentOne = new ExperimentEntity()
            {
                Name        = "Experiment One",
                Description = "Experiment One Desc",
                Project     = projectOne
            };
            var experimentTwo = new ExperimentEntity()
            {
                Name        = "Experiment Two",
                Description = "Experiment Two Desc",
                Project     = projectOne
            };
            var experimentThree = new ExperimentEntity()
            {
                Name        = "Experiment Three",
                Description = "Experiment Three Desc",
                Project     = projectTwo
            };
            var experimentFour = new ExperimentEntity()
            {
                Name        = "Experiment Four",
                Description = "Experiment Four Desc",
                Project     = projectTwo
            };

            experiments.AddOrUpdate(x => x.Name, experimentOne, experimentTwo, experimentThree, experimentFour);
        }
Ejemplo n.º 15
0
        public void ScanDDDScenario(MeasuresDataModel measureDataModel)
        {
            List<String> dmIDs = new List<String>();
            List<AssetEntity> entities = new List<AssetEntity>();
            Dictionary<String, ExperimentEntity> entityMap = new Dictionary<string, ExperimentEntity>();

            int operatorTypeID = -1;
            int assetTypeID = -1;

            try
            {
                if ((CurExperiment.ScenarioFilePath == null) || (CurExperiment.ScenarioFilePath.Length <= 0))
                {
                    return;
                }

                MessageBoxResult result = MessageBox.Show("Scanning a scenario file will clear all selections on the Measures tab.  Do you wish to continue?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (result != MessageBoxResult.Yes)
                {
                    return;
                }

                // Open scenario file
                XPathDocument Doc = new XPathDocument(CurExperiment.ScenarioFilePath);
                XPathNavigator navigator = Doc.CreateNavigator();
                navigator.MoveToRoot();

                // Make sure this is a DDD Scenario file
                XPathNavigator node = navigator.SelectSingleNode("/Scenario/ScenarioName");
                String scenarioName = node.Value;

                if ((scenarioName == null) || (scenarioName.Length <= 0))
                {
                    return;
                }

                // Get all of the DecisionMaker ids
                XPathNodeIterator iterator = navigator.Select("/Scenario/DecisionMaker");
                String dmID = null;

                while (iterator.MoveNext())
                {
                    node = iterator.Current.SelectSingleNode("Identifier");
                    dmID = node.Value;

                    if ((dmID == null) || (dmID.Length <= 0))
                    {
                        continue;
                    }

                    dmIDs.Add(dmID);
                }

                // Get all of the entity names
                iterator = navigator.Select("/Scenario/Create_Event");
                String entityID = null;

                while (iterator.MoveNext())
                {
                    string ownerName = null;
                    node = iterator.Current.SelectSingleNode("ID");
                    entityID = node.Value;

                    node = iterator.Current.SelectSingleNode("Owner");
                    if (node != null)
                    {
                        ownerName = node.Value;
                    }

                    if ((dmID == null) || (dmID.Length <= 0))
                    {
                        continue;
                    }

                    AssetEntity newAssetEntity = new AssetEntity();
                    newAssetEntity.AssetName = entityID;
                    newAssetEntity.OwnerName = ownerName;
                    entities.Add(newAssetEntity);
                }

                // Clear the experiment measures
                measureDataModel.DeleteExperimentMeasures(CurExperiment);

                // Clear the experiment entities
                ClearExperimentEntities();

                // Connect to database
                VisDashboardDataDataContext db = new VisDashboardDataDataContext();

                // Get Entity type for operators
                var query = from et in db.EntityTypes where et.Name == "Operator" select et;

                try
                {
                    operatorTypeID = query.Single().EntityTypeID;
                }
                catch (Exception)
                {
                    return;
                }

                // Get Entity type for assets
                query = from et in db.EntityTypes where et.Name == "Asset" select et;

                try
                {
                    assetTypeID = query.Single().EntityTypeID;
                }
                catch (Exception)
                {
                    return;
                }

                // Add the new experiment DMs
                ExperimentEntity newExpEntity = null;

                foreach (String id in dmIDs)
                {
                    newExpEntity = new ExperimentEntity();
                    newExpEntity.Name = id;
                    newExpEntity.ExperimentID = CurExperiment.ExperimentID;
                    newExpEntity.EntityTypeID = operatorTypeID;
                    newExpEntity.OwnerExperimentEntityID = null;

                    db.ExperimentEntities.InsertOnSubmit(newExpEntity);
                    entityMap.Add(id, newExpEntity);
                }

                foreach (AssetEntity entity in entities)
                {
                    newExpEntity = new ExperimentEntity();
                    newExpEntity.Name = entity.AssetName;
                    newExpEntity.ExperimentID = CurExperiment.ExperimentID;
                    newExpEntity.EntityTypeID = assetTypeID;
                    if ((entity.OwnerName != null) && (entityMap.Keys.Contains(entity.OwnerName)))
                    {
                        newExpEntity.ExperimentEntity1 = entityMap[entity.OwnerName];
                    }
                    else
                    {
                        newExpEntity.OwnerExperimentEntityID = null;
                    }

                    db.ExperimentEntities.InsertOnSubmit(newExpEntity);
                    entityMap.Add(entity.AssetName, newExpEntity);
                }
                db.SubmitChanges();

                // Add new Experiment Measures
                ExperimentMeasure newExperimentMeasure = null;
                var queryMeasures = from p in db.Measures select p;

                foreach(UsersInExperiment user in CurExperiment.UsersInExperiments)
                {

                    foreach (var measure in queryMeasures)
                    {
                        if (measure.Name.CompareTo("Operator") == 0)
                        {
                            foreach (String id in dmIDs)
                            {
                                newExperimentMeasure = new ExperimentMeasure
                                {
                                    ExperimentID = CurExperiment.ExperimentID,
                                    MeasureID = measure.MeasureID,
                                    UserID = user.UserID,
                                    ExperimentEntity = entityMap[id],
                                    Allowed = false
                                };
                                db.ExperimentMeasures.InsertOnSubmit(newExperimentMeasure);
                            }
                        }
                        else if (measure.Name.CompareTo("Asset") == 0)
                        {
                            foreach (AssetEntity entity in entities)
                            {
                                newExperimentMeasure = new ExperimentMeasure
                                {
                                    ExperimentID = CurExperiment.ExperimentID,
                                    MeasureID = measure.MeasureID,
                                    UserID = user.UserID,
                                    ExperimentEntity = entityMap[entity.AssetName],
                                    Allowed = false
                                };
                                db.ExperimentMeasures.InsertOnSubmit(newExperimentMeasure);
                            }
                        }
                    }
                }

                db.SubmitChanges();

                // Reload experiment measures
                measureDataModel.LoadExperiementMeasures(CurExperiment,
                    UsersInExperiment);

            }
            catch (Exception)
            {
                return;
            }
        }
Ejemplo n.º 16
0
        public void ScanDDDScenario(MeasuresDataModel measureDataModel)
        {
            List <String>      dmIDs    = new List <String>();
            List <AssetEntity> entities = new List <AssetEntity>();
            Dictionary <String, ExperimentEntity> entityMap = new Dictionary <string, ExperimentEntity>();

            int operatorTypeID = -1;
            int assetTypeID    = -1;

            try
            {
                if ((CurExperiment.ScenarioFilePath == null) || (CurExperiment.ScenarioFilePath.Length <= 0))
                {
                    return;
                }

                MessageBoxResult result = MessageBox.Show("Scanning a scenario file will clear all selections on the Measures tab.  Do you wish to continue?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (result != MessageBoxResult.Yes)
                {
                    return;
                }

                // Open scenario file
                XPathDocument  Doc       = new XPathDocument(CurExperiment.ScenarioFilePath);
                XPathNavigator navigator = Doc.CreateNavigator();
                navigator.MoveToRoot();

                // Make sure this is a DDD Scenario file
                XPathNavigator node         = navigator.SelectSingleNode("/Scenario/ScenarioName");
                String         scenarioName = node.Value;

                if ((scenarioName == null) || (scenarioName.Length <= 0))
                {
                    return;
                }

                // Get all of the DecisionMaker ids
                XPathNodeIterator iterator = navigator.Select("/Scenario/DecisionMaker");
                String            dmID     = null;

                while (iterator.MoveNext())
                {
                    node = iterator.Current.SelectSingleNode("Identifier");
                    dmID = node.Value;

                    if ((dmID == null) || (dmID.Length <= 0))
                    {
                        continue;
                    }

                    dmIDs.Add(dmID);
                }

                // Get all of the entity names
                iterator = navigator.Select("/Scenario/Create_Event");
                String entityID = null;

                while (iterator.MoveNext())
                {
                    string ownerName = null;
                    node     = iterator.Current.SelectSingleNode("ID");
                    entityID = node.Value;

                    node = iterator.Current.SelectSingleNode("Owner");
                    if (node != null)
                    {
                        ownerName = node.Value;
                    }

                    if ((dmID == null) || (dmID.Length <= 0))
                    {
                        continue;
                    }

                    AssetEntity newAssetEntity = new AssetEntity();
                    newAssetEntity.AssetName = entityID;
                    newAssetEntity.OwnerName = ownerName;
                    entities.Add(newAssetEntity);
                }

                // Clear the experiment measures
                measureDataModel.DeleteExperimentMeasures(CurExperiment);

                // Clear the experiment entities
                ClearExperimentEntities();

                // Connect to database
                VisDashboardDataDataContext db = new VisDashboardDataDataContext();

                // Get Entity type for operators
                var query = from et in db.EntityTypes where et.Name == "Operator" select et;

                try
                {
                    operatorTypeID = query.Single().EntityTypeID;
                }
                catch (Exception)
                {
                    return;
                }

                // Get Entity type for assets
                query = from et in db.EntityTypes where et.Name == "Asset" select et;

                try
                {
                    assetTypeID = query.Single().EntityTypeID;
                }
                catch (Exception)
                {
                    return;
                }

                // Add the new experiment DMs
                ExperimentEntity newExpEntity = null;

                foreach (String id in dmIDs)
                {
                    newExpEntity                         = new ExperimentEntity();
                    newExpEntity.Name                    = id;
                    newExpEntity.ExperimentID            = CurExperiment.ExperimentID;
                    newExpEntity.EntityTypeID            = operatorTypeID;
                    newExpEntity.OwnerExperimentEntityID = null;

                    db.ExperimentEntities.InsertOnSubmit(newExpEntity);
                    entityMap.Add(id, newExpEntity);
                }

                foreach (AssetEntity entity in entities)
                {
                    newExpEntity              = new ExperimentEntity();
                    newExpEntity.Name         = entity.AssetName;
                    newExpEntity.ExperimentID = CurExperiment.ExperimentID;
                    newExpEntity.EntityTypeID = assetTypeID;
                    if ((entity.OwnerName != null) && (entityMap.Keys.Contains(entity.OwnerName)))
                    {
                        newExpEntity.ExperimentEntity1 = entityMap[entity.OwnerName];
                    }
                    else
                    {
                        newExpEntity.OwnerExperimentEntityID = null;
                    }

                    db.ExperimentEntities.InsertOnSubmit(newExpEntity);
                    entityMap.Add(entity.AssetName, newExpEntity);
                }
                db.SubmitChanges();

                // Add new Experiment Measures
                ExperimentMeasure newExperimentMeasure = null;
                var queryMeasures = from p in db.Measures select p;

                foreach (UsersInExperiment user in CurExperiment.UsersInExperiments)
                {
                    foreach (var measure in queryMeasures)
                    {
                        if (measure.Name.CompareTo("Operator") == 0)
                        {
                            foreach (String id in dmIDs)
                            {
                                newExperimentMeasure = new ExperimentMeasure
                                {
                                    ExperimentID     = CurExperiment.ExperimentID,
                                    MeasureID        = measure.MeasureID,
                                    UserID           = user.UserID,
                                    ExperimentEntity = entityMap[id],
                                    Allowed          = false
                                };
                                db.ExperimentMeasures.InsertOnSubmit(newExperimentMeasure);
                            }
                        }
                        else if (measure.Name.CompareTo("Asset") == 0)
                        {
                            foreach (AssetEntity entity in entities)
                            {
                                newExperimentMeasure = new ExperimentMeasure
                                {
                                    ExperimentID     = CurExperiment.ExperimentID,
                                    MeasureID        = measure.MeasureID,
                                    UserID           = user.UserID,
                                    ExperimentEntity = entityMap[entity.AssetName],
                                    Allowed          = false
                                };
                                db.ExperimentMeasures.InsertOnSubmit(newExperimentMeasure);
                            }
                        }
                    }
                }

                db.SubmitChanges();

                // Reload experiment measures
                measureDataModel.LoadExperiementMeasures(CurExperiment,
                                                         UsersInExperiment);
            }
            catch (Exception)
            {
                return;
            }
        }