public virtual ResultWithEntities <T> GetMany(IEnumerable <TKey> ids) { var objectids = new List <ObjectId>(); foreach (var id in ids) { objectids.Add(new ObjectId(id as string)); } var result = new ResultWithEntities <T>(); try { var filter = Builders <T> .Filter.In("_id", objectids); var entities = collection.Find(filter).ToList(); if (entities != null) { result.Entities = entities; result.Success = true; } return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
public virtual ResultWithEntities <T> GetAll() { var result = new ResultWithEntities <T>(); try { var entities = collection.Find(x => x.Id != null).ToList(); if (entities != null) { result.Entities = entities; } result.Success = true; return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
public virtual ResultWithEntities <T> GetMany(Expression <Func <T, bool> > predicate) { var result = new ResultWithEntities <T>(); try { var entities = collection.Find(predicate).ToList(); if (entities != null) { result.Entities = entities; } result.Success = true; return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
public ResultWithEntities <T> GetMany(FilterDefinition <T> filter) { var result = new ResultWithEntities <T>(); try { var entities = collection.Find(filter).ToList(); if (entities != null) { result.Entities = entities; result.Success = true; } return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
public virtual ResultWithEntities <T> GetAll(int?page, int pageSize, out long pages) { var result = new ResultWithEntities <T>(); pages = 0; try { var entities = collection.Find(new BsonDocument()).Skip((page - 1) * pageSize).Limit(pageSize).ToList(); pages = collection.Find(new BsonDocument()).Count() / pageSize; if (entities != null) { result.Entities = entities; } result.Success = true; return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
// Ids list doesn't work with predicate // change did= //public virtual ResultWithEntities<T> GetMany(string filterName, List<TKey> values) //{ // var objectIds = new List<ObjectId>(); // values.ForEach(id => objectIds.Add(new ObjectId(id as string))); // var filter = Builders<T>.Filter.In(filterName, objectIds); // return GetMany(filter); //} public virtual ResultWithEntities <T> GetMany(Expression <Func <T, bool> > predicate, int?page, int pageSize, out long pages) { var result = new ResultWithEntities <T>(); pages = 0; try { var entities = collection.Find(predicate).Skip((page - 1) * pageSize).Limit(pageSize).ToList(); pages = collection.Find(predicate).Count() / pageSize; if (entities != null) { result.Entities = entities; } result.Success = true; return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }
public ResultWithEntities <T> GetMany(FilterDefinition <T> filter, int?page, int pageSize, out long pages) { var result = new ResultWithEntities <T>(); pages = 0; try { var entities = collection.Find(filter).Skip((page - 1) * pageSize).Limit(pageSize).ToList(); pages = (int)Math.Ceiling((decimal)collection.Find(filter).Count() / pageSize); //pages = collection.Find(filter).Count() / pageSize; if (entities != null) { result.Entities = entities; result.Success = true; } return(result); } catch (Exception ex) { result.Message = ex.Message; return(result); } }