コード例 #1
0
 public object ListRelatedViewsByArchitectureId(int architectureId)
 {
     using (var alpha_context = new AlphaOneDbContext())
     {
         return((from v in alpha_context.related_view
                 join p in alpha_context.products on v.view_id equals p.product_id
                 join q in alpha_context.products on v.related_view_id equals q.product_id
                 join t in alpha_context.relate_type on v.relate_type_id equals t.relate_type_id
                 join a in alpha_context.architectures on v.architecture_id equals a.architecture_id
                 join r in alpha_context.architectures on v.related_architecture_id equals r.architecture_id
                 where v.architecture_id == architectureId
                 select new
         {
             architectureId = v.architecture_id,
             architectureName = a.name,
             viewId = v.view_id,
             viewName = p.name,
             relatedArchId = v.related_architecture_id,
             relatedArchName = r.name,
             relatedViewId = v.related_view_id,
             relatedViewName = q.name,
             relateTypeId = v.relate_type_id,
             relateTypeName = t.relate_type_name
         }).ToList());
     }
 }
コード例 #2
0
        public IEnumerable <RelatedArchitecturesAdapter> ListAllRelatedArchitectures()
        {
            var alpha_context = new AlphaOneDbContext();


            var latestRevisions = (from r in alpha_context.arches
                                   group r by r.cat_arch_id into rGrp
                                   select new
            {
                architectureId = rGrp.Key,
                latest_revision_id = rGrp.Max(r => r.arch_id),
                lastModifiedBy = rGrp.Where(l => l.arch_id == rGrp.Max(r => r.arch_id)).Select(l => l.src_sys_user_nm)
            }).ToList();


            var related_architectures = (from r in alpha_context.related_architecture
                                         join p in alpha_context.architectures on r.architecture_id equals p.architecture_id
                                         join q in alpha_context.architectures on r.related_architecture_id equals q.architecture_id
                                         join v in alpha_context.VW_Architecture_Viewer_Popup_Metadata on r.related_architecture_id equals v.Id
                                         join l in alpha_context.relate_type on r.relate_type_id equals l.relate_type_id into lSet
                                         from l in lSet.DefaultIfEmpty()
                                         select new
            {
                architectureId = r.architecture_id,
                architectureName = p.name,
                relateTypeId = r.relate_type_id,
                relateTypeName = l == null ? null : l.relate_type_name,
                relatedArchId = r.related_architecture_id,
                relatedArchName = v.Name,
                relatedArchLastModifiedDate = v.LastUpdatedDate,
            }).ToList();


            return((from a in related_architectures
                    join m in latestRevisions on a.relatedArchId equals m.architectureId into mSet
                    from m in mSet.DefaultIfEmpty()
                    select new RelatedArchitecturesAdapter
            {
                architectureId = a.architectureId,
                architectureName = a.architectureName,
                relateTypeId = a.relateTypeId,
                relateTypeName = a.relateTypeName,
                relatedArchId = a.relatedArchId,
                relatedArchName = a.relatedArchName,
                relatedArchLastModifiedDate = a.relatedArchLastModifiedDate,
                relatedArchLastModifiedBy = m == null ? null : m.lastModifiedBy.FirstOrDefault()
            }).ToList());
        }
コード例 #3
0
        public object ListArchitecturesByLastModifiedInfo()
        {
            using (var alphaOne = new AlphaOneDbContext())
            {
                var architectures = (from a in alphaOne.VW_Architecture_Viewer_Popup_Metadata
                                     select new
                {
                    ArchitectureId = a.Id,
                    ArchitectureName = a.Name,
                    LastModifiedDate = a.LastUpdatedDate
                }).ToList();

                var subQuery1 = from r in alphaOne.arches
                                group r by r.cat_arch_id into rGrp
                                select new
                {
                    cat_arch_id        = rGrp.Key,
                    latest_revision_id = rGrp.Max(r => r.arch_id)
                };

                var subQuery2 = from l in subQuery1
                                join r in alphaOne.arches on l.latest_revision_id equals r.arch_id into set
                                from r in set.DefaultIfEmpty()
                                select new
                {
                    architectureId     = l.cat_arch_id,
                    latest_revision_id = l == null ? null : l.latest_revision_id.ToString(),
                    lastModifiedBy     = r == null ? null : r.src_sys_user_nm
                };

                return((from a in architectures
                        join m in subQuery2 on a.ArchitectureId equals m.architectureId into mSet
                        from m in mSet.DefaultIfEmpty()
                        select new
                {
                    architectureId = a.ArchitectureId,
                    architectureName = a.ArchitectureName,
                    latestRevisionId = m == null ? null : m.latest_revision_id.ToString(),
                    lastModifiedDate = a.LastModifiedDate,
                    lastModifiedBy = m == null ? null : m.lastModifiedBy
                }).ToList());
            }
        }
コード例 #4
0
        public IEnumerable <RelatedViewsAdapter> ListAllRelatedViews()
        {
            using (var alpha_context = new AlphaOneDbContext())
            {
                return((from v in alpha_context.related_view
                        join a in alpha_context.architectures on v.architecture_id equals a.architecture_id
                        join r in alpha_context.architectures on v.related_architecture_id equals r.architecture_id

                        select new RelatedViewsAdapter
                {
                    architectureId = v.architecture_id,
                    architectureName = a.name,
                    viewId = v.view_id,
                    relatedArchId = v.related_architecture_id,
                    relatedArchName = r.name,
                    relatedViewId = v.related_view_id,
                    relateTypeId = v.relate_type_id,
                }).ToList());
            }
        }