/// <summary> /// GetAndUpdateOne with filter /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="filter"></param> /// <param name="update"></param> /// <param name="options"></param> /// <returns></returns> public async Task <GetOneResult <TEntity> > GetAndUpdateOne <TEntity>(FilterDefinition <TEntity> filter, UpdateDefinition <TEntity> update, FindOneAndUpdateOptions <TEntity, TEntity> options) where TEntity : class, new() { var result = new GetOneResult <TEntity>(); try { var collection = GetCollection <TEntity>(); result.Entity = await collection.FindOneAndUpdateAsync(filter, update, options); result.Success = true; result.Message = "OK"; return(result); } catch (Exception ex) { result.Message = HelperService.NotifyException("GetAndUpdateOne", "Exception getting and updating entity: " + typeof(TEntity).Name, ex); return(result); } }
public GetOneResult <TEntity> GetOne <TEntity>(FilterDefinition <TEntity> filter) where TEntity : class, new() { var res = new GetOneResult <TEntity>(); try { var collection = GetCollection <TEntity>(); var entity = collection.Find(filter).FirstOrDefault(); if (entity != null) { res.Entity = entity; } res.Success = true; return(res); } catch (Exception ex) { res.Message = HelperService.NotifyException("GetOne", "Exception getting one " + typeof(TEntity).Name, ex); return(res); } }