private void barBtnSalvar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var depto = cbDepartamento.SelectedItem as Departamento; var idDepto = depto != null ? depto.IdDepartamento : 0; HistoricoDepartamento historico = new HistoricoDepartamento(depto, memoEditHistorico.Text); //se existe a data de demissao if (ValidadorDTO.ValidateWarning(func) && ValidadorDTO.ValidateWarning(historico)) { if (idDepto == this.func.IdDepartamento) { XMessageIts.Advertencia("O departamento selecionado deve ser diferente da departamento atual"); } else { if (new HistoricoFuncionarioManager().UpdateDepartamento(func, historico)) { XMessageIts.Mensagem("Departamento alterado com sucesso"); //atualiza o objeto de onde foi chamado this.func.Departamento = depto; this.Dispose(); } } } }
public bool UpdateDepartamento(Funcionario func, HistoricoDepartamento historico) { using (var ctx = new BalcaoContext()) { var current = ctx.FuncionarioDao.Find(func.IdFuncionario); current.IdDepartamento = historico.IdDepartamento; current.HistoricoDepartamento.Add(historico); return(ctx.FuncionarioDao.Update(current)); } }