Пример #1
0
        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);
        }
Пример #2
0
 public static async Task UpdateDatum(this AppDbContext db, TableDatum datum)
 {
     if (await datum.Validate(db))
     {
         db.TableData.Update(datum);
         await db.SaveChangesAsync();
     }
 }
Пример #3
0
 public async Task RemoveDatum([FromBody] TableDatum datum) => await db.RemoveDatum(datum);
Пример #4
0
 public async Task ToggleDatumDeleted([FromBody] TableDatum datum) => await db.ToggleDatumDeleted(datum);
Пример #5
0
 public async Task UpdateDatum([FromBody] TableDatum datum) => await db.UpdateDatum(datum);
Пример #6
0
 public async Task AddDatum([FromBody] TableDatum datum) => await db.AddDatum(datum);
Пример #7
0
 public static async Task RemoveDatum(this AppDbContext db, TableDatum datum)
 {
     db.TableData.Remove(datum);
     await db.SaveChangesAsync();
 }
Пример #8
0
 public static async Task ToggleDatumDeleted(this AppDbContext db, TableDatum datum)
 {
     db.TableData.Attach(datum);
     datum.IsDeleted = !datum.IsDeleted;
     await db.SaveChangesAsync();
 }