public IHttpActionResult Post(NewsCreateModel news)
        {
            bool isAdmin = this.User.IsInRole(DataModelConstants.AdminRole);

            if (news != null && this.ModelState.IsValid && isAdmin)
            {
                var databaseNews = new News {
                    Content   = news.Content,
                    Title     = news.Title,
                    CreatedOn = DateTime.Now
                };

                context.News.Add(databaseNews);
                context.SaveChanges();

                return(Ok(new
                {
                    id = databaseNews.Id,
                    content = databaseNews.Content,
                    title = databaseNews.Title,
                    createdOn = databaseNews.CreatedOn,
                }));
            }
            else
            {
                return(this.BadRequest(this.ModelState));
            }
        }
 public ActionResult Create([Bind(Include = "Title,Text,File")] NewsCreateModel model)
 {
     if (ModelState.IsValid)
     {
         News news = new News {
             Title    = model.Title,
             Text     = model.Text,
             Created  = DateTime.Now,
             Modified = DateTime.Now
         };
         if (model.File != null && model.File.ContentLength > 0)
         {
             var fileExtension = Path.GetExtension(model.File.FileName);
             var fileName      = Path.GetFileNameWithoutExtension(model.File.FileName) + "-" +
                                 DateTime.Now.ToString("yyyyMMdd_HHmmssfff") + fileExtension;
             var path = Path.Combine(Server.MapPath("~/Img/news"), fileName);
             model.File.SaveAs(path);
             news.PicturePath = "/Img/news/" + fileName;
         }
         db.news.Add(news);
         db.SaveChanges();
         TempData["AlertMessage"] = "The News has created succesfully";
         return(RedirectToAction("List"));
     }
     TempData["AlertMessage"] = "Something gone wrong. Try again please!";
     return(RedirectToAction("List"));
 }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> Create(NewsCreateModel createModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            //if (!_permissionsService.Check(new PermissionSettingIdentity(PermissionActionEnum.Create,
            //    PermissionResourceTypeEnum.News)))
            if (!await _newsService.CanCreateAsync(createModel.GroupId))
            {
                return(StatusCode(HttpStatusCode.Forbidden));
            }

            var newsBaseCreateModel = await MapToNewsAsync(createModel);

            var activityId = await _newsService.CreateAsync(newsBaseCreateModel);

            await OnNewsCreatedAsync(activityId, createModel);

            var newsViewModel = await GetViewModelAsync(_newsService.Get(activityId));

            ReloadFeed();
            return(Ok(newsViewModel.Links.Details));
        }
Ejemplo n.º 4
0
 public void Create(string createdBy, NewsCreateModel newsCreateModel)
 {
     _repository.CreateNews(
         News.CreateNews(
             newsCreateModel.Title,
             newsCreateModel.Description,
             createdBy
             )
         );
 }
Ejemplo n.º 5
0
        public IActionResult CreateNews(string createdBy, [Bind("Title, Description")] NewsCreateModel newsCreateModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(newsCreateModel));
            }

            _service.Create(createdBy, newsCreateModel);

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 6
0
        protected virtual NewsBase MapToNews(NewsCreateModel createModel)
        {
            var news = createModel.Map <NewsBase>();

            news.MediaIds      = news.MediaIds.Concat(_mediaHelper.CreateMedia(createModel));
            news.PublishDate   = createModel.PublishDate.ToUniversalTime();
            news.UnpublishDate = createModel.UnpublishDate?.ToUniversalTime();
            news.EndPinDate    = createModel.EndPinDate?.ToUniversalTime();
            news.CreatorId     = _intranetUserService.GetCurrentUserId();

            return(news);
        }
Ejemplo n.º 7
0
        protected virtual NewsCreateModel GetCreateModel(IActivityCreateLinks links)
        {
            var mediaSettings = _newsService.GetMediaSettings();
            var model         = new NewsCreateModel
            {
                PublishDate  = DateTime.UtcNow,
                OwnerId      = _intranetUserService.GetCurrentUser().Id,
                ActivityType = _activityTypeProvider[ActivityTypeId],
                Links        = links,
                MediaRootId  = mediaSettings.MediaRootId
            };

            return(model);
        }
Ejemplo n.º 8
0
        protected override void OnNewsCreated(Guid activityId, NewsCreateModel model)
        {
            var news    = _newsService.Get(activityId);
            var groupId = Request.QueryString.GetGroupIdOrNone();

            groupId.IfSome(id => _groupActivityService.AddRelation(id, activityId));

            if (model is NewsExtendedCreateModel extendedModel)
            {
                _activityTagsHelper.ReplaceTags(activityId, extendedModel.TagIdsData);
            }

            ResolveMentions(model.Description, news);
        }
Ejemplo n.º 9
0
        public virtual ActionResult Create(NewsCreateModel createModel)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToCurrentUmbracoPage(Request.QueryString));
            }
            var newsBaseCreateModel = MapToNews(createModel);
            var activityId          = _newsService.Create(newsBaseCreateModel);

            OnNewsCreated(activityId, createModel);

            string redirectUri = _activityLinkService.GetLinks(activityId).Details;

            return(Redirect(redirectUri));
        }
Ejemplo n.º 10
0
        protected override void OnNewsCreated(Guid activityId, NewsCreateModel model)
        {
            var groupId = Request.QueryString.GetGroupId();

            if (groupId.HasValue)
            {
                _groupActivityService.AddRelation(groupId.Value, activityId);
                var news = _newsService.Get(activityId);
                news.GroupId = groupId;
            }
            if (model is NewsExtendedCreateModel extendedModel)
            {
                _activityTagsHelper.ReplaceTags(activityId, extendedModel.TagIdsData);
            }
        }
Ejemplo n.º 11
0
        private async Task OnNewsCreatedAsync(Guid activityId, NewsCreateModel model)
        {
            var news = _newsService.Get(activityId);

            if (model.GroupId.HasValue)
            {
                await _groupActivityService.AddRelationAsync(model.GroupId.Value, activityId);

                news.GroupId = model.GroupId.Value;
            }

            await _activityTagsHelper.ReplaceTagsAsync(activityId, model.TagIdsData);

            await ResolveMentionsAsync(model.Description, news);
        }
Ejemplo n.º 12
0
        public void Create_WhenCalled_ExpectedToCreateNews()
        {
            //Arrange
            var sut             = CreateSut();
            var newsCreateModel = new NewsCreateModel
            {
                Title       = "for tests",
                Description = "Sure!"
            };

            //Act
            sut.Create("A user made for testing!", newsCreateModel);

            //Assert
            Assert.AreEqual(Mock.Newses.Count, 6);
        }
Ejemplo n.º 13
0
        private async Task <NewsBase> MapToNewsAsync(NewsCreateModel createModel)
        {
            var news = createModel.Map <NewsBase>();

            news.MediaIds      = news.MediaIds.Concat(_mediaHelper.CreateMedia(createModel, MediaFolderTypeEnum.NewsContent));
            news.PublishDate   = createModel.PublishDate.ToUniversalTime().WithCorrectedDaylightSavingTime(createModel.PublishDate);
            news.UnpublishDate = createModel.UnpublishDate?.ToUniversalTime().WithCorrectedDaylightSavingTime(createModel.UnpublishDate.Value);
            news.EndPinDate    = createModel.EndPinDate?.ToUniversalTime().WithCorrectedDaylightSavingTime(createModel.EndPinDate.Value);
            news.CreatorId     = await _intranetMemberService.GetCurrentMemberIdAsync();

            if (await IsPinAllowedAsync())
            {
                news.IsPinned = createModel.IsPinned;
            }

            return(news);
        }
Ejemplo n.º 14
0
        protected virtual NewsBase MapToNews(NewsCreateModel createModel)
        {
            var news = createModel.Map <NewsBase>();

            news.MediaIds      = news.MediaIds.Concat(_mediaHelper.CreateMedia(createModel));
            news.PublishDate   = createModel.PublishDate.ToUniversalTime().WithCorrectedDaylightSavingTime(createModel.PublishDate);
            news.UnpublishDate = createModel.UnpublishDate?.ToUniversalTime().WithCorrectedDaylightSavingTime(createModel.UnpublishDate.Value);
            news.EndPinDate    = createModel.EndPinDate?.ToUniversalTime().WithCorrectedDaylightSavingTime(createModel.EndPinDate.Value);
            news.CreatorId     = _intranetMemberService.GetCurrentMemberId();

            if (!IsPinAllowed())
            {
                news.IsPinned   = false;
                news.EndPinDate = null;
            }

            return(news);
        }
Ejemplo n.º 15
0
 protected virtual void OnNewsCreated(Guid activityId, NewsCreateModel model)
 {
 }