public void Put(int materialId, MaterialModel material) { try { var where = $"MATERIAL_ID = {materialId}"; if (string.IsNullOrEmpty(MetodosGenericosService.DlookupOrcamentaria("MATERIAL_ID", "T_ORCA_MATERIAL", where))) { throw new Exception(); } MaterialModel materialDB = GetComParametro(new MaterialQO(materialId, "", "")).ToList()[0]; if (material.FABRICANTE.PESSOA_ID != materialDB.FABRICANTE.PESSOA_ID) { CartaCoberturaRepository cartaCoberturaRepository = new CartaCoberturaRepository(new Conexao(MetodosGenericosService.RetornaConexao())); List <CartaCoberturaModel> listCartaCobertura = cartaCoberturaRepository.ListPorMaterialId(materialId).ToList(); foreach (CartaCoberturaModel cartaCobertura in listCartaCobertura) { cartaCobertura.LIST_ITENS_CARTA_COBERTURA = ItensCartaCoberturaService.GetComParametro(new ItensCartaCoberturaQO(0, cartaCobertura.CARTA_COBERTURA_ID, "")).ToList(); cartaCobertura.MATERIAL = GetComParametro(new MaterialQO(materialId, "", "")).ToArray()[0]; } where = $"PESSOA_ID = {material.FABRICANTE.PESSOA_ID}"; if (string.IsNullOrEmpty(MetodosGenericosService.DlookupOrcamentaria("PESSOA_ID", "T_ORCA_PESSOA", where))) { throw new Exception(); } var fabricante = PessoaService.GetComParametro(new PessoaQO(material.FABRICANTE.PESSOA_ID, "")).ToArray()[0]; foreach (CartaCoberturaModel cartaCobertura in listCartaCobertura) { cartaCobertura.MATERIAL.FABRICANTE = fabricante; cartaCoberturaRepository.Update(cartaCobertura.CARTA_COBERTURA_ID, cartaCobertura); } material.FABRICANTE = fabricante; } MaterialRepository.Update(materialId, material); } catch (Exception) { throw; } }