//Persistir e atualizar um registro existente //Atualizar dados da Contribuicao e lista de ContribuicaoPreco protected virtual bool atualizar(Contribuicao OContribuicao) { //Localizar existentes no banco Contribuicao dbContribuicao = this.carregar(OContribuicao.id); //Configurar valores padrão OContribuicao.setDefaultUpdateValues(); //Atualizacao da lista de preços enviados foreach (var ItemContribuicaoPreco in OContribuicao.listaContribuicaoPreco) { var dbContribuicaoPreco = db.ContribuicaoPreco.FirstOrDefault(e => e.id == ItemContribuicaoPreco.id); ItemContribuicaoPreco.TipoAssociado = null; if (dbContribuicaoPreco == null) { ItemContribuicaoPreco.idContribuicao = OContribuicao.id; ItemContribuicaoPreco.setDefaultInsertValues(); ItemContribuicaoPreco.flagSistema = "N"; db.ContribuicaoPreco.Add(ItemContribuicaoPreco); } else { var ContribuicaoPrecoEntry = db.Entry(dbContribuicaoPreco); ItemContribuicaoPreco.flagSistema = "N"; ItemContribuicaoPreco.setDefaultUpdateValues(); ItemContribuicaoPreco.ativo = "S"; ContribuicaoPrecoEntry.CurrentValues.SetValues(ItemContribuicaoPreco); ContribuicaoPrecoEntry.ignoreFields(new[] { "idTipoAssociado", "idContribuicao" }); } } //Atualizacao da Contribuição var ContribuicaoEntry = db.Entry(dbContribuicao); ContribuicaoEntry.CurrentValues.SetValues(OContribuicao); ContribuicaoEntry.ignoreFields(new[] { "idTipoContribuicao" }); db.SaveChanges(); return(OContribuicao.id > 0); }
//Persistir e atualizar um registro existente //Atualizar dados da Contribuicao e lista de ContribuicaoPreco protected override bool atualizar(Contribuicao OContribuicao) { //Localizar existentes no banco Contribuicao dbContribuicao = this.carregar(OContribuicao.id); //Configurar valores padrão OContribuicao.setDefaultUpdateValues(); //Atualizacao da Contribuição var ContribuicaoEntry = db.Entry(dbContribuicao); ContribuicaoEntry.CurrentValues.SetValues(OContribuicao); ContribuicaoEntry.ignoreFields(new[] { "idPeriodoContribuicao", "idTipoVencimento" }); db.SaveChanges(); return(OContribuicao.id > 0); }