123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.Http;
- using System.Text;
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- namespace sql_pagining.models
- {
- public class ApiDataProvider : DBDataProvider
- {
- private static string baseUrl = "http://localhost:5000";
- public override IEnumerable<Product> getProduct(int pageNum)
- {
- var client = new HttpClient();
- var body = client.GetStringAsync(
- $"{baseUrl}/product?pageNum={pageNum}"
- ).Result;
- return JsonConvert.DeserializeObject<Product[]>(body);
- }
- public override void setOrder(string condition)
- {
- var client = new HttpClient();
- var jsonString = JsonConvert.SerializeObject(condition);
- var json = new StringContent(jsonString, Encoding.UTF8, "aplication/json");
- var body = client.PutAsync($"{baseUrl}/setOrder", json);
- }
- public override List<ProductType> getProductTypes()
- {
- var client = new HttpClient();
- var body = client.GetStringAsync($"{baseUrl}/productType").Result;
- return JsonConvert.DeserializeObject<List<ProductType>>(body);
- }
- public override void setMinCostForAgent(decimal minCost, int[] ids)
- {
- var client = new HttpClient();
- var jsonString = JsonConvert.SerializeObject(ids);
- var json = new StringContent(jsonString, Encoding.UTF8, "application/json");
- var body = client.PutAsync($"{baseUrl}/minCostForAgent/{minCost}", json);
- }
- public override void saveProduct(Product product)
- {
- var client = new HttpClient();
- var jsonString = JsonConvert.SerializeObject(product);
- var json = new StringContent(jsonString, Encoding.UTF8, "application/json");
- if (product.ID != 0)
- {
- var body = client.PutAsync($"{baseUrl}/product", json);
- }
- else
- {
- var body = client.PostAsync($"{baseUrl}/product", json);
- }
- }
- public override int saleCount(int ID)
- {
- var client = new HttpClient();
- var body = client.GetStringAsync($"{baseUrl}/saleCount/{ID}").Result;
- return JsonConvert.DeserializeObject<int>(body);
- }
- public override void removePriceHistory(int ID)
- {
- var client = new HttpClient();
- var body = client.DeleteAsync($"{baseUrl}/removePriceHistory/{ID}");
- }
- public override List<ProductMaterial> getProductMaterials(int ID)
- {
- var client = new HttpClient();
- var body = client.GetStringAsync($"{baseUrl}/productMaterial/{ID}").Result;
- return JsonConvert.DeserializeObject<List<ProductMaterial>>(body);
- }
- public override void deleteProductMaterial(ProductMaterial productMaterial)
- {
- var client = new HttpClient();
- var body = client.DeleteAsync($"{baseUrl}/productMaterial");
- }
- public override List<Material> getAvailableMaterials()
- {
- var client = new HttpClient();
- var body = client.GetStringAsync($"{baseUrl}/material").Result;
- return JsonConvert.DeserializeObject<List<Material>>(body);
- }
- public override void addProductMaterial(ProductMaterial material)
- {
- var client = new HttpClient();
- var jsonString = JsonConvert.SerializeObject(material);
- var json = new StringContent(jsonString, Encoding.UTF8, "application/json");
- var body = client.PostAsync($"{baseUrl}/productMaterial", json).Result;
- }
- }
- }
|