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));
        }
Esempio n. 2
0
        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);
        }