예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        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);
            }
        }