public async Task <RenameFarmPayload> RenameFarmAsync(
            RenameFarmInput input,
            [ScopedService] AnimalFarmDbContext db,
            CancellationToken token)
        {
            var farm = await db.Farms.FindAsync(input.Id);

            if (farm is null)
            {
                return(new RenameFarmPayload(
                           new List <UserError> {
                    new("Farm not found.", "ANIMAL_NOT_FOUND")
                },
Beispiel #2
0
        public async Task <UpdateAnimalPayload> UpdateAnimalAsync(
            UpdateAnimalInput input,
            [ScopedService] AnimalFarmDbContext db,
            [Service] ITopicEventSender eventSender,
            CancellationToken token)
        {
            var animal = await db.Animals.FindAsync(input.Id);

            if (animal is null)
            {
                return(new UpdateAnimalPayload(
                           new List <UserError> {
                    new("Animal not found.", "ANIMAL_NOT_FOUND")
                },
Beispiel #3
0
        public async Task <AddAnimalPayload> AddAnimalAsync(
            AddAnimalInput input,
            [ScopedService] AnimalFarmDbContext db,
            [Service] ITopicEventSender eventSender,
            CancellationToken token)
        {
            var animal = new Animal
            {
                Name    = input.Name,
                Species = input.Species,
                FarmId  = input.FarmId
            };

            await db.Animals.AddAsync(animal, token);

            await db.SaveChangesAsync(token);

            await eventSender.SendAsync(nameof(AnimalSubscriptions.OnAnimalCreatedAsync), animal.Id, token);

            return(new AddAnimalPayload(animal, input.ClientMutationId));
        }
Beispiel #4
0
 public IQueryable <Farm> GetFarms([ScopedService] AnimalFarmDbContext db) => db.Farms;
Beispiel #5
0
 public IQueryable <Animal> GetAnimals([ScopedService] AnimalFarmDbContext db) => db.Animals;
 // anything that returns IQueryable
 public IQueryable <Person> GetPersons([ScopedService] AnimalFarmDbContext db) => db.Persons;