示例#1
0
        /// <summary>
        /// POST request
        /// </summary>
        /// <param name="settings">HTTP settings</param>
        /// <param name="body">Body of post request</param>
        /// <typeparam name="T">Type of the body</typeparam>
        /// <returns>The request was success or not</returns>
        public async Task <bool> Create <T>(HttpSettings settings, HttpBody <T> body)
        {
            this.CheckSettings(settings);

            string url = this.CreateUrl(settings);

            HttpResponseMessage response;

            try
            {
                response = await this._httpClient.PostAsync(url, body.GetStringContent());
            }
            catch (Exception e)
            {
                this.ConsoleCallError(e, url);
                return(false);
            }

            // Optional toast
            if (settings.ToasterSettings.IsNeeded)
            {
                await this._helperService.AddToaster(response, settings.ToasterSettings.Caption);
            }

            return(response.IsSuccessStatusCode);
        }
示例#2
0
        public async Task <bool> Create(TModel model)
        {
            var settings = new HttpSettings($"{this.Url}", null, null, $"{this._caption} adding");

            var body = new HttpBody <TModel>(model);

            return(await this.Http.Create <TModel>(settings, body));
        }
示例#3
0
        public async Task <bool> Update(int id, TModel model)
        {
            var pathParams = new HttpPathParameters();

            pathParams.Add <int>(id, -1);

            var settings = new HttpSettings($"{this.Url}", null, pathParams, $"{this._caption} updating");

            var body = new HttpBody <TModel>(model);

            return(await this.Http.Update <TModel>(settings, body));
        }
示例#4
0
        /// <summary>
        /// POST request where we want string response
        /// </summary>
        /// <param name="settings">HTTP settings</param>
        /// <param name="body">Body of post request</param>
        /// <typeparam name="T">Type of the body</typeparam>
        /// <returns>Response string value</returns>
        public async Task <string> CreateString <T>(HttpSettings settings, HttpBody <T> body)
        {
            this.CheckSettings(settings);

            string url = this.CreateUrl(settings);

            HttpResponseMessage response;

            try
            {
                response = await this._httpClient.PostAsync(url, body.GetStringContent());
            }
            catch (Exception e)
            {
                this.ConsoleCallError(e, url);
                return(default);