Exemplo n.º 1
0
 private async Task <Speaker[]> GetSpeakersAsync()
 {
     using (var dbx = new ContentsDbEntities())
     {
         return(await dbx.Speaker.Where(s => s.SpeakerId < 500).OrderBy(s => s.Order).ToArrayAsync());
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// データベースからセッション情報の取得を行います。
 /// </summary>
 /// <param name="dbx"></param>
 /// <returns></returns>
 private async Task <Session[]> GetSessionsAsync(ContentsDbEntities dbx)
 {
     return(await dbx.Session
            .Where(s => string.IsNullOrEmpty(s.SessionNo3) == false)
            .Include("Author.Speaker")
            .Include("SessionGroup")
            .ToArrayAsync());
 }
Exemplo n.º 3
0
 /// <summary>
 /// タイムテーブルに表示するセッション情報の取得を行います。
 /// </summary>
 /// <returns></returns>
 private async Task <SessionGroup[]> GetTimetableSessionInfos()
 {
     using (var dbx = new ContentsDbEntities())
     {
         return(await dbx.SessionGroup
                .Include("Session.Author.Speaker")
                .OrderBy(s => s.SessionGroupId)
                .ToArrayAsync());
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Speakerの主要セッションを取得します。
        /// </summary>
        /// <remarks>主要なセッションの定義はスピーカーの一番最初のセッション</remarks>
        /// <param name="speaker"></param>
        /// <returns></returns>
        private async Task <Session> GetPrimarySessionBySpeakerTask(Speaker speaker)
        {
            using (var dbx = new ContentsDbEntities())
            {
                var session = await dbx.Session
                              .Where(s => s.Author.Any(a => a.SpeakerId == speaker.SpeakerId) && string.IsNullOrEmpty(s.SessionNo3) == false)
                              .OrderBy(s => s.SessionStart)
                              .FirstOrDefaultAsync();

                return(session);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Session.mdの生成を行います。
        /// </summary>
        /// <param name="sessionsDirectory"></param>
        /// <returns></returns>
        public async Task <bool> CreateSessionsAsync(string sessionsDirectory)
        {
            if (Directory.Exists(sessionsDirectory))
            {
                Directory.Delete(sessionsDirectory, true);
            }
            Directory.CreateDirectory(sessionsDirectory);


            using (var dbx = new ContentsDbEntities())
            {
                var sessions = await GetSessionsAsync(dbx);

                foreach (var session in sessions)
                {
                    await CreateSessionFileAsync(sessionsDirectory, session);
                }
            }
            return(true);
        }