Exemple #1
0
        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());
                }
            }
        }
Exemple #2
0
        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());
            }
        }
Exemple #4
0
        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();
            }
        }