public ActionResult Create(Gallery gallery, IEnumerable <HttpPostedFileBase> imageBase) { gallery.Title = gallery.Title; gallery.Owner = User.Identity.GetUserName(); gallery.Date = DateTime.Now; var factory = DependencyResolver.Current.GetService <IControllerFactory>() ?? new DefaultControllerFactory(); ImageController imageController = factory.CreateController(this.ControllerContext.RequestContext, "Image") as ImageController; RouteData route = new RouteData(); route.Values.Add("action", "Test"); ControllerContext imageContext = new ControllerContext(new HttpContextWrapper(System.Web.HttpContext.Current), route, imageController); //Speichere Image in Datenbank imageController.ControllerContext = imageContext; imageController.Create(imageBase); //Nehme das Image aus der Datenbank anhand des Namens und Rufe die View Create mit dem Image aus der Datenbank auf. var fileName = Path.GetFileName(imageBase.First().FileName); var dbImage = _context.Image.SingleOrDefault(n => n.Name == fileName); gallery.TitelImage = dbImage; _context.Gallery.Add(gallery); _context.SaveChanges(); return(RedirectToAction("Index", "Gallery")); }
public ActionResult Save(NewsFeed newsFeed, IEnumerable <HttpPostedFileBase> imageBase) { //Pruefe ob die Eingaben Valide sind, falls nicht wiederhole bis richtig if (!ModelState.IsValid) { var viewModel = new NewsFeedFormViewModel { NewsFeed = newsFeed, TitleImage = newsFeed.TitelImage }; return(View("Save", viewModel)); } //Wenn NewsFeed nicht in der Datenbank ist, erstelle neuen, ansonsten uebernehme neue Daten if (newsFeed.Id == 0) { Add(newsFeed, imageBase); } else { //Gibt datenbankobject var newsInDb = _context.NewsFeed.Single(n => n.Id == newsFeed.Id); //Vom System vorgegeben newsInDb.Date = DateTime.Now; newsInDb.Edited = true; newsInDb.Moderator = User.Identity.GetUserName(); //Frei waehlbar newsInDb.Titel = newsFeed.Titel; newsInDb.Text = newsFeed.Text; // Hier fuehren wir eine Context uebertrageung an einen anderen Controller durch var factory = DependencyResolver.Current.GetService <IControllerFactory>() ?? new DefaultControllerFactory(); ImageController imageController = factory.CreateController(this.ControllerContext.RequestContext, "Image") as ImageController; RouteData route = new RouteData(); route.Values.Add("action", "Test"); ControllerContext imageContext = new ControllerContext(new HttpContextWrapper(System.Web.HttpContext.Current), route, imageController); //Speichere Image in Datenbank imageController.ControllerContext = imageContext; imageController.Create(imageBase); //Nehme das Image aus der Datenbank anhand des Namens und Rufe die View Create mit dem Image aus der Datenbank auf. var fileName = Path.GetFileName(imageBase.First().FileName); var dbImage = _context.Image.SingleOrDefault(n => n.Name == fileName); newsFeed.TitelImage = dbImage; _context.NewsFeed.Add(newsFeed); _context.SaveChanges(); } return(RedirectToAction("Index", "NewsFeed")); }