Advertisement
knoteva

Untitled

Dec 1st, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.95 KB | None | 0 0
  1. // 06. Export Sold Products
  2.         public static string GetSoldProducts(ProductShopContext context)
  3.         {
  4.             var soldProducts = context.Users
  5.                  .Where(u => u.ProductsSold.Any(ps => ps.Buyer != null))
  6.                  .Select(u => new
  7.                  {
  8.                      firstName = u.FirstName,
  9.                      lastName = u.LastName,
  10.                      soldProducts = u.ProductsSold
  11.                      .Where(ps => ps.Buyer != null)
  12.                      .Select(ps => new
  13.                      {
  14.                          name = ps.Name,
  15.                          price = ps.Price,
  16.                          buyerFirstName = ps.Buyer.FirstName,
  17.                          buyerLastName = ps.Buyer.LastName
  18.  
  19.                      })
  20.                  })
  21.  
  22.                  .OrderBy(u => u.lastName)
  23.                  .ThenBy(u => u.firstName)
  24.                  .ToList();
  25.  
  26.             var jsonSoldProducts = JsonConvert.SerializeObject(soldProducts, Formatting.Indented);
  27.             return jsonSoldProducts;
  28.         }
  29.  
  30.         // 07. Export Categories By Products Count
  31.         public static string GetCategoriesByProductsCount(ProductShopContext context)
  32.         {
  33.             var categoriesByProductsCount = context.Categories              
  34.                 .Select(x => new
  35.                 {
  36.                     category = x.Name,
  37.                     productsCount = x.CategoryProducts.Count(),
  38.                     averagePrice = $@"{x.CategoryProducts
  39.                    .Sum(p => p.Product.Price) / x.CategoryProducts.Count():F2}",
  40.                    totalRevenue = $"{x.CategoryProducts.Sum(p => p.Product.Price):F2}"
  41.                 })
  42.                 .OrderByDescending(x => x.productsCount)
  43.                 .ToList();
  44.  
  45.                 var jsonCategoriesByProductsCount = JsonConvert.SerializeObject(categoriesByProductsCount, Formatting.Indented);
  46.             return jsonCategoriesByProductsCount;
  47.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement