Esempio n. 1
0
        private void CreateDirector_Clicked(object sender, RoutedEventArgs e)
        {
            DirectorInput dirInput = new DirectorInput();

            dirInput.Subscribe(this);
            dirInput.Show();
        }
        public ActionResult DoCreate(HttpPostedFileBase file, DirectorInput input)
        {
            var director = input.CreateDirector(file, CountriesDao, FilmsDao);

            DirectorsDao.Add(director);

            return(RedirectToAction("Index"));
        }
        public ActionResult DoEdit(Guid id, HttpPostedFileBase file, DirectorInput newView)
        {
            var data = DirectorsDao.GetDirectorAndFilms(id);

            newView.CopyToData(data, file, CountriesDao, FilmsDao);
            DirectorsDao.Update(data);

            return(RedirectToAction("Index"));
        }
        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);
        }
Esempio n. 5
0
        public void OnEdit_Clicked(object sender, RoutedEventArgs e)
        {
            currentOperation = Operations.EDIT;
            if (currentState == States.NONE)
            {
                return;
            }
            switch (currentState)
            {
            case States.FILMS:
                Film film = new Film(
                    Int32.Parse(((DataRowView)DataGrid.SelectedItem).Row["fid"].ToString()),
                    ((DataRowView)DataGrid.SelectedItem).Row["title"].ToString(),
                    Int32.Parse(((DataRowView)DataGrid.SelectedItem).Row["budget"].ToString()),
                    ((DataRowView)DataGrid.SelectedItem).Row["script"].ToString(),
                    Int32.Parse(((DataRowView)DataGrid.SelectedItem).Row["did"].ToString())
                    );
                FilmInput filmInput = new FilmInput(film);
                filmInput.Subscribe(this);
                filmInput.Show();
                break;

            case States.ACTORS:
                Actor actor = new Actor(
                    Int32.Parse(((DataRowView)DataGrid.SelectedItem).Row["aid"].ToString()),
                    ((DataRowView)DataGrid.SelectedItem).Row["firstname"].ToString(),
                    ((DataRowView)DataGrid.SelectedItem).Row["secondname"].ToString(),
                    Int32.Parse(((DataRowView)DataGrid.SelectedItem).Row["experience"].ToString())
                    );
                ActorInput actorInput = new ActorInput(actor);
                actorInput.Subscribe(this);
                actorInput.Show();
                break;

            case States.DIRECTORS:
                Director director = new Director(
                    Int32.Parse(((DataRowView)DataGrid.SelectedItem).Row["did"].ToString()),
                    ((DataRowView)DataGrid.SelectedItem).Row["firstname"].ToString(),
                    ((DataRowView)DataGrid.SelectedItem).Row["secondname"].ToString(),
                    ((DataRowView)DataGrid.SelectedItem).Row["isCertified"].ToString().ToLower()
                    );
                DirectorInput directorInput = new DirectorInput(director);
                directorInput.Subscribe(this);
                directorInput.Show();
                break;
            }
        }
        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());
                }
            }
        }