public IHttpActionResult UpdateVsixRating(string vsixId, [FromBody] string ratingString) { if (!float.TryParse(ratingString, out float rawRating)) { return(BadRequest()); } // Upperbound the rating float rating = Math.Min(5, Math.Max(0, rawRating)); // Record the rating if (!FileCounter.SetRating(vsixId, rating, _configuration)) { return(InternalServerError()); } // Trigger a re-creation of the ATOM feed by touching the main file if possible var vsixFilePath = FileCounter.GetVsixFileFromId(vsixId, _configuration); if (vsixFilePath != null && File.Exists(vsixFilePath)) { File.SetLastWriteTime(vsixFilePath, DateTime.Now); } // All ok return(Ok()); }
private Response HandleSetRatingsRequest(dynamic parameters) { string vsixId = parameters.id; float rawRating; if (!float.TryParse(Request.Body.AsString(), out rawRating)) { return new Response { StatusCode = HttpStatusCode.BadRequest } } ; // Upperbound the rating float rating = Math.Min(5, Math.Max(0, rawRating)); // Record the rating if (!FileCounter.SetRating(vsixId, rating, _configuration)) { return new Response { StatusCode = HttpStatusCode.InternalServerError } } ; // Trigger a re-creation of the ATOM feed by touching the main file if possible var vsixFilePath = FileCounter.GetVsixFileFromId(vsixId, _configuration); if (vsixFilePath != null && File.Exists(vsixFilePath)) { File.SetLastWriteTime(vsixFilePath, DateTime.Now); } // All ok return(new Response { StatusCode = HttpStatusCode.OK }); } } }