/// <summary> /// Elimina l'ordine dell'utente alla data corrente. /// </summary> /// <param name="id">ID Utente</param> public async Task <bool> DeleteAsync(int id) { Ordinazioni ordine = _context.Set <Ordinazioni>().SingleOrDefault(o => o.IdOrdinazione == id); _context.Set <Ordinazioni>().Remove(ordine); return(await _context.SaveChangesAsync() > 0); }
/// <summary> /// Inserisco nuovo ordine. /// Se presente, cancello il precedente. /// </summary> public async Task <OrderDTO> InsertAsync(OrderDTO o) { if (o == null) { throw new ArgumentNullException("E' necessario specificare un ordine da inserire", nameof(o)); } if (string.IsNullOrEmpty(o.Piatto)) { throw new ArgumentException("Il piatto selezionato non può essere null o stringa vuota"); } Ordinazioni row = await _context.Set <Ordinazioni>().SingleOrDefaultAsync(a => a.Data == o.Data.Date && a.Utente == o.UtenteName); if (row != null) { row.OraOrdinazione = o.Data.TimeOfDay; row.Piatto = o.Piatto; row.Shottini = o.Shottini; row.TipoPiatto = o.TipoPiattoID; row.Zeppelin = o.ZeppelinID; row.Gruppo = o.Gruppo; } else { row = new Ordinazioni { Data = DateTime.Today, OraOrdinazione = DateTime.Now.TimeOfDay, Piatto = o.Piatto, Shottini = o.Shottini, TipoPiatto = o.TipoPiattoID, Utente = o.UtenteName, Zeppelin = o.ZeppelinID, Gruppo = o.Gruppo }; _context.Set <Ordinazioni>().Add(row); } await _context.SaveChangesAsync(); // TODO: SignalR //Events.OnOrderPlaced(new Events.OrderEventArgs(o, os)); o.IdOrdinazione = row.IdOrdinazione; return(o); }