private async Task <List <MaterialAcabamento> > ConstruirMaterialAcabamentoDeDTO(ProdutoDTO produto) { List <MaterialAcabamento> lista = new List <MaterialAcabamento>(); List <MaterialAcabamentoDTO> listamacdto = produto.MaterialAcabamentoDTO; foreach (MaterialAcabamentoDTO madto in listamacdto) { //if (!madto.Material.MaterialID.HasValue) continue; //if (!madto.Acabamento.AcabamentoID.HasValue) continue; //Material mat = await _repomaterial.GetById(madto.Material.MaterialID.Value); //Acabamento acab = await _repoacabamento.GetById(madto.Acabamento.AcabamentoID.Value); //if (mat == null || acab == null) continue; //lista.Add(new MaterialAcabamento(mat, acab)); if (madto.id.HasValue) { MaterialAcabamento matacab = await _materialacabamentorepo.GetById(madto.id.Value); if (matacab != null) { lista.Add(matacab); } } } return(lista); }
public async Task <IActionResult> CreateMaterialAcabamento([FromBody] MaterialAcabamentoDTO matacabdto) { if (!matacabdto.Material.MaterialID.HasValue || !matacabdto.Acabamento.AcabamentoID.HasValue) { return(BadRequest()); } if (matacabdto.id.HasValue && await _repo_mat_acab.Exists(matacabdto.id.Value)) { return(BadRequest()); } if (!await _repo_material.Exists(matacabdto.Material.MaterialID.Value)) { return(NotFound()); } if (!await _repo_acabamento.Exists(matacabdto.Acabamento.AcabamentoID.Value)) { return(NotFound()); } if (await _repo_mat_acab.Exists(matacabdto.Material.MaterialID.Value, matacabdto.Acabamento.AcabamentoID.Value)) { return(BadRequest()); } Material material = await _repo_material.GetById(matacabdto.Material.MaterialID.Value); Acabamento acabamento = await _repo_acabamento.GetById(matacabdto.Acabamento.AcabamentoID.Value); MaterialAcabamento mat_acab = new MaterialAcabamento(material, acabamento); await _repo_mat_acab.Create(mat_acab); MaterialAcabamentoDTO dto = _mapper.Map <MaterialAcabamento, MaterialAcabamentoDTO>(mat_acab); return(Created("Created", dto)); }