protected virtual void Dispose(bool canCleanUpManagedandNativeRessources) { if (canCleanUpManagedandNativeRessources) { if (_mappingEngine != null) { _mappingEngine.Dispose(); _mappingEngine = null; } } }
public virtual BaseResponse <T> Get <S, T>(Func <S, bool> where, ConfigurationStore mapperConfig = null) where S : class where T : class { BaseResponse <T> response = new BaseResponse <T>(); var findItem = _unitOfWork.GetRepository <S>().dbSet.FirstOrDefault(where); if (findItem != null) { if (mapperConfig == null) { Mapper.CreateMap <S, T>(); response.Data = Mapper.Map <T>(findItem); } else { var engine = new MappingEngine(mapperConfig); response.Data = engine.Map <T>(findItem); engine.Dispose(); } } return(response); }
public virtual BaseResponse <IList <T> > Query <S, T>(BaseRequest request, Func <IQueryable <S>, IQueryable <S> > whereAndOrderBy, ConfigurationStore mapperConfig = null) where S : class { BaseResponse <IList <T> > response = new BaseResponse <IList <T> >(); var q = from m in _unitOfWork.GetRepository <S>().dbSet select m; if (whereAndOrderBy != null) { q = whereAndOrderBy(q); } response.RecordsCount = q.Count(); List <S> list = null; if (request != null && request.PageSize > 0) { list = q.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize).ToList(); response.PagesCount = GetPagesCount(request.PageSize, response.RecordsCount); } else { list = q.ToList(); } if (mapperConfig == null) { Mapper.CreateMap <S, T>(); response.Data = Mapper.Map <IList <T> >(list); } else { var engine = new MappingEngine(mapperConfig); response.Data = engine.Map <IList <T> >(list); engine.Dispose(); } return(response); }