public UsersProductsDto GetUsersSoldProducts() { var collection = new UsersProductsDto() { usersCount = this.Context.Users .Include(p => p.ProductsSelled) .Where(x => x.ProductsSelled.Count > 0).Count(), users = this.Context.Users.Where(x => x.ProductsSelled.Count > 0) .Select(u => new UserDto() { firstName = u.FirstName, lastName = u.LastName, age = u.Age, soldProducts = u.ProductsSelled .Select(p => new SoldProductsDtoByNameAndPrice() { count = u.ProductsSelled.Count, products = u.ProductsSelled .Select(x => new ProductDto() { name = x.ProductName, price = x.ProductPrice }).ToArray(), }).ToArray(), }) .OrderByDescending(x => x.soldProducts.Count) .ThenBy(x => x.lastName) .ToArray(), }; return(collection); }
private static void GetUsersAndProducts(ProductShopContext context, IMapper mapper) { var users = new UsersProductsDto() { UsersCount = context.Users.Count(), Users = context.Users .Where(u => u.ProductsSold.Count > 0) .OrderByDescending(u => u.ProductsSold.Count) .ThenBy(u => u.LastName) .Select(u => new UserProductsDto { FirstName = u.FirstName, LastName = u.LastName, Age = u.Age, SoldProducts = new ProductsUsersDto { Count = u.ProductsSold.Count, Products = u.ProductsSold.Select(p => new ProductUsersDto { Name = p.Name, Price = p.Price }).ToArray() } }).ToArray() }; var json = JsonConvert.SerializeObject(users, Formatting.Indented); File.WriteAllText("../../../ExportFiles/users-and-products.json", json); }
private static void UsersAndProducts(ProductShopContext context) { var users = new UsersProductsDto { UsersCount = context.Users.Count(), Users = context.Users .Where(u => u.ProductsSold.Count > 0) .OrderByDescending(u => u.ProductsSold.Count) .ThenBy(u => u.LastName) .Select(u => new UserProductsDto { FirstName = u.FirstName, LastName = u.LastName, Age = u.Age.ToString(), SoldProducts = new Sold_ProductsDto { ProductsCount = u.ProductsSold.Count, Products = u.ProductsSold.Select(pr => new Sold_ProductDto { Name = pr.Name, Price = pr.Price }).ToList() } }).ToList() }; var serializer = new XmlSerializer(typeof(UsersProductsDto), new XmlRootAttribute("users")); using (var writer = new StreamWriter("../../../OutXMLFiles/users-and-products")) { serializer.Serialize(writer, users, new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty })); } }
internal static void ExportUsersSoldProducts() { UsersProductsDto userProducts = jsonService.GetUsersSoldProducts(); String jsonString = JsonConvert .SerializeObject(userProducts, Formatting.Indented, new JsonSerializerSettings() { DefaultValueHandling = DefaultValueHandling.Ignore, FloatFormatHandling = FloatFormatHandling.DefaultValue }); String filePath = @"..\ProductShop.Resources\JsonExport\user-and-products.json"; File.WriteAllText(filePath, jsonString); }