コード例 #1
0
        [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.
        }
コード例 #2
0
        [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.
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 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)
 }
コード例 #5
0
        [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.
        }