private static async Task <InvoiceResponseDTO> CreateInvoiceAsync(LoginResponseDTO loginResponseDTO) { InvoiceResponseDTO invoiceResponseDTO = new InvoiceResponseDTO(); string url = "https://lobworkshop.azurewebsites.net/api/Invoices"; InvoiceRequestDTO invoiceRequestDTO = new InvoiceRequestDTO() { InvoiceNo = "123", Memo = "查理王", Date = new DateTime(2019, 05, 20), user = new UserDTO() { Id = loginResponseDTO.Id } }; var httpJsonPayload = JsonConvert.SerializeObject(invoiceRequestDTO); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", loginResponseDTO.Token); HttpResponseMessage response = await client.PostAsync(url, new StringContent(httpJsonPayload, System.Text.Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { String strResult = await response.Content.ReadAsStringAsync(); APIResult apiResult = JsonConvert.DeserializeObject <APIResult>(strResult, new JsonSerializerSettings { MetadataPropertyHandling = MetadataPropertyHandling.Ignore }); if (apiResult.Status == true) { string itemJsonContent = apiResult.Payload.ToString(); Console.WriteLine($"成功新增一筆發票 : {itemJsonContent}"); invoiceResponseDTO = JsonConvert.DeserializeObject <InvoiceResponseDTO>(itemJsonContent, new JsonSerializerSettings { MetadataPropertyHandling = MetadataPropertyHandling.Ignore }); } } return(invoiceResponseDTO); }
private static async Task <InvoiceResponseDTO> UpdateInvoiceAsync(LoginResponseDTO loginResponseDTO, InvoiceResponseDTO UpdateItem) { InvoiceResponseDTO invoiceResponseDTO = new InvoiceResponseDTO(); string url = $"https://lobworkshop.azurewebsites.net/api/Invoices/{UpdateItem.Id}"; InvoiceRequestDTO invoiceRequestDTO = new InvoiceRequestDTO() { Id = UpdateItem.Id, InvoiceNo = UpdateItem.InvoiceNo, Memo = "修正" + UpdateItem.Memo, Date = UpdateItem.Date.AddDays(5), user = UpdateItem.user }; var httpJsonPayload = JsonConvert.SerializeObject(invoiceRequestDTO); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", loginResponseDTO.Token); HttpResponseMessage response = await client.PutAsync(url, new StringContent(httpJsonPayload, System.Text.Encoding.UTF8, "application/json")); String strResult = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { APIResult apiResult = JsonConvert.DeserializeObject <APIResult>(strResult, new JsonSerializerSettings { MetadataPropertyHandling = MetadataPropertyHandling.Ignore }); if (apiResult.Status == true) { string itemJsonContent = apiResult.Payload.ToString(); Console.WriteLine($"成功修改一筆發票 : {itemJsonContent}"); invoiceResponseDTO = JsonConvert.DeserializeObject <InvoiceResponseDTO>(itemJsonContent, new JsonSerializerSettings { MetadataPropertyHandling = MetadataPropertyHandling.Ignore }); } } return(invoiceResponseDTO); }