BExIS.Web.Shell.Areas.RPM.Models.UnitDimenstionModel.getUnitListByDimenstionAndDataType C# (CSharp) Method

getUnitListByDimenstionAndDataType() public method

public getUnitListByDimenstionAndDataType ( long dimensionId, long dataTypeId ) : List
dimensionId long
dataTypeId long
return List
        public List<ItemStruct> getUnitListByDimenstionAndDataType(long dimensionId,long dataTypeId)
        {
            List<Unit> units = unitmanager.DimensionRepo.Get(dimensionId).Units.ToList();
            ItemStruct tempUnitStruct = new ItemStruct();
            foreach (Unit u in units)
            {
                if (u.Name.ToLower() != "none")
                {
                    foreach (DataType dt in u.AssociatedDataTypes)
                    {
                        if (dt.Id == dataTypeId)
                        {
                            tempUnitStruct.Id = u.Id;
                            tempUnitStruct.Name = u.Name;
                            UnitStructs.Add(tempUnitStruct);
                            break;
                        }
                    }
                }
                else
                {
                    tempUnitStruct.Id = u.Id;
                    tempUnitStruct.Name = u.Name;
                    UnitStructs.Add(tempUnitStruct);
                }
            }

            return UnitStructs;
        }

Usage Example

        public List<VariableStruct> getOrderedVariableStructs(StructuredDataStructure structuredDataStructure)
        {
            List<VariableStruct> variableStructs = new List<VariableStruct>();
            List<Variable> variables = getOrderedVariables(structuredDataStructure);
            DataContainerManager dataAttributeManager = new DataContainerManager();
            VariableStruct temp = new VariableStruct();
            List<BExIS.Dlm.Entities.DataStructure.Constraint> tempconstraints;
            UnitDimenstionModel unitDimenstionModel = new UnitDimenstionModel();
            foreach (Variable v in variables)
            {
                unitDimenstionModel = new UnitDimenstionModel();
                temp.variable = v;
                temp.unitStructs = unitDimenstionModel.getUnitListByDimenstionAndDataType(v.DataAttribute.Unit.Dimension.Id, v.DataAttribute.DataType.Id);
                tempconstraints = dataAttributeManager.DataAttributeRepo.Get(v.DataAttribute.Id).Constraints.ToList();
                temp.rangeConstraints = new List<RangeConstraint>();
                temp.domainConstraints = new List<DomainConstraint>();
                temp.patternConstraints = new List<PatternConstraint>();
                foreach(BExIS.Dlm.Entities.DataStructure.Constraint c in tempconstraints)
                {
                    if (c is DomainConstraint)
                    {
                        DomainConstraint tempDomainConstraint = (DomainConstraint)c;
                        tempDomainConstraint.Materialize();
                        temp.domainConstraints.Add(tempDomainConstraint);
                    }
                    if (c is PatternConstraint)
                        temp.patternConstraints.Add((PatternConstraint)c);
                    if (c is RangeConstraint)
                        temp.rangeConstraints.Add((RangeConstraint)c);

                }
                variableStructs.Add(temp);
            }
            return variableStructs;
        }