public static NamedSetInfo CreateNamedSetInfo(NamedSet set)
        {
            if (set == null)
                return null;
            NamedSetInfo info = new NamedSetInfo();

            info.Caption = set.Caption;
            info.Description = set.Description;
            info.Name = set.Name;
            info.DisplayFolder = set.DisplayFolder;
            info.Expression = set.Expression;

            // Информация о предках
            if (set.ParentCube != null)
            {
                info.ParentCubeId = set.ParentCube.Name;
                info.CustomProperties.Add(new PropertyInfo(InfoBase.CUBE_CAPTION, set.ParentCube.Caption));
            }

            // Свойства
            foreach (Property prop in set.Properties)
            {
                PropertyInfo pi = new PropertyInfo(prop.Name, prop.Value);
                info.Properties.Add(pi);
            }
            return info;
        }
Esempio n. 2
0
        public string ToQuery(CompilerOptions opts)
        {
            var alias     = $"{opts.Alias}I";
            var valueNum  = new Column("ValueNumber");
            var valueDate = new Column("ValueDate");
            var sourceMod = new Column("SourceModifier");
            var importId  = new Column("ImportMetadataId");
            var rowId     = new Column("Id");
            var personId  = new ExpressedColumn(opts.FieldPersonId, new Expression($"{alias}.PersonId"));
            var encId     = new ExpressedColumn(opts.FieldEncounterId, new Expression("CONVERT(NVARCHAR(10),NULL)"));

            var where = new List <IEvaluatable>();
            where.Add(importId == MetadataId.ToString());
            where.Add(new RawEval($"{alias}.{rowId} LIKE '{UniversalId.BaseSegment}%'"));

            if (UniversalId.Value.HasValue)
            {
                where.Add(valueNum == (int)UniversalId.Value);
            }
            if (UniversalId.UseModifier)
            {
                where.Add(sourceMod == UniversalId.Modifier);
            }

            var query = new NamedSet
            {
                Select = new ISelectable[] { personId, encId, valueNum, valueDate },
                From   = $"{opts.AppDb}.app.Import",
                Alias  = alias,
                Where  = where
            };

            return(query.ToString());
        }
Esempio n. 3
0
        public static NamedSetInfo CreateNamedSetInfo(NamedSet set)
        {
            if (set == null)
            {
                return(null);
            }
            NamedSetInfo info = new NamedSetInfo();

            info.Caption       = set.Caption;
            info.Description   = set.Description;
            info.Name          = set.Name;
            info.DisplayFolder = set.DisplayFolder;
            info.Expression    = set.Expression;

            // Информация о предках
            if (set.ParentCube != null)
            {
                info.ParentCubeId = set.ParentCube.Name;
                info.CustomProperties.Add(new PropertyInfo(InfoBase.CUBE_CAPTION, set.ParentCube.Caption));
            }

            // Свойства
            foreach (Property prop in set.Properties)
            {
                PropertyInfo pi = new PropertyInfo(prop.Name, prop.Value);
                info.Properties.Add(pi);
            }
            return(info);
        }
Esempio n. 4
0
        public ImportMappingQuery(MappingQuery mapping, IEnumerable <string> ids)
        {
            var wrapper = $"WITH wrapper ({personId}, {mrn}) AS ({mapping.SqlStatement})";
            var select  = new NamedSet
            {
                Select = new[] { new Column(personId), new Column(mrn) },
                From   = "wrapper",
                Where  = new[] { new Column(mrn) == ids }
            };

            return($"{wrapper} {select}");
        }
        public bool AddSet(string name, params TSetType[] insert)
        {
            if (sets.ContainsKey(name))
            {
                return(false);
            }
            var namedSet = new NamedSet(name);

            sets.Add(name, namedSet);
            foreach (TSetType i in insert)
            {
                namedSet.Set.Add(i);
            }

            return(true);
        }
        static string GetMappingQuery(MappingQuery mapping, IEnumerable <string> ids)
        {
            var personId = new Column(Cols.PersonId);
            var mrn      = new Column(Cols.Mrn);
            var wrapper  = "wrapper";

            var cte    = $"WITH {wrapper} ({personId}, {mrn}) AS ({mapping.SqlStatement})";
            var select = new NamedSet
            {
                Select = new[] { personId, mrn },
                From   = wrapper,
                Where  = new[] { mrn == ids }
            };

            return($"{cte} {select}");
        }
Esempio n. 7
0
    public int[] FindNodeSet(string _name)
    {
        NamedSet nameSet = System.Array.Find(nodesSet, x => x.name == _name);

        return(nameSet != null ? nameSet.indices : null);
    }
 protected bool Equals(NamedSet other)
 {
     return(string.Equals(Name, other.Name) && Equals(Set, other.Set));
 }