[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.
        }
示例#2
0
 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
     });
 }