Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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++;
                }
            }
        }