public CelebViewModel(tbl_Celebrity celeb) { Id = celeb.celeb_Id; Name = celeb.celeb_Name; Aka = celeb.celeb_Aka; NameEn = celeb.celeb_NameEn; AkaEn = celeb.celeb_AkaEn; Gender = Translator.GenderToTitle(celeb.celeb_Gender); Birthday = celeb.celeb_Birthday; Deathday = celeb.celeb_Deathday; BornPlace = celeb.celeb_BornPlace; Pro = celeb.celeb_Pro; Family = celeb.celeb_Family; DoubanID = celeb.celeb_DoubanID; IMDbID = celeb.celeb_IMDbID; Summary = celeb.celeb_Summary; Avatar = celeb.celeb_Avatar; Create = celeb.celeb_Create; Status = (byte)celeb.celeb_Status; Note = celeb.celeb_Note; if (celeb.celeb_Summary != null && celeb.celeb_Summary.Length > 250) { SummaryShort = celeb.celeb_Summary.Substring(0, 247) + "..."; } else { SummaryShort = celeb.celeb_Summary; } if (celeb.celeb_Summary != null) { if (SummaryShort.LastIndexOfAny(new char[] { ',', '.', ',', '。', '\n' }) > 0) { SummaryShort = SummaryShort.Substring(0, SummaryShort.LastIndexOfAny(new char[] { ',', '.', ',', '。', '\n' })) + "..."; } else { SummaryShort = SummaryShort.Replace("\n", "<br/>") + "..."; } SummaryPara = celeb.celeb_Summary.Split('\n'); } else { SummaryPara = null; } Works = new List <CelebWorkItem>(); if (DoubanID != null) { //MR_DataClassesDataContext _db = new MR_DataClassesDataContext(); MRDataEntities _db = new MRDataEntities(); var works = _db.tbl_Movie.Where( m => m.movie_DirectorsId.Contains(celeb.celeb_DoubanID) || m.movie_DirectorsId.Contains(celeb.celeb_Id) || m.movie_WritersId.Contains(celeb.celeb_DoubanID) || m.movie_WritersId.Contains(celeb.celeb_Id) || m.movie_CastsId.Contains(celeb.celeb_DoubanID) || m.movie_CastsId.Contains(celeb.celeb_Id)).OrderBy(m => m.movie_Rating).Take(10); foreach (var item in works) { MovieViewModel work = new MovieViewModel(item); System.Text.StringBuilder temp = new System.Text.StringBuilder(); temp.Append("["); if (item.movie_DirectorsId.Contains(celeb.celeb_DoubanID) || item.movie_DirectorsId.Contains(celeb.celeb_Id)) { temp.Append(" 导演 "); } if (item.movie_WritersId.Contains(celeb.celeb_DoubanID) || item.movie_WritersId.Contains(celeb.celeb_Id)) { temp.Append(" 编剧 "); } if (item.movie_CastsId.Contains(celeb.celeb_DoubanID) || item.movie_CastsId.Contains(celeb.celeb_Id)) { temp.Append(" 演员 "); } temp.Append("]"); Works.Add(new CelebWorkItem() { Work = work, Pro = temp.ToString() }); } } IsCreate = false; }
public MovieViewModel(tbl_Movie movie) { Id = movie.movie_Id; Title = movie.movie_Title; TitleEn = movie.movie_TitleEn; Aka = movie.movie_Aka; Pubdates = movie.movie_Pubdates; Year = movie.movie_Year; Durations = movie.movie_Durations; Genres = string.IsNullOrEmpty(movie.movie_Genres) || string.IsNullOrWhiteSpace(movie.movie_Genres) ? null : Translator.GenreToName(movie.movie_Genres); Languages = string.IsNullOrEmpty(movie.movie_Languages) || string.IsNullOrWhiteSpace(movie.movie_Languages) ? null : Translator.LangToName(movie.movie_Languages); Countries = string.IsNullOrEmpty(movie.movie_Countries) || string.IsNullOrWhiteSpace(movie.movie_Countries) ? null : Translator.CountryToName(movie.movie_Countries); Rating = movie.movie_Rating; RatingCount = movie.movie_RatingCount; Avatar = movie.movie_Avatar; Summary = movie.movie_Summary; DoubanID = movie.movie_DoubanID; IMDbID = movie.movie_IMDbID; VisitCount = (int)movie.movie_VisitCount; Create = movie.movie_Create; Status = (byte)movie.movie_Status; Note = movie.movie_Note; if (movie.movie_Summary != null && movie.movie_Summary.Length > 250) { SummaryShort = movie.movie_Summary.Substring(0, 247) + "..."; } else { SummaryShort = movie.movie_Summary; } if (movie.movie_Summary != null) { if (SummaryShort.LastIndexOfAny(new char[] { ',', '.', ',', '。', '\n' }) > 0) { SummaryShort = SummaryShort.Substring(0, SummaryShort.LastIndexOfAny(new char[] { ',', '.', ',', '。', '\n' })) + "..."; } else { SummaryShort = SummaryShort.Replace("\n", "<br/>") + "..."; } SummaryPara = movie.movie_Summary.Split('\n'); } else { SummaryPara = null; } IsCreate = false; IsPlan = false; IsFinish = false; IsFavor = false; PlanCount = 0; FinishCount = 0; FavorCount = 0; //MR_DataClassesDataContext _db = new MR_DataClassesDataContext(); MRDataEntities _db = new MRDataEntities(); Directors = new List <LinkItem>(); if (string.IsNullOrEmpty(movie.movie_DirectorsId)) { if (!string.IsNullOrEmpty(movie.movie_Directors)) { foreach (var item in movie.movie_Directors.Split('/')) { Directors.Add(new LinkItem() { Title = item }); } } } else { int i = 0; foreach (var item in movie.movie_DirectorsId.Split('/')) { if (item.Length == 32) { var celeb = _db.tbl_Celebrity.SingleOrDefault(c => c.celeb_Id == item); if (celeb != null) { Directors.Add(new LinkItem() { Title = celeb.celeb_Name, Id = celeb.celeb_Id }); } } else { Directors.Add(new LinkItem() { Title = movie.movie_Directors.Split('/')[i] }); } i++; } } Writers = new List <LinkItem>(); if (string.IsNullOrEmpty(movie.movie_WritersId)) { if (!string.IsNullOrEmpty(movie.movie_Writers)) { foreach (var item in movie.movie_Writers.Split('/')) { Writers.Add(new LinkItem() { Title = item }); } } } else { int i = 0; foreach (var item in movie.movie_WritersId.Split('/')) { if (item.Length == 32) { var celeb = _db.tbl_Celebrity.SingleOrDefault(c => c.celeb_Id == item); if (celeb != null) { Writers.Add(new LinkItem() { Title = celeb.celeb_Name, Id = celeb.celeb_Id }); } } else { Writers.Add(new LinkItem() { Title = movie.movie_Writers.Split('/')[i] }); } i++; } } Casts = new List <LinkItem>(); if (string.IsNullOrEmpty(movie.movie_CastsId)) { if (!string.IsNullOrEmpty(movie.movie_Casts)) { foreach (var item in movie.movie_Casts.Split('/')) { Casts.Add(new LinkItem() { Title = item }); } } } else { int i = 0; foreach (var item in movie.movie_CastsId.Split('/')) { if (item.Length == 32) { var celeb = _db.tbl_Celebrity.SingleOrDefault(c => c.celeb_Id == item); if (celeb != null) { Casts.Add(new LinkItem() { Title = celeb.celeb_Name, Id = celeb.celeb_Id }); } } else { Casts.Add(new LinkItem() { Title = movie.movie_Casts.Split('/')[i] }); } i++; } } }