public IActionResult Post(Guid waiterId, [FromBody] DiningTable[] tables) { try { User waiter = LoadEntityById <User>(waiterId); waiter.WaiterTables.Clear(); string sqlClear = $"Delete from WaiterTable where WaiterId='{waiterId}'"; dao.Execute(sqlClear); waiter = dao.Merge <User>(waiter); foreach (DiningTable table in tables) { WaiterTable waiterTable = new WaiterTable(waiter, table); waiter.WaiterTables.Add(waiterTable); dao.Save <WaiterTable>(waiterTable); CreateHateosLinks(table); } _ = dao.Merge <User>(waiter); return(Ok(tables)); } catch (Exception e) { return(HandlePostException(e)); } }
private static void InsertDummyWaiters(AppDbContext context, int numberOfWaiters) { var tables = context.Tables; int waiterCount = 0; foreach (var t in tables) { for (int i = 0; i < numberOfWaiters; i++) { var waiter = new Waiter() { Name = "Waiter" + waiterCount, Salary = waiterCount * 100 }; if (waiter.WaiterTables == null) { waiter.WaiterTables = new List <WaiterTable>(); } var waiterTable = new WaiterTable() { Waiter = waiter, Table = t }; waiter.WaiterTables.Add(waiterTable); context.Waiters.Add(waiter); waiterCount++; } } context.SaveChanges(); }
public IActionResult DeleteWaiterTable(Guid id) { try { WaiterTable table = LoadEntityById <WaiterTable>(id); dao.Delete(table); return(Ok(table)); } catch (Exception e) { return(HandleDeleteException(e)); } }