-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathExecuteCommandCreateDataset.cs
More file actions
30 lines (25 loc) · 1.02 KB
/
ExecuteCommandCreateDataset.cs
File metadata and controls
30 lines (25 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using Rdmp.Core.Curation.Data;
namespace Rdmp.Core.CommandExecution.AtomicCommands;
public class ExecuteCommandCreateDataset : BasicCommandExecution
{
private readonly string _doi;
private readonly string _name;
private readonly string _source;
private readonly IBasicActivateItems _activator;
public ExecuteCommandCreateDataset(IBasicActivateItems activator, [DemandsInitialization("The name of the dataset")]string name, string doi = null,string source = null) : base(activator)
{
_name = name;
_doi = doi;
_source = source;
_activator = activator;
if (string.IsNullOrWhiteSpace(_name))
SetImpossible("Datasets require a name");
}
public override void Execute()
{
base.Execute();
var dataset = new Rdmp.Core.Curation.Data.Datasets.Dataset(BasicActivator.RepositoryLocator.CatalogueRepository, _name) { DigitalObjectIdentifier = _doi, Source = _source };
dataset.SaveToDatabase();
_activator.Publish(dataset);
}
}