using Microsoft.AspNetCore.Mvc; using SytelineSaAppEfDataModel.Dtos; using SytelineSaAppEfDataModel.Services; namespace FaKrosnoApi.Controllers; [ApiController] [Route("api/[controller]")] public class WzRowMarelliController(IWzRowMareliService service, IMaterialTransactionService materialTransactionService) : Controller { [HttpGet] public async Task>> GetAll() { IEnumerable wzRows = await service.GetAll(); return Ok(wzRows); } [HttpPost] public async Task CreateRows([FromBody] IEnumerable rows) { if (rows == null || !rows.Any()) { return BadRequest("No rows provided."); } await service.CreateRows(rows); return CreatedAtAction(nameof(GetAll), new { count = rows.Count() }, rows); } [HttpGet("by-wz-header-id")] public async Task>> GetByWzHeaderId(Guid wzHeaderId) { IEnumerable wzRows = await service.GetByWzHeaderId(wzHeaderId); return Ok(wzRows); } [HttpGet("by-part-number")] public async Task> GetByPartNumber([FromQuery] string partNumber) { MaterialTransactionDto materialTransaction = await materialTransactionService.GetByPartNumber(partNumber); return Ok(materialTransaction); } [HttpGet("transactions-with-part-number")] public async Task> GetTransactionsWithPartNumber() { IEnumerable materialTransactions = await materialTransactionService.GetWithPartNumber(); return Ok(materialTransactions); } [HttpPut] public async Task UpdateRows([FromBody] IEnumerable rows) { if (rows == null || !rows.Any()) { return BadRequest("No rows provided."); } await service.UpdateRows(rows); return NoContent(); } }