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; }