public async Task <Response> Handle(CreatePlantLogForPlantCommand request, CancellationToken cancellationToken) { var plant = await context.Plants.FindAsync(request.PlantId); if (null == plant) { return(new Response { Success = false, ErrorMessages = { { nameof(request.PlantId), new[] { "Plant not found" } } }, }); } var log = new PlantLog { Id = request.Id, Plant = plant, PlantLogTypeId = request.PlantLogTypeId, DateTime = request.DateTime, Log = request.Log, }; await context.PlantLogs.AddAsync(log); await context.SaveChangesAsync(cancellationToken); return(new Response { Success = true }); }
public async Task <ActionResult <PlantLog> > CreatePlantLog(Guid plantId, CreatePlantLogForPlantRequest request) { var command = new CreatePlantLogForPlantCommand { Id = Guid.NewGuid(), PlantId = plantId, PlantLogTypeId = request.PlantLogTypeId, Log = request.Log, DateTime = request.DateTime, }; var response = await mediator.Send(command); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } var createdQuery = new GetPlantLogForPlantByIdQuery { Id = command.Id, PlantId = plantId }; var createdResult = await mediator.Send(createdQuery); var createdObj = PlantLog.FromCore(createdResult.Data); return(CreatedAtRoute(nameof(PlantController) + "/" + nameof(GetPlantLog), new { plantId = command.PlantId, logId = command.Id }, createdObj)); }
private void AssertDaoEqualDto(PlantLog plantLog, PlantLogDto plantLogDto) { Assert.Equal(plantLog.Id, plantLogDto.Id); Assert.Equal(plantLog.Log, plantLogDto.Log); Assert.Equal(plantLog.DateTime, plantLogDto.DateTime); Assert.Equal(plantLog.PlantLogTypeId, plantLogDto.PlantLogTypeId); Assert.Equal(plantLog.PlantId, plantLogDto.PlantId); }
public async Task <ActionResult <PlantLog> > GetPlantLog(Guid plantId, Guid logId) { var query = new GetPlantLogForPlantByIdQuery { Id = logId, PlantId = plantId }; var response = await mediator.Send(query); if (!response.Success) { return(BadRequest(response.ErrorMessages)); } return(Ok(PlantLog.FromCore(response.Data))); }
public PlantLogQueryTests(PlantLogQueryTestsFixture fixture) { logType1 = fixture.logType1; logType2 = fixture.logType2; plantSpecies = fixture.plantSpecies; plant1 = fixture.plant1; plant2 = fixture.plant2; plantLog1 = fixture.plantLog1; plantLog2 = fixture.plantLog2; plantLog3 = fixture.plantLog3; plantLog4 = fixture.plantLog4; plantLog5 = fixture.plantLog5; queryHandler = new GetAllPlantLogsQueryHandler(fixture.context); }
public PlantLogQueryTestsFixture() { context = DatabaseHelper.CreateInMemoryDatabaseContext(nameof(PlantLogQueryTests)); logType1 = ValidObjectHelper.ValidPlantLogType(); logType2 = ValidObjectHelper.ValidPlantLogType(); plantSpecies = ValidObjectHelper.ValidPlantSpecies(); plant1 = ValidObjectHelper.ValidPlant(plantSpecies); plant2 = ValidObjectHelper.ValidPlant(plantSpecies); var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var id3 = Guid.NewGuid(); var id4 = Guid.NewGuid(); var id5 = Guid.NewGuid(); var log1 = "Hello"; var log2 = "World"; var log3 = "ab"; var log4 = "world Hello abcdefgh"; var log5 = "Töster"; var dt1 = new DateTime(2020, 01, 01, 00, 00, 00); var dt2 = new DateTime(2020, 01, 01, 18, 00, 00); var dt3 = new DateTime(2020, 01, 02, 12, 00, 00); var dt4 = new DateTime(2020, 02, 01, 12, 00, 00); var dt5 = new DateTime(2019, 01, 01, 12, 00, 00); plantLog1 = new PlantLog { Id = id1, DateTime = dt1, Log = log1, Plant = plant1, PlantLogType = logType1 }; plantLog2 = new PlantLog { Id = id2, DateTime = dt2, Log = log2, Plant = plant1, PlantLogType = logType1 }; plantLog3 = new PlantLog { Id = id3, DateTime = dt3, Log = log3, Plant = plant2, PlantLogType = logType2 }; plantLog4 = new PlantLog { Id = id4, DateTime = dt4, Log = log4, Plant = plant2, PlantLogType = logType2 }; plantLog5 = new PlantLog { Id = id5, DateTime = dt5, Log = log5, Plant = plant2, PlantLogType = logType1 }; context.AddRange(logType1, logType2, plantSpecies, plant1, plant2, plantLog1, plantLog2, plantLog3, plantLog4, plantLog5); context.SaveChanges(); }
internal static PlantLogDto FromDao(PlantLog plantLog) { return(new PlantLogDto(plantLog.Id, plantLog.PlantId, plantLog.PlantLogTypeId, plantLog.DateTime, plantLog.Log)); }