[HttpGet("{messageId}")]                                   // GET ProjectToDoComments/1
        public IActionResult GetProjectToDoComment(long messageId) //Accepts from route parameters not JSON. You don't have to speficy [FromRoute], but you can..
        {
            ProjectTaskComment projectTaskComment = IProjectToDoCommentRepository.GetProjectToDoComment(messageId);

            if (projectTaskComment != null)
            {
                return(Ok(projectTaskComment));
            }
            return(NoContent());  // 404 resource not found, Microsoft docs use NotFound for this kind of behavior.
        }
        [HttpDelete("{messageId}")] // DELETE /ProjectToDoComments/1
        public IActionResult DeleteProjectToDoComment([FromRoute] long messageId)
        {
            ProjectTaskComment ptc = IProjectToDoCommentRepository.DeleteProjectToDoComment(messageId);

            if (ptc != null)
            {
                return(Ok(ptc)); // This is to inform our member.
            }
            return(NoContent()); // 404 resource not found, Microsoft docs use NotFound for this kind of behavior.
        }
        public ProjectTaskComment DeleteProjectToDoComment(long messageId)
        {
            ProjectTaskComment ptComment = context.ProjectTaskComment.Where(ptc => ptc.MessageId == messageId).FirstOrDefault();

            if (ptComment != null)
            {
                context.ProjectTaskComment.Remove(ptComment);
                context.SaveChanges();
            }
            return(ptComment);
        }
示例#4
0
        public async Task AddTaskComment(string userID, string taskID, string comment)
        {
            ProjectTaskComment newComment = new ProjectTaskComment
            {
                ProjectTaskID = taskID,
                UserID        = userID,
                Comment       = comment,
                DateTime      = DateTime.Now,
            };

            await GlobalConfig.MobileService.GetTable <ProjectTaskComment>().InsertAsync(newComment);
        }
        [HttpPost()]                                                                                 // POST /ProjectToDoComments + JSON Object
        public IActionResult NewProjectToDoComment([FromBody] ProjectTaskComment projectTaskComment) //Accepts JSON body, not x-www-form-urlencoded!
        {
            if (projectTaskComment == null)
            {
                return(BadRequest()); // 400 Bad Request
            }
            ReturnModel r = IProjectToDoCommentRepository.AddProjectToDoComment(projectTaskComment);

            if (r.ErrorCode == ErrorCodes.OK)
            {
                return(CreatedAtAction(nameof(GetProjectToDoComment), new { messageId = r.ReturnedId }, r.ReturnedId)); // 201 Created
            }
            return(new StatusCodeResult(StatusCodes.Status503ServiceUnavailable));                                      // 503 Service Unavailable Error.
        }
 public ReturnModel AddProjectToDoComment(ProjectTaskComment projectTaskComment)
 {
     try
     {
         context.ProjectTaskComment.Add(projectTaskComment);
         context.SaveChanges();
     }
     catch { return(new ReturnModel {
             ErrorCode = ErrorCodes.DatabaseError
         }); }
     return(new ReturnModel {
         ErrorCode = ErrorCodes.OK, ReturnedId = projectTaskComment.MessageId
     });                                                                                              // Autoset in DB
 }
示例#7
0
        public HttpResponseMessage Post(ProjectTaskComment model)
        {
            var task = db.ProjectTasks.FirstOrDefault(x => x.Id == model.TaskId & x.Project.Members.Select(z => z.Member.MainMember.MainMemberId).Contains(UserId));

            model.Id       = Guid.NewGuid();
            model.TaskId   = task.Id;
            model.DateTime = DateTime.Now;
            model.AuthorId = UserId;
            var r = ResponseObject2Json(model);

            db.ProjectTaskComments.Add(model);
            db.SaveChanges();

            return(r);
        }
示例#8
0
        public HttpResponseMessage Put(ProjectTaskComment model)
        {
            var r = ResponseObject2Json(model);

            var m = db.ProjectTaskComments.FirstOrDefault(x => x.Id == model.Id & x.AuthorId == UserId);

            m.History = String.Format("{0}[{1}]<br>{2}: {3}<br><br><br>",
                                      m.History,
                                      m.Updated
                                      , S.Comment, m.Comment);
            m.Comment = model.Comment;
            m.Updated = DateTime.Now;
            db.SaveChanges();

            return(r);
        }
示例#9
0
        public HttpResponseMessage PostComment(ProjectTaskComment model)
        {
            var task = db.ProjectTasks.FirstOrDefault(x => x.Id == model.TaskId & (x.Project.AuthorId == UserId | x.Project.Members.Select(z => z.Member.MainMemberId).Contains(UserId)));

            model.Id       = Guid.NewGuid();
            model.DateTime = DateTime.Now;
            model.AuthorId = UserId;
            model.TaskId   = task.Id;
            db.ProjectTaskComments.Add(model);
            db.SaveChanges();


            return(new HttpResponseMessage()
            {
                Content = new StringContent("", Encoding.UTF8, "application/json")
            });
        }
        [HttpPut("{messageId}")] // PUT ProjectToDoComments/3 + JSON Object
        public IActionResult UpdateProjectToDoComment([FromRoute] long messageId, [FromBody] ProjectTaskComment projectTaskComment)
        {
            if (projectTaskComment == null || messageId != projectTaskComment.MessageId)
            {
                return(BadRequest()); // 400 Bad Request
            }
            ReturnModel r = IProjectToDoCommentRepository.UpdateProjectToDoComment(projectTaskComment);

            if (r.ErrorCode == ErrorCodes.OK)
            {
                return(NoContent()); //204 No Content
            }
            else if (r.ErrorCode == ErrorCodes.ItemNotFoundError)
            {
                return(BadRequest());
            }
            return(new StatusCodeResult(StatusCodes.Status503ServiceUnavailable));  // 503 Service Unavailable Error.
        }
        public ReturnModel UpdateProjectToDoComment(ProjectTaskComment projectTaskComment)
        {
            if (projectTaskComment.MessageId == 0)
            {
                return new ReturnModel {
                           ErrorCode = ErrorCodes.ItemNotFoundError
                }
            }
            ;
            try
            {
                context.Entry(projectTaskComment).State = EntityState.Modified;

                context.SaveChanges();
            }
            catch { return(new ReturnModel {
                    ErrorCode = ErrorCodes.DatabaseError
                }); }
            return(new ReturnModel {
                ErrorCode = ErrorCodes.OK
            });
        }
    }
示例#12
0
 public async Task Delete(ProjectTaskComment item)
 {
     await GlobalConfig.MobileService.GetTable <ProjectTaskComment>().DeleteAsync(item);
 }
示例#13
0
 public async Task Add(ProjectTaskComment item)
 {
     await GlobalConfig.MobileService.GetTable <ProjectTaskComment>().InsertAsync(item);
 }
示例#14
0
 public async Task <ProjectTaskComment> Save(ProjectTaskComment projectTaskComment, bool saveChanges, CancellationToken cancellationToken)
 {
     return(await _projectTaskCommentRepository
            .SaveChanges(projectTaskComment, saveChanges, true, cancellationToken));
 }