private void barBtnSalvar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var funcao = cbFuncao.SelectedItem as Funcao; var idFuncao = funcao != null ? funcao.IdFuncao : 0; var historico = new HistoricoFuncao(funcao, memoEditHistorico.Text); //se existe a data de demissao if (ValidadorDTO.ValidateWarning(func) && ValidadorDTO.ValidateWarning(historico)) { if (idFuncao == this.func.IdFuncao) { XMessageIts.Advertencia("A função selecionada deve ser diferente da função atual"); } else { if (new HistoricoFuncionarioManager().UpdateFuncao(func, historico)) { XMessageIts.Mensagem("Função alterada com sucesso"); //atualiza o objeto de onde foi chamado this.func.Funcao = funcao; this.Dispose(); } } } }
public bool UpdateFuncao(Funcionario func, HistoricoFuncao historico) { using (var ctx = new BalcaoContext()) { var current = ctx.FuncionarioDao.Find(func.IdFuncionario); current.IdFuncao = historico.IdFuncao; current.HistoricoFuncao.Add(historico); //atualiza o objeto de onde foi chamado func.Update(current); return(ctx.FuncionarioDao.Update(current)); } }