public async Task <Types.AddReservationPayload> AddReservation([Service] YogaDbContext context, Types.AddReservationInput input) { var eId = int.Parse(input.eventId); var accId = Guid.Parse("d4c96458-b161-11ea-9c62-a759c513c356"); //this will be authenticated users ID var acc = await context.Account.FirstOrDefaultAsync(a => a.Id == accId); var @event = await context.Event.FirstOrDefaultAsync(e => e.Id == eId); var newReservation = new Reservation { Account = acc, SpotCount = input.spotCount, Event = @event, }; context.Reservation.Add(newReservation); var payload = new Types.AddReservationPayload { account = _mapper.Map <Types.Account>(acc), @event = _mapper.Map <Types.Event>(@event), spotCount = input.spotCount }; await context.SaveChangesAsync(); return(payload); }
public async Task <Types.Event> GetEvent([Parent] CustomReservation reservation, [Service] YogaDbContext dbContext) { var @event = await dbContext.Event.FirstOrDefaultAsync(r => r.Id == reservation.eventId); return(_mapper.Map <Types.Event>(@event)); }
public async Task <Types.Account> GetAccount([Parent] CustomReservation reservation, [Service] YogaDbContext dbContext) { var account = await dbContext.Account.FirstOrDefaultAsync(r => r.Id.ToString() == reservation.accountId); return(_mapper.Map <Types.Account>(account)); }
public async Task <IReadOnlyList <CustomReservation> > GetReservations([Parent] Types.Account account, [Service] YogaDbContext dbContext) { var reservations = await dbContext.Reservation.Where(r => r.AccountId.ToString() == account.id).ToListAsync(); return(_mapper.Map <List <CustomReservation> >(reservations)); }
public async Task <Types.Node> GetNode([Service] YogaDbContext context, string id) { var type = FromGlobalId(id); throw new NotImplementedException("this is not viable code"); //this needs to be here because graphql-code-gen doesnt create interface types in c# // switch (type.Type) // { // case ACCOUNT: // return await GetAccount(context, type.Id); // case EVENT: // return await GetEvent(context, type.Id); // default: // return new Types.Node(); // } }
public async Task <Types.AddAccountPayload> AddAccount([Service] YogaDbContext dbContext, Types.AddAccountInput input) { var account = new Account { Email = input.email, Name = input.name, Surname = input.surname, IsAdmin = false, ReceiveNewsletters = false, CreatedAt = DateTime.Now, AuthId = Guid.NewGuid().ToString() }; dbContext.Account.Add(account); await dbContext.SaveChangesAsync(); return(new Types.AddAccountPayload { account = _mapper.Map <Types.Account>(account), clientMutationId = "test" }); }
public AccountController(YogaDbContext context) { _context = context; }
public async Task <List <Types.Event> > GetEvents([Service] YogaDbContext context) { var events = await context.Event.ToListAsync(); return(_mapper.Map <List <Types.Event> >(events)); }
public async Task <Types.Event> GetEvent([Service] YogaDbContext dbContext, string id) { var events = await dbContext.Event.FirstOrDefaultAsync(e => e.Id.ToString() == id); return(_mapper.Map <Types.Event>(events)); }
public async Task <Types.Account> GetAccount([Service] YogaDbContext dbContext, string id) { var account = await dbContext.Account.FirstOrDefaultAsync(a => a.Id.ToString() == id); return(_mapper.Map <Types.Account>(account)); }
public async Task <IReadOnlyList <Types.Account> > GetAccounts([Service] YogaDbContext dbContext) { var accounts = await dbContext.Account.ToListAsync(); return(_mapper.Map <List <Types.Account> >(accounts)); }