protected void lkAderenciaProduto_Click(object sender, EventArgs e) { dadosProduto.IdProduto = Convert.ToInt32(trvAderencia.SelectedValue); dadosProduto.CriterioAderencia = new CriterioAderencia() { IDCriterioAderencia = Convert.ToInt32(ddlAderencia.SelectedValue) }; dadosProduto.Segmento = new Segmento() { IDSegmento = Convert.ToInt32(TextBox1.Text) }; dadosProduto.VersaoProdutoFator = new VersaoProdutoFator() { IdVersaoProdutoFator = Convert.ToInt32(ddlVersao.SelectedValue) }; oProduto.RemoverCriterioAderenciaSegmento(dadosProduto); oProduto.NovoCriterioAderenciaSegmento(dadosProduto); }
public void HerdarCriterioAderencia(ProdutoNivel entidadeProdutoNivel, Segmento entidadeSegmento, CriterioAderencia entidadeCriterioAderencia) { ProdutoNivel dadosProdutoNivel = new ProdutoNivel(); Produto dadosProduto = new Produto(); ProdutoBLL oProduto = new ProdutoBLL(); //Invoca método ListarRelacaoProdutoNivel passando como parâmetro o IDProdutoNivel dadosProdutoNivel.IDProdutoNivel = entidadeProdutoNivel.IDProdutoNivel; dadosProdutoNivel = ListarRelacaoProdutoNivel(dadosProdutoNivel); //Se o método ListarRelacaoProdutoNivel retornar algum conteúdo if (dadosProdutoNivel.RelacaoProdutoNivelLista.Count > 0) { //Foreach para pegar cada IDFIlho dentro da lista RelacaoProdutoNivelLista foreach (RelacaoProdutoNivel listRelacaoProdutoNivel in dadosProdutoNivel.RelacaoProdutoNivelLista) { if (listRelacaoProdutoNivel.IdFilho != null) { //Invoca método ListarCriterioAderenciaSegmento para verificar se existe algum registro baseado nos parametros passados dadosProdutoNivel.CriterioAderencia.IDCriterioAderencia = entidadeCriterioAderencia.IDCriterioAderencia; dadosProdutoNivel.Segmento.IDSegmento = entidadeSegmento.IDSegmento; dadosProdutoNivel.IDProdutoNivel = listRelacaoProdutoNivel.IdFilho; dadosProdutoNivel = ListarCriterioAderenciaSegmento(dadosProdutoNivel); //Caso tenha algum registro, excluir if (dadosProdutoNivel.IDProdutoNivel != null) { dadosProdutoNivel.CriterioAderencia.IDCriterioAderencia = entidadeCriterioAderencia.IDCriterioAderencia; dadosProdutoNivel.Segmento.IDSegmento = entidadeSegmento.IDSegmento; dadosProdutoNivel.IDProdutoNivel = listRelacaoProdutoNivel.IdFilho; RemoverCriterioAderenciaSegmento(dadosProdutoNivel); } //Invoca método NovoCriterioAderenciaSegmento e insere um novo registro com os parametros passados dadosProdutoNivel.CriterioAderencia.IDCriterioAderencia = entidadeCriterioAderencia.IDCriterioAderencia; dadosProdutoNivel.Segmento.IDSegmento = entidadeSegmento.IDSegmento; dadosProdutoNivel.IDProdutoNivel = listRelacaoProdutoNivel.IdFilho; dadosProdutoNivel.VersaoProdutoFator = new VersaoProdutoFator() { IdVersaoProdutoFator = entidadeProdutoNivel.VersaoProdutoFator.IdVersaoProdutoFator }; NovoCriterioAderenciaSegmento(dadosProdutoNivel); } else { //Invoca método ListarRelacaoProdutoNivelProduto para retornar uma lista com IdProduto dadosProdutoNivel.RelacaoProdutoNivelProduto = new RelacaoProdutoNivelProduto() { IDProduto = listRelacaoProdutoNivel.IdRelacaoProdutoNivel }; dadosProdutoNivel = ListarRelacaoProdutoNivelProduto(dadosProdutoNivel); //Foreach para ler cada IdProduto da lista foreach (RelacaoProdutoNivelProduto listRelacaoProdutoNivelProduto in dadosProdutoNivel.RelacaoProdutoNivelProdutoLista) { //Invoca método NovocriterioAderenciaSegmento dadosProduto.IdProduto = listRelacaoProdutoNivelProduto.IDProduto; dadosProduto.CriterioAderencia = new CriterioAderencia() { IDCriterioAderencia = entidadeCriterioAderencia.IDCriterioAderencia }; dadosProduto.Segmento = new Segmento() { IDSegmento = entidadeSegmento.IDSegmento }; dadosProduto.VersaoProdutoFator = new VersaoProdutoFator() { IdVersaoProdutoFator = entidadeProdutoNivel.VersaoProdutoFator.IdVersaoProdutoFator }; oProduto.NovoCriterioAderenciaSegmento(dadosProduto); } } } } }