コード例 #1
0
ファイル: NoteDataView.cs プロジェクト: akopetsch/GrampsView
        public override CardGroupBase <HLinkNoteModel> GetLatestChanges()
        {
            DateTime lastSixtyDays = DateTime.Now.Subtract(new TimeSpan(60, 0, 0, 0, 0));

            IEnumerable tt = DataViewData.OrderByDescending(GetLatestChangest => GetLatestChangest.Change).Where(GetLatestChangestt => GetLatestChangestt.Change > lastSixtyDays).Take(3);

            CardGroupBase <HLinkNoteModel> returnCardGroup = new CardGroupBase <HLinkNoteModel>();

            foreach (NoteModel item in tt)
            {
                returnCardGroup.Add(item.HLink);
            }

            returnCardGroup.Title = "Latest Note Changes";

            return(returnCardGroup);
        }
コード例 #2
0
        public CardGroup GetAllAsGroupedFamilyNameCardGroup()
        {
            CardGroup t = new CardGroup();

            // Union on the Father and Mother Surnames first
            var queryBase = (
                from item in DataViewData
                select new
            {
                key = item.GFather.DeRef.GPersonNamesCollection.GetPrimaryName.DeRef.GSurName.GetPrimarySurname,
                item
            }
                )
                            .Union(
                from item in DataViewData
                select new
            {
                key = item.GMother.DeRef.GPersonNamesCollection.GetPrimaryName.DeRef.GSurName.GetPrimarySurname,
                item
            }
                );

            var query =
                from x in queryBase
                orderby x.key
                group x by(x.key) into g
                select new { GroupName = g.Key, Items = g };

            foreach (var g in query)
            {
                CardGroupBase <HLinkFamilyModel> info = new CardGroupBase <HLinkFamilyModel>
                {
                    Title = g.GroupName,
                };

                foreach (var item in g.Items)
                {
                    info.Add(item.item.HLink);
                }

                t.Add(info);
            }

            return(t);
        }