public async Task <IActionResult> ChangeRating([FromBody] RatingBody data) { var userId = _userManager.GetUserId(HttpContext.User); var ScreenStatus = _context.ScreenStatus.Where(u => u.UserId == userId).Where(i => i.ScreenId == data.ScreenId).SingleOrDefault(); if (ScreenStatus == null) { return(NotFound()); } int id = data.ScreenId; var image = await _context.Screens.SingleOrDefaultAsync(m => m.ScreenId == id); if (data.state == State.Approved) { ScreenStatus.Status = ScreenStatus.PossibleStatus.Approved; } else if (data.state == State.NeedsWork) { ScreenStatus.Status = ScreenStatus.PossibleStatus.NeedsWork; } else if (data.state == State.Rejected) { ScreenStatus.Status = ScreenStatus.PossibleStatus.Rejected; } await _context.SaveChangesAsync(); return(Json((await _userManager.FindByIdAsync(userId)).ProfileName)); }
public async Task <CookieRating> AddRatings([FromBody] RatingBody ratingBody) { var token = Request.Headers["Authorization"][0] .Substring("Bearer ".Length); var userId = int.Parse(_tokenService.GetClaim(token, "nameid")); var role = _tokenService.GetClaim(token, "role"); var cookie = await _cookieService.AddRatings(userId, ratingBody.cookieId, ratingBody.rating); return(cookie); }
/// <summary> /// Create a rating Create a rating for the node with identifier **nodeId** /// </summary> /// <param name="nodeId">The identifier of a node.</param> /// <param name="ratingBodyCreate">For \"myRating\" the type is specific to the rating scheme, boolean for the likes and an integer for the fiveStar. For example, to \"like\" a file the following body would be used: ```JSON { \"id\": \"likes\", \"myRating\": true } ``` </param> /// <param name="fields">A list of field names. You can use this parameter to restrict the fields returned within a response if, for example, you want to save on overall bandwidth. The list applies to a returned individual entity or entries within a collection. If the API method also supports the **include** parameter, then the fields specified in the **include** parameter are returned in addition to those specified in the **fields** parameter. </param> /// <returns>RatingEntry</returns> public RatingEntry CreateRating(string nodeId, RatingBody ratingBodyCreate, List <string> fields) { // verify the required parameter 'nodeId' is set if (nodeId == null) { throw new ApiException(400, "Missing required parameter 'nodeId' when calling CreateRating"); } // verify the required parameter 'ratingBodyCreate' is set if (ratingBodyCreate == null) { throw new ApiException(400, "Missing required parameter 'ratingBodyCreate' when calling CreateRating"); } var path = "/nodes/{nodeId}/ratings"; path = path.Replace("{format}", "json"); path = path.Replace("{" + "nodeId" + "}", ApiClient.ParameterToString(nodeId)); var queryParams = new Dictionary <String, String>(); var headerParams = new Dictionary <String, String>(); var formParams = new Dictionary <String, String>(); var fileParams = new Dictionary <String, FileParameter>(); String postBody = null; if (fields != null) { queryParams.Add("fields", ApiClient.ParameterToString(fields)); // query parameter } postBody = ApiClient.Serialize(ratingBodyCreate); // http body (model) parameter // authentication setting, if any String[] authSettings = new String[] { "basicAuth" }; // make the HTTP request IRestResponse response = (IRestResponse)ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, authSettings); if (((int)response.StatusCode) >= 400) { throw new ApiException((int)response.StatusCode, "Error calling CreateRating: " + response.Content, response.Content); } else if (((int)response.StatusCode) == 0) { throw new ApiException((int)response.StatusCode, "Error calling CreateRating: " + response.ErrorMessage, response.ErrorMessage); } return((RatingEntry)ApiClient.Deserialize(response.Content, typeof(RatingEntry), response.Headers)); }