public static IEnumerable <T> GetFromRepository <T>(QuerySpecification querySpecification = null) where T : class, new() { using (var ctx = ContextRegistry.NamedContextsFor( ContextRegistry.CreateNamed(ContextRegistry.Kind, UnikContextTypes.UnikWarehouseContextResourceKind))) { List <T> reports = new List <T>(); var repository = ReportDataProvider.OpenCoreRepository <T>(); Func <QuerySpecification, DataEnvelope <T, NoMetadata> > function = null; if (querySpecification == null) { function = qe => repository.All(); } else { function = qe => repository.Query(qe); } bool loop = true; while (loop) { var qr = function(querySpecification); if (qr.Items.Any()) { reports.AddRange(qr.Items.ToArray()); } qr.Bookmark.Forward(); loop = qr.Bookmark.More; } return(reports); } }
public static void StoreInRepository <T>(T document) where T : class, new() { using (var ctx = ContextRegistry.NamedContextsFor( ContextRegistry.CreateNamed(ContextRegistry.Kind, UnikContextTypes.UnikWarehouseContextResourceKind))) { var repository = ReportDataProvider.OpenCoreRepository <T>(); repository.Store(document); } }
public static void DeleteBatchInRepository <T>(List <T> list) where T : class, new() { using (var ctx = ContextRegistry.NamedContextsFor( ContextRegistry.CreateNamed(ContextRegistry.Kind, UnikContextTypes.UnikWarehouseContextResourceKind))) { var repository = ReportDataProvider.OpenCoreRepository <T>(); repository.DeleteBatch(list); } }
public static ReportDataProvider GetInstance() { singleton = singleton ?? new ReportDataProvider(); return(singleton); }