public async Task <ActionResult <UpdateUserSettingsResult> > UpdateUserSettings(string id, [FromBody] ShoppingUserSettingsModel settings) { UpdateUserSettingsResult result = new UpdateUserSettingsResult(); if (!(await IsUserAuthorized(id))) { result.IsSuccessful = false; result.ErrorMessages.Add("Not authorized to access this resource"); return(Unauthorized(result)); } var updateResult = await _userRepository.UpdateUserSettingsAsync(id, settings); if (updateResult == null) { result.IsSuccessful = false; result.ErrorMessages.Add("Could not update user settings"); return(NotFound(result)); } return(Ok(result)); }
public UpdateUserSettingsResult UpdateUserSettings(PowerDistribution powerDistribution) { if (!UserAuthenticated) { return(new UpdateUserSettingsResult(false, "access_denied")); } HttpWebRequest request = API_WebClient.GetRequest(new Uri("https://rollercoin.com/api/mining/update-settings")) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/json"; request.Headers["x-csrf-token"] = API_WebClient.Cookies.Cookies["csrf"].Value; request.Headers["cookie"] = $"{API_WebClient.Cookies.Cookies["__cfduid"].Serialize()}; {API_WebClient.Cookies.Cookies["fbsid"].Serialize()}"; JObject form_obj = new JObject(); JArray array = new JArray(); array.Add(JToken.FromObject(powerDistribution.Bitcoin)); array.Add(JToken.FromObject(powerDistribution.Dogecoin)); array.Add(JToken.FromObject(powerDistribution.Ethereum)); form_obj.Add("settings", array); byte[] formData_bytes = Encoding.ASCII.GetBytes(form_obj.ToString()); using (var stream = request.GetRequestStream()) stream.Write(formData_bytes, 0, formData_bytes.Length); HttpWebResponse response; try { response = API_WebClient.GetResponse(request) as HttpWebResponse; } catch (WebException e) { response = e.Response as HttpWebResponse; } UpdateUserSettingsResult respObject = new UpdateUserSettingsResult(new StreamReader(response.GetResponseStream()).ReadToEnd()); return(respObject); }