public async Task <IActionResult> Delete(Audio audio) { try { var list = await AddOns.ReadFromJson(); var newlist = new List <Audio>(); foreach (var item in list) { if (item != audio) { newlist.Add(item); } } var name = (await SingleAsync(audio.ID)).Name; await newlist.WriteToJson(); if (Data.Exists(AddOns.Path(directory: "Files", filename: name))) { Data.Delete(AddOns.Path(directory: "Files", filename: name)); } return(RedirectToAction(nameof(Index))); } catch (Exception ex) { await ex.LogAsync(); return(View()); } }
public async Task <IActionResult> Edit(Guid id, Audio audio) { try { if (id != audio.ID) { return(BadRequest()); } var list = await AddOns.ReadFromJson(); var solo = list.FirstOrDefault(x => x.ID == id); if (Data.Exists(AddOns.Path(directory: "Files", filename: solo.Name))) { Data.Move(AddOns.Path(directory: "Files", filename: solo.Name), AddOns.Path(directory: "Files", filename: audio.Name)); } solo.Name = audio.Name; solo.Size = audio.Size; await list.WriteToJson(); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { await ex.LogAsync(); return(View()); } }
public async Task <IActionResult> Index() { try { return(View(await AddOns.ReadFromJson())); } catch (Exception ex) { await ex.LogAsync(); return(View()); } }
private async Task <Audio> SingleAsync(Guid id) { try { return((await AddOns.ReadFromJson()).FirstOrDefault(x => x.ID == id)); } catch (Exception ex) { await ex.LogAsync(); return(new()); } }