public static async Task RenameFile <T, TKey>(this GenericRepositoryAsync <T, TKey> repo, ObjectId id, string newFileName, CancellationToken token = default(CancellationToken)) where T : IDocument <TKey>, new() where TKey : IEquatable <TKey> { var bucket = repo.Connector.GetBucket(repo.CollectionName); if (bucket == null) { return; } await bucket.RenameAsync(id, newFileName, token); }
public static async Task <byte[]> DownloadFile <T, TKey>(this GenericRepositoryAsync <T, TKey> repo, ObjectId id, CancellationToken token = default(CancellationToken)) where T : IDocument <TKey>, new() where TKey : IEquatable <TKey> { var bucket = repo.Connector.GetBucket(repo.CollectionName); if (bucket == null) { return(null); } return(await bucket.DownloadAsBytesAsync(id, cancellationToken : token)); }
public static async Task <ObjectId> UploadFile <T, TKey>(this GenericRepositoryAsync <T, TKey> repo, string fileName, byte[] source, CancellationToken token = default(CancellationToken)) where T : IDocument <TKey>, new() where TKey : IEquatable <TKey> { var bucket = repo.Connector.GetBucket(repo.CollectionName); if (bucket == null) { return(new ObjectId()); } return(await bucket.UploadFromBytesAsync(fileName, source, cancellationToken : token)); }
public async Task AddNewSale() { var context = new SalesDBContext(Config.GetConnection()); IGenericRepositoryAsync <Sale> _repository = new GenericRepositoryAsync <Sale>(context); var service = new GenericServiceAsync <Sale>(_repository); List <Sale> sales = new List <Sale> { new Sale { Id = id, Region = "America do Sul", Country = "Argentina", ItemType = "Feijao", SalesChannel = "Online", OrderPriority = "H", OrderDate = DateTime.Now.AddMonths(-7), OrderId = "555325", ShipDate = DateTime.Now.AddMonths(-4), UnitsSold = 1530, UnitPrice = 3367, UnitCost = 2123, TotalRevenue = 114.57M, TotalCost = 520, TotalProfit = 25350 }, new Sale { Id = id, Region = "Europa", Country = "Ireland", ItemType = "Tapioca", SalesChannel = "Online", OrderPriority = "H", OrderDate = DateTime.Now.AddMonths(-22), OrderId = "2223", ShipDate = DateTime.Now.AddMonths(-13), UnitsSold = 53220, UnitPrice = 423, UnitCost = 2352, TotalRevenue = 1545.5M, TotalCost = 32460, TotalProfit = 32500 } }; foreach (var item in sales) { await service.Add(item).ConfigureAwait(false); } await service.SaveAsync(); Assert.True(true); }
public static async Task <long> Count <T, TKey>(this GenericRepositoryAsync <T, TKey> repo, double latitude, double longitude, double distance, Expression <Func <T, bool> > filter, CancellationToken token = default(CancellationToken)) where T : IDocument <TKey>, ILocationDocument, new() where TKey : IEquatable <TKey> { if (!(await repo.ExistCollection(token))) { return(0); } FilterDefinition <T> query = null; if (distance > 100 && distance < 50000) { var gp = new GeoJsonPoint <GeoJson2DGeographicCoordinates>(new GeoJson2DGeographicCoordinates(latitude, longitude)); query = Builders <T> .Filter.Near(s => s.Location, gp, distance); } query = query != null ? query & filter : filter; return(await repo.Collection.CountAsync(query, cancellationToken : token)); }
public static async Task <GridFSFileInfo> GetFileInfo <T, TKey>(this GenericRepositoryAsync <T, TKey> repo, string fileName, CancellationToken token = default(CancellationToken)) where T : IDocument <TKey>, new() where TKey : IEquatable <TKey> { var bucket = repo.Connector.GetBucket(repo.CollectionName); if (bucket == null) { return(null); } var filter = Builders <GridFSFileInfo> .Filter.Eq(x => x.Filename, fileName); var sort = Builders <GridFSFileInfo> .Sort.Descending(x => x.UploadDateTime); var options = new GridFSFindOptions { Limit = 1, Sort = sort }; return(await bucket.Find(filter, options).FirstAsync(token)); }
public CustomerAsyncController() { CusRepo = new GenericRepositoryAsync <Customer>("customers"); }