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); }
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()); } } }