public AdminAccountsController() { Model1 = new XPayAccount().GetType().Name; Model1FileName = AppDataFolder + "InnerAPI\\" + Model1 + ".json"; Model2 = new XPayRole().GetType().Name; Model2FileName = AppDataFolder + "InnerAPI\\" + Model2 + ".json"; FileChecker <XPayAccount> .AutoCreateIfNotExists(Model1FileName); FileChecker <XPayRole> .AutoCreateIfNotExists(Model2FileName); }
public async Task <XPayAccount> Save(XPayAccount newData) { return(await Task.Run(async() => { try { accounts = await Reader <XPayAccount> .JsonReaderListAsync(Model1FileName); accounts.Add(newData); _ = await Writer <XPayAccount> .JsonWriterListAsync(accounts, Model1FileName); return newData; } catch { return newData; } })); }
public async Task <XPayAccount> Edit(XPayAccount account) { return(await Task.Run(async() => { try { accounts = await Reader <XPayAccount> .JsonReaderListAsync(Model1FileName); if (accounts.Count == 0) { throw new Exception("No data to be update"); } var old = accounts.Where(a => a.Id.Equals(account.Id)).ToList(); if (old == null) { throw new Exception("No data to be update"); } accounts = accounts.Where(a => !a.Id.Equals(account.Id)).ToList(); account.DateUpdated = DateTime.Now; accounts.Add(account); _ = await Writer <XPayAccount> .JsonWriterListAsync(accounts, Model1FileName); return account; } catch { return null; } })); }