private void SalvarEAtualizarUsuario(UsuarioLogado usuario) { // Localizar usuário no banco var query = PredicateBuilder.New <UsuarioSguEntity>(); if (usuario.IdUsuarioNoSgu == null) { query = query.And(a => a.Nome == usuario.Nome).And(a => a.Login == usuario.Login); } else { query = query.And(a => a.IdSgu == usuario.IdUsuarioNoSgu); } var usuEntity = _context.UsuarioSgu.AsExpandable().FirstOrDefault(query); // Cria e adiciona o objeto caso ainda nao exista. if (usuEntity == null) { usuEntity = new UsuarioSguEntity(); _context.UsuarioSgu.Add(usuEntity); } // Atualiza Campos usuEntity.IdSgu = usuario.IdUsuarioNoSgu; usuEntity.Nome = usuario.Nome; usuEntity.Login = usuario.Login; usuEntity.Email = usuario.Email; _context.SaveChanges(); // Atualizar a chave usuario.IdUsuarioNoSistema = usuEntity.IdUsuarioSgu; }
public static SuperUsuarioLogado ParaSuperUsuarioLogado(UsuarioSguEntity entity) { return(new SuperUsuarioLogado { IdUsuarioNoSistema = entity.IdUsuarioSgu, IdUsuarioNoSgu = entity.IdSgu, Nome = entity.Nome, Login = entity.Login, Email = entity.Email // TODO: Carregar Perfil e Autorizacoes. Nao mecher nesta parte sem supervisao do lider tecnico. }); }