src/Web/WebMVC/Services/OrderingService.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace Microsoft.eShopOnContainers.WebMVC.Services;

using Microsoft.eShopOnContainers.WebMVC.ViewModels;

public class OrderingService : IOrderingService
{
    private HttpClient _httpClient;
    private readonly string _remoteServiceBaseUrl;
    private readonly IOptions<AppSettings> _settings;


    public OrderingService(HttpClient httpClient, IOptions<AppSettings> settings)
    {
        _httpClient = httpClient;
        _settings = settings;

        _remoteServiceBaseUrl = $"{settings.Value.PurchaseUrl}/o/api/v1/orders";
    }

    async public Task<Order> GetOrder(ApplicationUser user, string id)
    {
        var uri = API.Order.GetOrder(_remoteServiceBaseUrl, id);

        var responseString = await _httpClient.GetStringAsync(uri);

        var response = JsonSerializer.Deserialize<Order>(responseString, new JsonSerializerOptions
        {
            PropertyNameCaseInsensitive = true
        });

        return response;
    }

    async public Task<List<Order>> GetMyOrders(ApplicationUser user)
    {
        var uri = API.Order.GetAllMyOrders(_remoteServiceBaseUrl);

        var responseString = await _httpClient.GetStringAsync(uri);

        var response = JsonSerializer.Deserialize<List<Order>>(responseString, new JsonSerializerOptions
        {
            PropertyNameCaseInsensitive = true
        });

        return response;
    }



    async public Task CancelOrder(string orderId)
    {
        var order = new OrderDTO()
        {
            OrderNumber = orderId
        };

        var uri = API.Order.CancelOrder(_remoteServiceBaseUrl);
        var orderContent = new StringContent(JsonSerializer.Serialize(order), System.Text.Encoding.UTF8, "application/json");

        var response = await _httpClient.PutAsync(uri, orderContent);
后面还有 80 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。