public static async Task <bool> Validate(this TableDatum data, AppDbContext db) { if (string.IsNullOrEmpty(data.Data)) { throw new Exception("Data must have a value"); } if (data.TableCategoryId < 1) { throw new Exception("Data must be associated with a category"); } var check = await db.TableData .FirstOrDefaultAsync(x => x.Id != data.Id && x.TableCategoryId == data.TableCategoryId && x.Data.ToLower() == data.Data.ToLower() ); if (check != null) { throw new Exception($"Data {data.Data} already exists in this category"); } return(true); }
public static async Task UpdateDatum(this AppDbContext db, TableDatum datum) { if (await datum.Validate(db)) { db.TableData.Update(datum); await db.SaveChangesAsync(); } }
public async Task RemoveDatum([FromBody] TableDatum datum) => await db.RemoveDatum(datum);
public async Task ToggleDatumDeleted([FromBody] TableDatum datum) => await db.ToggleDatumDeleted(datum);
public async Task UpdateDatum([FromBody] TableDatum datum) => await db.UpdateDatum(datum);
public async Task AddDatum([FromBody] TableDatum datum) => await db.AddDatum(datum);
public static async Task RemoveDatum(this AppDbContext db, TableDatum datum) { db.TableData.Remove(datum); await db.SaveChangesAsync(); }
public static async Task ToggleDatumDeleted(this AppDbContext db, TableDatum datum) { db.TableData.Attach(datum); datum.IsDeleted = !datum.IsDeleted; await db.SaveChangesAsync(); }