public ActionResult Get()

in opbeans-dotnet/Controllers/StatsController.cs [16:46]


		public ActionResult<Stat> Get()
		{
			var retVal = new Stat();
			retVal.Orders = _dbDbContext.Orders.Count();
			retVal.Products = _dbDbContext.Orders.Count();
			retVal.Customers = _dbDbContext.Customers.Count();

			retVal.Numbers = new Numbers();
			retVal.Numbers.Revenue =
				_dbDbContext.OrderLines.Join(_dbDbContext.Products,
						orderLine => orderLine.OrderId,
						product => product.Id,
						(order, product) => new {Order = order, Product = product})
					.Sum(n => n.Order.Amount * n.Product.SellingPrice);

			retVal.Numbers.Cost =
				_dbDbContext.OrderLines.Join(_dbDbContext.Products,
						orderLine => orderLine.OrderId,
						product => product.Id,
						(order, product) => new {Order = order, Product = product})
					.Sum(n => n.Order.Amount * n.Product.Cost);

			retVal.Numbers.Profit =
				_dbDbContext.OrderLines.Join(_dbDbContext.Products,
						orderLine => orderLine.OrderId,
						product => product.Id,
						(order, product) => new {Order = order, Product = product})
					.Sum(n => n.Order.Amount * (n.Product.SellingPrice - n.Product.Cost));

			return retVal;
		}