public object GetTitleDetail(int titleId)
        {
            using (TitlesEntitiesConnection db = new TitlesEntitiesConnection())
            {
                var title = (from t in db.Titles
                             .Include("Awards")
                             .Include("OtherNames")
                             .Include("StoryLines")
                             .Include("TitleGenres")
                             .Include("TitleGenres.Genre")
                             .Include("TitleParticipants")
                             .Include("TitleParticipants.Participant")
                             where t.TitleId == titleId
                             select new
                {
                    t.TitleId,
                    t.TitleName,
                    t.ReleaseYear,
                    Awards = t.Awards.Select(x => new
                    {
                        Award = x.Award1,
                        x.AwardCompany,
                        x.AwardWon,
                        x.AwardYear
                    }).ToList(),
                    OtherNames = t.OtherNames.Select(x => new
                    {
                        x.TitleName,
                        x.TitleNameLanguage,
                        x.TitleNameType
                    }).ToList(),
                    StoryLines = t.StoryLines.Select(x => new
                    {
                        x.Description,
                        x.Language,
                        x.Type
                    }).ToList(),
                    TitleGenres = t.TitleGenres.Select(x => new
                    {
                        x.Genre.Name
                    }).ToList(),
                    TitleParticipants = t.TitleParticipants.Select(x => new
                    {
                        x.IsKey,
                        x.IsOnScreen,
                        x.RoleType,
                        x.Participant.Name,
                        x.Participant.ParticipantType
                    }).ToList(),
                }).FirstOrDefault();

                return(title);
            }
        }
 public IEnumerable <Title> GetTitles(string search)
 {
     using (TitlesEntitiesConnection db = new TitlesEntitiesConnection())
     {
         if (string.IsNullOrWhiteSpace(search))
         {
             return(db.Titles.OrderBy(x => x.TitleNameSortable).ToList());
         }
         return(db.Titles.Where(x => x.TitleName.Contains(search) || x.ReleaseYear.ToString().Contains(search)).OrderBy(x => x.TitleNameSortable).ToList());
     }
 }