Example #1
0
        public EntityResult CreateAttachment(int topicId, int userId, AttatchmentFormModel model)
        {
            try
            {
                DbContext.Topics.Include(t => t.TopicUsers).Single(t => t.Id == topicId);
            }
            catch (InvalidOperationException)
            {
                return(EntityResult.Error("Unknown Topic"));
            }

            try
            {
                var attatchment = new TopicAttatchment(model)
                {
                    UserId  = userId,
                    TopicId = topicId,
                    Type    = "TODO"
                };

                DbContext.TopicAttatchments.Add(attatchment);
                DbContext.SaveChanges();

                return(EntityResult.Successfull(attatchment.Id));
            }
            catch (Exception e)
            {
                return(EntityResult.Error(e.Message));
            }
        }
        public IActionResult PostAttachment([FromRoute] int topicId, [FromBody] AttatchmentFormModel model)
        {
            if (!_topicPermissions.IsAssociatedTo(User.Identity.GetUserId(), topicId))
            {
                return(Forbidden());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = _attachmentsManager.CreateAttachment(topicId, User.Identity.GetUserId(), model);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(InternalServerError(result));
        }
 public TopicAttatchment(AttatchmentFormModel model)
 {
     Name        = model.AttatchmentName;
     Description = model.Description;
 }