public async Task <ArticuloSuplidor> GetAsync(string articulo) { ArticuloSuplidor result = new ArticuloSuplidor(); await _articuloSup.Aggregate().Match(z => z.codigoArticulo == articulo) .Group( new BsonDocument { { "_id", new BsonDocument { { "arti", "$codigoArticulo" }, { "sup", "$codigoSupidor" } } }, { "minQuantity", new BsonDocument("$min", "$tiempoEntrega") }, { "minVal", new BsonDocument("$min", "$precioCompra") } }) .Limit(1) .ForEachAsync(bson => { var symbolData = bson["_id"]; var minQ = bson["minQuantity"]; var minV = bson["minVal"]; result.codigoArticulo = symbolData["arti"].AsString; result.codigoSupidor = symbolData["sup"].AsString; result.precioCompra = minQ.AsDouble; result.tiempoEntrega = minV.AsDouble; }); return(result); }
public async Task <ActionResult <ArticuloSuplidor> > GetAsync(string id) { // ArticuloSuplidor suplidor; Task <ArticuloSuplidor> suplidor = _articuloSupService.GetAsync(id); ArticuloSuplidor sup = await suplidor; if (sup == null) { return(NotFound()); } return(sup); }