public static Director CreateDirector(this DirectorInput input, HttpPostedFileBase photo, IDaoCountry daoCountry, IDaoFilm daoFilm)
        {
            var director = new Director
            {
                Name    = input.Name,
                Surname = input.Surname,
                Birth   = input.Birth,
                Death   = input.Death,
                Country = daoCountry.GetCountryByEnglishName(input.CountryName),
                Gender  = (Data.Models.Gender)input.Gender
            };

            if (photo != null && photo.ContentLength > 0)
            {
                try
                {
                    if (photo.ContentType.Contains("image"))
                    {
                        var filename = Guid.NewGuid().ToString() + Path.GetExtension(photo.FileName);

                        var path = Path.Combine(PathUtils.GetProjectDirectory(),
                                                "Cinematheque.WebSite\\images\\directors\\",
                                                filename);
                        photo.SaveAs(path);

                        director.PhotoFileName = filename;
                    }
                    else
                    {
                        throw new Exception("ERROR: Uploaded file is not image");
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("ERROR:" + ex.Message.ToString());
                }
            }
            else
            {
                director.PhotoFileName = "default.jpg";
            }

            if (input.FilmsDirected != null)
            {
                foreach (var id in input.FilmsDirected)
                {
                    var film = daoFilm.Find(id);

                    director.AddFilm(film);
                }
            }

            return(director);
        }
        public static void CopyToData(this DirectorInput input, Director data, HttpPostedFileBase photo, IDaoCountry daoCountry, IDaoFilm daoFilm)
        {
            if (data.ID != input.ID)
            {
                throw new Exception("Cannot copy from foreign view to data");
            }

            data.Name      = input.Name;
            data.Surname   = input.Surname;
            data.Birth     = input.Birth;
            data.Death     = input.Death;
            data.Biography = input.Biography;

            if (input.CountryId != null)
            {
                data.Country = daoCountry.Find(input.CountryId);
            }

            data.RemoveAllFilms();
            if (input.FilmsDirected != null)
            {
                foreach (var id in input.FilmsDirected)
                {
                    var film = daoFilm.Find(id);

                    data.AddFilm(film);
                }
            }

            data.Gender = (Data.Models.Gender)input.Gender;

            if (photo != null && photo.ContentLength > 0)
            {
                try
                {
                    if (photo.ContentType.Contains("image"))
                    {
                        var filename = Guid.NewGuid().ToString() + Path.GetExtension(photo.FileName);

                        var path = Path.Combine(PathUtils.GetProjectDirectory(),
                                                "Cinematheque.WebSite\\images\\directors\\",
                                                filename);
                        photo.SaveAs(path);

                        /*File.Delete(Path.Combine(PathUtils.GetProjectDirectory(),
                         *                      "Cinematheque.WebSite\\images\\directors\\",
                         *                      filename);*/

                        data.PhotoFileName = filename;
                    }
                    else
                    {
                        throw new Exception("ERROR: Uploaded file is not image");
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("ERROR:" + ex.Message.ToString());
                }
            }
        }
        protected override void Seed(CinemathequeContext context)
        {
            foreach (var n in CountryList.EnglishNames)
            {
                context.Countries.Add(new Country {
                    Name = n
                });
            }
            context.SaveChanges();

            var country = context.Countries.Where(c => c.Name == "France").FirstOrDefault();

            for (var i = 0; i < 10; i++)
            {
                var ch = Convert.ToChar(65 + i);

                var a = new Actor()
                {
                    Name          = ch.ToString() + "aaak",
                    Surname       = "Actor",
                    Birth         = DateTime.Now,
                    CountryId     = country.ID,
                    Gender        = Gender.NotIdentified,
                    PhotoFileName = $"actor{ch}.jpg",
                    Biography     = "aaaaaaaaaaaaaaaaaaaaaaa"
                };

                var d = new Director()
                {
                    Name          = ch.ToString(),
                    Surname       = "Director",
                    Birth         = DateTime.Now,
                    CountryId     = country.ID,
                    Gender        = Gender.NotIdentified,
                    PhotoFileName = $"director{ch}.jpg",
                    Biography     = "ddddddddddddddddddddddddd"
                };

                var f = new Film()
                {
                    Title          = $"film{ch}",
                    ReleaseDate    = DateTime.Now,
                    Countries      = new List <Country>(),
                    IMDbRating     = 5,
                    Description    = "fffffffffffffffffffff",
                    PosterFileName = $"film{ch}.jpg",
                    Duration       = TimeSpan.FromMinutes(90)
                };
                f.Countries.Add(country);

                var g = new Genre()
                {
                    Name = $"Genre {ch}"
                };

                a.AddFilm(f);
                f.AddActor(a);
                f.AddGenre(g);
                g.AddFilm(f);
                d.AddFilm(f);
                f.DirectorID = d.ID;

                context.Films.Add(f);
                context.Actors.Add(a);
                context.Genres.Add(g);
                context.Directors.Add(d);
            }

            context.SaveChanges();
            base.Seed(context);
        }
예제 #4
0
        private static void FillContainer(IUnityContainer container)
        {
            var daoDirector = container.Resolve <IDaoDirector>();
            var daoActor    = container.Resolve <IDaoActor>();
            var daoFilm     = container.Resolve <IDaoFilm>();
            var daoGenre    = container.Resolve <IDaoGenre>();
            var daoCountry  = container.Resolve <IDaoCountry>();

            var country = daoCountry.GetCountryByEnglishName("France");

            for (var i = 0; i < 10; i++)
            {
                var ch = Convert.ToChar(65 + i);

                var a = new Actor()
                {
                    Name          = ch.ToString() + "aaak",
                    Surname       = "Actor",
                    Birth         = DateTime.Now,
                    CountryId     = country.ID,
                    Gender        = Gender.NotIdentified,
                    PhotoFileName = $"actor{ch}.jpg",
                    Biography     = "aaaaaaaaaaaaaaaaaaaaaaa"
                };

                var d = new Director()
                {
                    Name          = ch.ToString(),
                    Surname       = "Director",
                    Birth         = DateTime.Now,
                    CountryId     = country.ID,
                    Gender        = Gender.NotIdentified,
                    PhotoFileName = $"director{ch}.jpg",
                    Biography     = "ddddddddddddddddddddddddd"
                };

                var f = new Film()
                {
                    Title          = $"film{ch}",
                    ReleaseDate    = DateTime.Now,
                    Countries      = new List <Country>(),
                    IMDbRating     = 5,
                    Description    = "fffffffffffffffffffff",
                    PosterFileName = $"film{ch}.jpg",
                    Duration       = TimeSpan.FromMinutes(90)
                };
                f.Countries.Add(country);

                var g = new Genre()
                {
                    Name = $"Genre {ch}"
                };

                a.AddFilm(f);
                f.AddActor(a);
                f.AddGenre(g);
                g.AddFilm(f);
                d.AddFilm(f);
                f.DirectorID = d.ID;

                daoFilm.Add(f);
                daoActor.Add(a);
                daoGenre.Add(g);
                daoDirector.Add(d);
            }
        }