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));
            }
        }
Exemplo n.º 2
0
        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));
     }
 }