예제 #1
0
        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);
        }
예제 #2
0
        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));
        }