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");
        }
Example #2
0
        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");
        }
Example #3
0
        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");
        }