[HttpDelete("{messageId}")] // DELETE /PrivateTalkMessages/1 public IActionResult DeletePrivateTalkMessage([FromRoute] long messageId) { PrivateTalkMessage ptm = IPrivateTalkMessageRepository.DeletePrivateTalkMessage(messageId); if (ptm != null) { return(Ok(ptm)); // This is to inform our member. } return(NoContent()); // 404 resource not found, Microsoft docs use NotFound for this kind of behavior. }
[HttpGet("{messageId}")] // GET PrivateTalkMessages/1 public IActionResult GetPrivateTalkMessage(long messageId) //Accepts from route parameters not JSON. You don't have to speficy [FromRoute], but you can.. { PrivateTalkMessage privateTalkMessage = IPrivateTalkMessageRepository.GetPrivateTalkMessage(messageId); if (privateTalkMessage != null) { return(Ok(privateTalkMessage)); } return(NoContent()); // 404 resource not found, Microsoft docs use NotFound for this kind of behavior. }
public PrivateTalkMessage DeletePrivateTalkMessage(long messageId) // Return -1 for any errors otherwise 0 { PrivateTalkMessage ptMessage = context.PrivateTalkMessage.Where(ptm => ptm.MessageId == messageId).FirstOrDefault(); if (ptMessage != null) { context.PrivateTalkMessage.Remove(ptMessage); context.SaveChanges(); } return(ptMessage); }
public ReturnModel AddPrivateTalkMessage(PrivateTalkMessage privateTalkMessage) // Return -1 for any errors otherwise 0 { try { context.PrivateTalkMessage.Add(privateTalkMessage); context.SaveChanges(); } catch { return(new ReturnModel { ErrorCode = ErrorCodes.DatabaseError }); } return(new ReturnModel { ErrorCode = ErrorCodes.OK, ReturnedId = privateTalkMessage.MessageId }); // Return TaskId(autoset from identity) }
[HttpPost()] // POST /PrivateTalkMessages + JSON Object public IActionResult NewPrivateTalkMessage([FromBody] PrivateTalkMessage privateTalkMessage) //Accepts JSON body, not x-www-form-urlencoded! { if (privateTalkMessage == null) { return(BadRequest()); // 400 Bad Request } var member = User.Identity.Name; // For security. From Claim(ClaimTypes.Name, Username) in JWT if (member == null) { return(Unauthorized()); } privateTalkMessage.Sender = member; ReturnModel r = IPrivateTalkMessageRepository.AddPrivateTalkMessage(privateTalkMessage); if (r.ErrorCode == ErrorCodes.OK) { return(CreatedAtAction(nameof(GetPrivateTalkMessage), new { messageId = r.ReturnedId }, r.ReturnedId)); // 201 Created } return(new StatusCodeResult(StatusCodes.Status503ServiceUnavailable)); // 503 Service Unavailable Error. }