/// <summary> /// Altera assíncrono o registro na base de dados. /// </summary> /// <param name="filtro">Expressão LAMBDA.</param> /// <param name="registro">Informe o objeto.</param> /// <param name="opcao">Opções para um comando findAndModify para atualizar um objeto.</param> /// <returns>Retorna o registro atualizado.</returns> public virtual async Task <T> AlterarAsync(Expression <Func <T, bool> > filtro, UpdateDefinition <T> registro, FindOneAndUpdateOptions <T> opcao = null) { try { Buscar(filtro); return(await Colecao.FindOneAndUpdateAsync(filtro, registro, opcao)); } catch (Exception) { throw; } }
/// <summary> /// Altera assíncrono o registro na base de dados. /// </summary> /// <param name="filtro">Expressão LAMBDA.</param> /// <param name="registro">Informe o objeto.</param> /// <param name="opcao">Opções para um comando findAndModify para atualizar um objeto.</param> /// <returns>Retorna o registro atualizado.</returns> public virtual async Task <T> AlterarAsync(Expression <Func <T, bool> > filtro, T registro, FindOneAndUpdateOptions <T> opcao) { try { Buscar(filtro); var novo = registro.ToJson(); return(await Colecao.FindOneAndUpdateAsync(sessao, filtro, novo, opcao)); } catch (Exception) { throw; } }