public ActionResult Add([Bind(Include = "Title,ValidFrom,Content,Published")]Article performance, int selectedPhotoId) { if (string.IsNullOrEmpty(performance.Title) || !performance.ValidFrom.HasValue) { ModelState.AddModelError("", "Místo a datum jsou povinné položky"); TempData["SelectedPhotoId"] = selectedPhotoId; return View(performance); } Database.Entry(performance).State = System.Data.Entity.EntityState.Added; performance.CreateDate = DateTime.Now; performance.CreatedBy = UserProvider.GetCurrentUser(false); performance.ArticleType = ArticleType.Performance; performance.Published = true; if (selectedPhotoId != 0) { var articleMedia = new ArticleMedia() { ArticleId = performance.Id, MediaItemId = selectedPhotoId }; Database.ArticleMedias.Add(articleMedia); } Database.SaveChanges(); return RedirectToAction("Index"); }
public ActionResult Add([Bind(Include = "ID, Title, Content, Published")]Article article, string listOfPictures, string album) { if (String.IsNullOrEmpty(article.Title)) article.Title = "---"; bool isNewAlbum = article.Id == 0; if (isNewAlbum) { article.CreateDate = DateTime.Now; article.CreatedById = UserProvider.GetCurrentUser(false).Id; article.ArticleType = ArticleType.PhotoAlbum; Database.Entry(article).State = EntityState.Added; Database.Articles.Add(article); } else { Database.Configuration.ValidateOnSaveEnabled = false; Database.Articles.Attach(article); Database.Entry(article).Property(a => a.Title).IsModified = true; Database.Entry(article).Property(a => a.Content).IsModified = true; Database.Entry(article).Property(a => a.Published).IsModified = true; Database.SaveChanges(); Database.Configuration.ValidateOnSaveEnabled = true; } string[] picturesId = listOfPictures.Split(';'); foreach (var pictureId in picturesId) { if(String.IsNullOrEmpty(pictureId)) continue; var articleMedia = new ArticleMedia() { ArticleId = article.Id, MediaItemId = int.Parse(pictureId), Thumbnail = false, Description = String.Empty, Title = String.Empty }; Database.Entry(articleMedia).State = EntityState.Added; Database.ArticleMedias.Add(articleMedia); } Database.SaveChanges(); return RedirectToAction("Index"); }
public ActionResult Edit([Bind(Include = "ID,Title,Content,Published,Preface")]Article article, int selectedPhotoId) { if (string.IsNullOrEmpty(article.Title)) { ModelState.AddModelError("Title", "Není vyplněn nadpis článku"); return View("Edit", article); } bool isNew = article.Id == 0; if (isNew) { article.CreateDate = DateTime.Now; article.CreatedBy = UserProvider.GetCurrentUser(false); article.ArticleType = ArticleType.PublicArticle; Database.Entry(article).State = EntityState.Added; } else { Database.Entry(article).State = EntityState.Modified; Database.Entry(article).Property(p => p.CreateDate).IsModified = false; Database.Entry(article).Property(p => p.CreatedById).IsModified = false; Database.Entry(article).Property(p => p.ArticleType).IsModified = false; } if (selectedPhotoId != 0) { var articleMedia = Database.ArticleMedias.FirstOrDefault(a => a.ArticleId == article.Id); if (articleMedia == null) { articleMedia = new ArticleMedia(); Database.ArticleMedias.Add(articleMedia); } articleMedia.ArticleId = article.Id; articleMedia.MediaItemId = selectedPhotoId; } Database.SaveChanges(); return RedirectToAction("Index"); }