public StructuredDataStructurePreviewModel fill(long dataStructureId) { using (DataStructureManager dataStructureManager = new DataStructureManager()) { StructuredDataStructure datastructure = dataStructureManager.StructuredDataStructureRepo.Get(dataStructureId); VariablePreview variablePreview = new VariablePreview(); if (datastructure != null) { foreach (Variable v in DataStructureIO.getOrderedVariables(datastructure)) { v.Unit = v.Unit ?? new Unit(); v.DataAttribute = v.DataAttribute ?? new DataAttribute(); v.DataAttribute.DataType = v.DataAttribute.DataType ?? new DataType(); variablePreview = new VariablePreview(); variablePreview.Id = v.Id; variablePreview.Label = v.Label; variablePreview.Description = v.Description; variablePreview.isOptional = v.IsValueOptional; variablePreview.Unit = v.Unit.Name; variablePreview.DataType = v.DataAttribute.DataType.Name; variablePreview.SystemType = v.DataAttribute.DataType.SystemType; this.VariablePreviews.Add(variablePreview); } return(this); } else { return(new StructuredDataStructurePreviewModel()); } } }
public DataStructurePreviewModel fill(long dataStructureId) { if (dataStructureId > 0) { DataStructureManager dataStructureManager = null; try { dataStructureManager = new DataStructureManager(); if (dataStructureManager.StructuredDataStructureRepo.Get(dataStructureId) != null) { StructuredDataStructure dataStructure = dataStructureManager.StructuredDataStructureRepo.Get(dataStructureId); VariablePreviewStruct variablePreview; this.Id = dataStructure.Id; this.Name = dataStructure.Name; this.Description = dataStructure.Description; if (dataStructure.Datasets.Count > 0) { this.inUse = true; } foreach (Variable v in DataStructureIO.getOrderedVariables(dataStructure)) { variablePreview = new VariablePreviewStruct().fill(v); this.VariablePreviews.Add(variablePreview); } } else if (dataStructureManager.UnStructuredDataStructureRepo.Get(dataStructureId) != null) { UnStructuredDataStructure dataStructure = dataStructureManager.UnStructuredDataStructureRepo.Get(dataStructureId); this.Id = dataStructure.Id; this.Name = dataStructure.Name; this.Description = dataStructure.Description; this.VariablePreviews = null; if (dataStructure.Datasets.Count > 0) { this.inUse = true; } } return(this); } finally { dataStructureManager.Dispose(); } } else { return(new DataStructurePreviewModel()); } }
public DataStructurePreviewModel fill(long dataStructureId) { if (dataStructureId > 0) { DataStructureManager dataStructureManager = null; try { dataStructureManager = new DataStructureManager(); if (dataStructureManager.StructuredDataStructureRepo.Get(dataStructureId) != null) { StructuredDataStructure dataStructure = dataStructureManager.StructuredDataStructureRepo.Get(dataStructureId); VariablePreviewStruct variablePreview; this.Id = dataStructure.Id; this.Name = dataStructure.Name; this.Description = dataStructure.Description; if (dataStructure.Datasets.Any()) { DatasetManager datasetManager = null; try { datasetManager = new DatasetManager(); foreach (Dataset d in dataStructure.Datasets) { if (datasetManager.RowAny(d.Id)) { this.inUse = true; break; } else { foreach (DatasetVersion dv in d.Versions) { if (datasetManager.GetDatasetVersionEffectiveTuples(dv).Any()) { this.inUse = true; break; } } } } } finally { datasetManager.Dispose(); } } foreach (Variable v in DataStructureIO.getOrderedVariables(dataStructure)) { variablePreview = new VariablePreviewStruct().fill(v); this.VariablePreviews.Add(variablePreview); } } else if (dataStructureManager.UnStructuredDataStructureRepo.Get(dataStructureId) != null) { UnStructuredDataStructure dataStructure = dataStructureManager.UnStructuredDataStructureRepo.Get(dataStructureId); this.Id = dataStructure.Id; this.Name = dataStructure.Name; this.Description = dataStructure.Description; this.VariablePreviews = null; if (dataStructure.Datasets.Any()) { this.inUse = true; } } return(this); } finally { dataStructureManager.Dispose(); } } else { return(new DataStructurePreviewModel()); } }
public ActionResult copyDataStructure(long Id, bool isStructured, string Name = "", string Description = "", string cssId = "") { Name = Server.UrlDecode(Name); Description = Server.UrlDecode(Description); DataStructureManager dataStructureManager = null; try { dataStructureManager = new DataStructureManager(); if (!isStructured) { UnStructuredDataStructure dataStructure = dataStructureManager.GetUnitOfWork().GetReadOnlyRepository <UnStructuredDataStructure>().Get(Id); if (dataStructure != null) { if (Name == "") { Name = dataStructure.Name + " - Copy"; } if (Description == "" && dataStructure.Description != null) { Description = dataStructure.Description; } LoggerFactory.LogCustom("Copy Data Structure" + Id); return(createDataStructure(0, Name.Trim(), isStructured, Description.Trim(), cssId)); } } else { StructuredDataStructure dataStructure = dataStructureManager.GetUnitOfWork().GetReadOnlyRepository <StructuredDataStructure>().Get(Id); if (dataStructure != null) { if (Name == "") { Name = dataStructure.Name + " - Copy"; } if (Description == "" && dataStructure.Description != null) { Description = dataStructure.Description; } MessageModel messageModel = storeDataStructure(0, Name.Trim(), isStructured, Description.Trim(), cssId); List <long> order = new List <long>(); Variable variable = new Variable(); if (!messageModel.hasMessage) { StructuredDataStructure dataStructureCopy = dataStructureManager.GetUnitOfWork().GetReadOnlyRepository <StructuredDataStructure>().Get(Convert.ToInt64(messageModel.Message)); dataStructureManager.GetUnitOfWork().GetReadOnlyRepository <StructuredDataStructure>().LoadIfNot(dataStructureCopy.Variables); foreach (Variable v in DataStructureIO.getOrderedVariables(dataStructure)) { variable = dataStructureManager.AddVariableUsage(dataStructureCopy, v.DataAttribute, v.IsValueOptional, v.Label.Trim(), v.DefaultValue, v.MissingValue, v.Description.Trim(), v.Unit); order.Add(variable.Id); } DataStructureIO.setVariableOrder(dataStructureCopy, order); } LoggerFactory.LogCustom("Copy Data Structure" + Id); return(PartialView("_message", messageModel)); } } return(PartialView("_message", new MessageModel())); } finally { dataStructureManager.Dispose(); } }