public IActionResult Create(ContentUploadVM ContentUploadVM, IFormFile file)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (file != null)
            {
                using (Stream stream = file.OpenReadStream())
                {
                    using (BinaryReader br = new BinaryReader(stream))
                    {
                        var fileContent = br.ReadBytes((int)file.Length);
                        ContentUploadVM.Image = SaveFileHelper.SaveFileToDisk(_env, fileContent, file.FileName, file.ContentType);
                    }
                }
            }


            Content _newContent = Mapper.Map <Content>(ContentUploadVM);

            _contentRepository.Add(_newContent);
            _contentRepository.SaveChanges();

            CreatedAtRouteResult result = CreatedAtRoute("GetContent", new { controller = "Content", id = ContentUploadVM.Id }, ContentUploadVM);

            return(result);
        }
 public ViewResult Create(ContentCategory item)
 {
     _Repo.Add(item);
     _Repo.SaveChange();
     ViewData["Title"] = "Create a new portal";
     return(View(_Repo.Create()));
 }
        /// <summary>
        /// Create Content
        /// </summary>
        /// <param name="contentViewModel"></param>
        /// <returns></returns>
        public void CreateContent(ContentViewModel contentViewModel)
        {
            var content = contentViewModel.ConvertToContentModel();

            content.CreationTime = DateTime.Now;
            _contentRepository.Add(content);
            _contentRepository.SaveChanges();
        }
        public void Add(SaveContentMessage message)
        {
            var content    = new Content();
            var attachment = new Attachment();

            attachment.Name    = message.FileName;
            attachment.File    = message.File;
            content.Attachment = attachment;

            _contentRepository.Add(content);
            _contentRepository.SaveChanges();
        }
        public Content Add(Content _model)
        {
            _Repository.Add(_model);
            LogAction entity = new LogAction();

            entity.action     = "Thêm mới nội dung: <a href=\"" + _model.alias + "\" target=\"_blank\">" + _model.name + "</a>";
            entity.browser    = "";
            entity.ipAddress  = "";
            entity.userAction = _model.createUser;
            entity.createTime = DateTime.Now;
            _RepositoryLogAction.Add(entity);
            return(_model);
        }
Exemple #6
0
        public async Task <string> CreateContent(ContentModel content)
        {
            var key = await keyService.GetUniqueKey();

            if (key == null)
            {
                throw new InvalidOperationException("Cannot generate unique key");
            }
            var dbItem = new Content
            {
                Key      = key,
                Text     = content.Text,
                ExpireAt = content.ExpireAt.HasValue ? content.ExpireAt.Value.ToString("s") : null
            };
            await contentRepository.Add(dbItem);

            return(key);
        }
        public void TestFooterIsUpdatedCorrectlyFromDatabase()
        {
            User user = new User
            {
                UserName      = "******",
                Password      = "******",
                Name          = "name",
                LastName      = "lastname",
                Email         = Guid.NewGuid().ToString(),
                Administrator = true
            };

            UserRepository.Add(user);

            StyleClass StyleClassF1 = new StyleClass
            {
                Name    = "StyleClassF1",
                BasedOn = null
            };

            StyleClassRepository.Add(StyleClassF1);

            Document document = new Document
            {
                Id               = Guid.NewGuid(),
                Title            = "title1",
                Creator          = user,
                CreationDate     = DateTime.Now,
                LastModification = DateTime.Now,
                StyleClass       = StyleClassF1
            };

            DocumentRepository.Add(document);

            Content content = new Content
            {
                Id = Guid.NewGuid(),
            };

            ContentRepository.Add(content);

            Footer footer = new Footer
            {
                Id                  = Guid.NewGuid(),
                Content             = content,
                DocumentThatBelongs = document,
                StyleClass          = StyleClassF1
            };

            FooterRepository.Add(footer);

            Footer updatedFooter = new Footer
            {
                Id                  = footer.Id,
                Content             = content,
                DocumentThatBelongs = document,
                StyleClass          = null
            };

            FooterRepository.Update(updatedFooter);

            Footer fromDatabase = FooterRepository.GetById(updatedFooter.Id);

            StyleClassRepository.Delete(StyleClassF1.Name);
            DocumentRepository.Delete(document.Id);
            UserRepository.Delete(user.Email);
            ContentRepository.Delete(content);

            Assert.AreEqual(updatedFooter.Id, fromDatabase.Id);
            Assert.AreEqual(updatedFooter.Content.Id, fromDatabase.Content.Id);
            Assert.IsNull(updatedFooter.StyleClass);
            Assert.AreEqual(updatedFooter.DocumentThatBelongs.Id, fromDatabase.DocumentThatBelongs.Id);
        }
        /// <summary>
        /// Creates the new content in Layerscape with the given details passed in ContentsView instance.
        /// </summary>
        /// <param name="contentDetails">Details of the content</param>
        /// <returns>Id of the content created. Returns -1 is creation is failed.</returns>
        public long CreateContent(ContentDetails contentDetails)
        {
            // Make sure content is not null
            this.CheckNotNull(() => new { contentDetails });

            long contentId = -1;

            var userRole = GetCommunityUserRole(contentDetails.ParentID, contentDetails.CreatedByID);

            if (!CanCreateContent(userRole))
            {
                // TODO: Throw custom permissions exception which will be shown to user in error page.
                throw new HttpException(401, Resources.NoPermissionCreateContentMessage);
            }

            // Upload content data, thumbnail, video and associated file to azure.
            // Since the associated files are already stored in the Temporary container.
            // We need to move the files to actual container.
            if (UploadFilesToAzure(contentDetails))
            {
                if (MoveAssociatedFiles(contentDetails))
                {
                    try
                    {
                        // Create a new instance of content details
                        var content = new Content();

                        // Set values from content details.
                        content.SetValuesFrom(contentDetails);

                        // Set the thumbnail ID.
                        content.ThumbnailID = MoveThumbnail(contentDetails.Thumbnail);

                        // Set Created and modified time.
                        content.CreatedDatetime = content.ModifiedDatetime = DateTime.UtcNow;

                        // Set Created and modified IDs.
                        content.ModifiedByID = contentDetails.CreatedByID;
                        content.CreatedByID  = contentDetails.CreatedByID;

                        // Set Default Values.
                        content.IsDeleted     = false;
                        content.IsSearchable  = true;
                        content.IsOffensive   = false;
                        content.DownloadCount = 0;

                        var parentCommunity = _communityRepository.GetItem(c => c.CommunityID == contentDetails.ParentID);
                        if (parentCommunity != null)
                        {
                            parentCommunity.ModifiedByID     = contentDetails.CreatedByID;
                            parentCommunity.ModifiedDatetime = DateTime.UtcNow;

                            // Updated Parent child relationship
                            var comCont = new CommunityContents()
                            {
                                Community = parentCommunity,
                                Content   = content
                            };

                            // Add the relationship
                            content.CommunityContents.Add(comCont);
                        }

                        // Update video file details in database.
                        CreateVideo(content, contentDetails);

                        // Update associated files details in database.
                        CreateAssociateContents(content, contentDetails);

                        // Update Tags.
                        SetContentTags(contentDetails.Tags, content);

                        //// TODO: Update Permissions Details.
                        //// TODO: Update Consumed size of the user. If the size is more than allowed throw error.

                        _contentRepository.Add(content);

                        // Save changes to the database
                        _contentRepository.SaveChanges();

                        // Get the content ID from database. We need to retrieve it from the database as it is a identity column.
                        contentId = content.ContentID;
                    }
                    catch (Exception)
                    {
                        // Delete Uploaded Content/Video/Thumbnail
                        // Note:- Deleting associated files as will be handled by a worker role
                        //  which will delete temporary file from container.
                        DeleteUploadedFiles(contentDetails);
                        throw;
                    }
                }
                else
                {
                    // Delete Uploaded Content/Video/Thumbnail
                    // Note:- Deleting associated files as will be handled by a worker role
                    //  which will delete temporary file from container.
                    DeleteUploadedFiles(contentDetails);
                }
            }
            return(contentId);
        }
Exemple #9
0
 public Content Add(Content _model)
 {
     return(_Repository.Add(_model));
 }
 public void AddNegativeWord(string word)
 {
     _negRep.Add(word);
 }
        public void TestParagraphIsUpdatedCorrectlyFromDatabase()
        {
            User userP1 = new User
            {
                UserName      = "******",
                Password      = "******",
                Name          = "nameP1",
                LastName      = "lastnameP1",
                Email         = "emailP1",
                Administrator = true
            };

            UserRepository.Add(userP1);

            StyleClass StyleClassP1 = new StyleClass
            {
                Name    = "StyleClassP1",
                BasedOn = null
            };

            StyleClassRepository.Add(StyleClassP1);

            StyleClass StyleClassP2 = new StyleClass
            {
                Name    = "StyleClassP2",
                BasedOn = null
            };

            StyleClassRepository.Add(StyleClassP2);

            Document document = new Document
            {
                Id               = Guid.NewGuid(),
                Title            = "title1",
                Creator          = userP1,
                CreationDate     = DateTime.Now,
                LastModification = DateTime.Now,
                StyleClass       = StyleClassP1
            };

            DocumentRepository.Add(document);

            Content content = new Content
            {
                Id = Guid.NewGuid(),
            };

            ContentRepository.Add(content);

            Paragraph paragraph1 = new Paragraph
            {
                Id                  = Guid.NewGuid(),
                Content             = content,
                DocumentThatBelongs = document,
                StyleClass          = StyleClassP1,
                Position            = 0
            };

            ParagraphRepository.Add(paragraph1);

            Paragraph updatedParagraph = new Paragraph
            {
                Id                  = paragraph1.Id,
                Content             = content,
                DocumentThatBelongs = document,
                StyleClass          = StyleClassP2,
                Position            = 1
            };

            ParagraphRepository.Update(updatedParagraph);

            Paragraph fromDatabase = ParagraphRepository.GetById(updatedParagraph.Id);

            StyleClassRepository.Delete(StyleClassP1.Name);
            StyleClassRepository.Delete(StyleClassP2.Name);
            DocumentRepository.Delete(document.Id);
            UserRepository.Delete(userP1.Email);
            ContentRepository.Delete(content);

            Assert.AreEqual(updatedParagraph.Id, fromDatabase.Id);
            Assert.AreEqual(updatedParagraph.Content.Id, fromDatabase.Content.Id);
            Assert.AreEqual(updatedParagraph.StyleClass.Name, fromDatabase.StyleClass.Name);
            Assert.AreEqual(updatedParagraph.DocumentThatBelongs.Id, fromDatabase.DocumentThatBelongs.Id);
            Assert.AreEqual(updatedParagraph.Position, fromDatabase.Position);
        }
Exemple #12
0
        public void TestHeaderIsUpdatedCorrectlyFromDatabase()
        {
            User userH1 = new User
            {
                UserName      = "******",
                Password      = "******",
                Name          = "nameH1",
                LastName      = "lastnameH1",
                Email         = "emailH1",
                Administrator = true
            };

            UserRepository.Add(userH1);

            StyleClass StyleClassH1 = new StyleClass
            {
                Name    = "StyleClassH1",
                BasedOn = null
            };

            StyleClassRepository.Add(StyleClassH1);

            StyleClass StyleClassH2 = new StyleClass
            {
                Name    = "StyleClassH2",
                BasedOn = null
            };

            StyleClassRepository.Add(StyleClassH2);

            Document document = new Document
            {
                Id               = Guid.NewGuid(),
                Title            = "title1",
                Creator          = userH1,
                CreationDate     = DateTime.Now,
                LastModification = DateTime.Now,
                StyleClass       = StyleClassH1
            };

            DocumentRepository.Add(document);

            Content content = new Content
            {
                Id = Guid.NewGuid(),
            };

            ContentRepository.Add(content);

            Header header = new Header
            {
                Id                  = Guid.NewGuid(),
                Content             = content,
                DocumentThatBelongs = document,
                StyleClass          = StyleClassH1
            };

            HeaderRepository.Add(header);

            Header updatedHeader = new Header
            {
                Id                  = header.Id,
                Content             = content,
                DocumentThatBelongs = document,
                StyleClass          = StyleClassH2
            };

            HeaderRepository.Update(updatedHeader);

            Header fromDatabase = HeaderRepository.GetById(updatedHeader.Id);

            StyleClassRepository.Delete(StyleClassH1.Name);
            StyleClassRepository.Delete(StyleClassH2.Name);
            DocumentRepository.Delete(document.Id);
            UserRepository.Delete(userH1.Email);
            ContentRepository.Delete(content);

            Assert.AreEqual(updatedHeader.Id, fromDatabase.Id);
            Assert.AreEqual(updatedHeader.Content.Id, fromDatabase.Content.Id);
            Assert.AreEqual(updatedHeader.StyleClass.Name, fromDatabase.StyleClass.Name);
            Assert.AreEqual(updatedHeader.DocumentThatBelongs.Id, fromDatabase.DocumentThatBelongs.Id);
        }