예제 #1
0
        public ActionResult AddContent(HttpPostedFileBase[] fileBase, String text, String title, String tags, int ContentId=-1)
        {
            Content content;
            if (ContentId != -1)
            {
                content = db.Contents.Where(c => c.ID_CO == ContentId).Single();
                content.CONTENT_TEXT = text;
                content.CONTENT_TITLE = title;
                TagsInContent[] tic = db.TagsInContents.Where(t => t.ID_CO == ContentId).ToArray();
                foreach (TagsInContent t in tic)
                {
                    db.TagsInContents.Remove(t);
                }
                db.SaveChanges();
            }
            else
            {
                if (fileBase.Length > 0)
                    content = new Content(getUserId(), text, title, 0);
                else
                    content = new Content(getUserId(), text, title, 1);
                db.Contents.Add(content);
                db.SaveChanges();
            }
            String[] _tags = tags.Split(',');
            // Проверка существует ли данный тег, если нет - то добавить
            for (int i = 0; i < _tags.Length;i++ )
            {
                try
                {
                    String tagName = _tags[i];
                    Tag tag = db.Tags.Where(t => t.name == tagName).Single();
                    TagsInContent tic = new TagsInContent(content.ID_CO, tag.id);

                    db.TagsInContents.Add(tic);
                    db.SaveChanges();
                }

                catch(Exception) // Не существует
                {
                    Tag tag = new Tag(_tags[i]);
                    db.Tags.Add(tag);
                    db.SaveChanges();
                    TagsInContent tic = new TagsInContent(content.ID_CO, tag.id);
                    db.TagsInContents.Add(tic);
                    db.SaveChanges();
                }
            }

            for (int i = 0; i < fileBase.Length; i++)
            {
                PostImage(fileBase[i], content.ID_CO);
            }
            return RedirectToAction("Index", new { contentId = content.ID_CO });
        }
 public ActionResult PostContent(HttpPostedFileBase[] fileBase, String text, String title)
 {
     Content content = new Content(getUserId(), text, title);
     db.Contents.Add(content);
     db.SaveChanges();
     for (int i = 0; i < fileBase.Length;i++ )
     {
         PostImage(fileBase[i], content.ID_CO);
     }
     return RedirectToAction("Index");
 }