[HttpPost("PrivateTalkLastSeen")] // POST /PrivateTalks/PrivateTalkLastSeen + JSON Object public IActionResult NewPrivateTalkLastSeen([FromBody] PrivateTalkLastSeen privateTalkLastSeen) //Accepts JSON body, not x-www-form-urlencoded! { if (privateTalkLastSeen == 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()); } ReturnModel newOrUpdatePTLS = IPrivateTalkRepository.NewPrivateTalkLastSeen(privateTalkLastSeen); if (newOrUpdatePTLS.ErrorCode == ErrorCodes.OK) { return(NoContent()); //204 No Content } return(new StatusCodeResult(StatusCodes.Status503ServiceUnavailable)); // 503 Service Unavailable Error. }
public ReturnModel NewPrivateTalkLastSeen(PrivateTalkLastSeen privateTalkLastSeen) { try { PrivateTalkLastSeen PTLastSeen = PrivateTalkLastSeen.Where(ptls => ptls.PrivateTalkId == privateTalkLastSeen.PrivateTalkId && ptls.Visitor == privateTalkLastSeen.Visitor).FirstOrDefault(); if (PTLastSeen != null) { PTLastSeen.LastSeen = privateTalkLastSeen.LastSeen; context.Entry(PTLastSeen).State = EntityState.Modified; context.SaveChanges(); } else { //Runs only once. context.PrivateTalkLastSeen.Add(privateTalkLastSeen); context.SaveChanges(); } } catch { return(new ReturnModel { ErrorCode = ErrorCodes.DatabaseError }); } return(new ReturnModel { ErrorCode = ErrorCodes.OK }); }