|
|
|
@ -106,85 +106,4 @@ public partial class Chapters
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async void Export()
|
|
|
|
|
{
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
HttpResponseMessage response = await Http.GetAsync("https://trusting-panini.87-106-126-109.plesk.page/api/chapters/qUOGkWdoPCgbmuqxIC8xiaX0rV1Pw1LoPafkaoHOgszEyD9P2vcOu493xCDZpAqO");
|
|
|
|
|
var json = await response.Content.ReadAsStringAsync();
|
|
|
|
|
using (var jsonFile = ChoJSONReader.LoadText(json))
|
|
|
|
|
{
|
|
|
|
|
using (var csvFile = new ChoCSVWriter(sb).WithFirstLineHeader())
|
|
|
|
|
{
|
|
|
|
|
csvFile.Write(jsonFile);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var sentFile = new MemoryStream(Encoding.UTF32.GetBytes(sb.ToString()));
|
|
|
|
|
|
|
|
|
|
using (var streamRef = new DotNetStreamReference(stream: sentFile))
|
|
|
|
|
{
|
|
|
|
|
await IJSRuntime.InvokeVoidAsync("downloadFileFromStream", "data.csv", streamRef);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task SingleUpload(InputFileChangeEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
using (MemoryStream ms = new MemoryStream())
|
|
|
|
|
{
|
|
|
|
|
await e.File.OpenReadStream().CopyToAsync(ms);
|
|
|
|
|
var bytes = ms.ToArray();
|
|
|
|
|
string s = Encoding.UTF8.GetString(bytes);
|
|
|
|
|
|
|
|
|
|
char[] invalidChars = { '1', '2', '3', '4', '5', '6', '7', '8', '9', '\r', '\n', ',', ' ' };
|
|
|
|
|
|
|
|
|
|
List<string> filteredStrings = new List<string>();
|
|
|
|
|
StringBuilder filteredString = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
foreach (var c in s)
|
|
|
|
|
{
|
|
|
|
|
if (!invalidChars.Contains(c))
|
|
|
|
|
{
|
|
|
|
|
filteredString.Append(c);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (filteredString.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
filteredStrings.Add(filteredString.ToString());
|
|
|
|
|
filteredString.Clear();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (filteredString.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
filteredStrings.Add(filteredString.ToString());
|
|
|
|
|
}
|
|
|
|
|
foreach (var filteredStr in filteredStrings)
|
|
|
|
|
{
|
|
|
|
|
var formData = new List<KeyValuePair<string, string>>();
|
|
|
|
|
formData.Add(new KeyValuePair<string, string>("name", filteredStr));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var formContent = new FormUrlEncodedContent(formData);
|
|
|
|
|
|
|
|
|
|
string apiUri = "https://trusting-panini.87-106-126-109.plesk.page/api/add/chapter/qUOGkWdoPCgbmuqxIC8xiaX0rV1Pw1LoPafkaoHOgszEyD9P2vcOu493xCDZpAqO";
|
|
|
|
|
|
|
|
|
|
using (var httpClient = new HttpClient())
|
|
|
|
|
{
|
|
|
|
|
var response = await httpClient.PostAsync(apiUri, formContent);
|
|
|
|
|
|
|
|
|
|
if (response.IsSuccessStatusCode)
|
|
|
|
|
{
|
|
|
|
|
var responseBody = await response.Content.ReadAsStringAsync();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var errorResponse = await response.Content.ReadAsStringAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|