C# DB Advanced Exam - 08 August 2020 - Последната задача
Здравейте колеги,
на последната задача от този изпит - ExportUserPurchasesByType
получавам пълно съвпадение на Export Result и Expected Result,
двата файла са напълно идентични, но Джъдж не ми дава точките
и ми изкарва това съобщение:
1) Failed : Export_000_002.ExportUserPurchasesByType : ExportUserPurchasesByType output is incorrect! Expected string length 10349 but was 9163. Strings differ at index 23.
Някой може ли да помогне със съвет какво трябва
да се направи в този случай?
Много благодаря!
Ето го и кода на задачката:
public static string ExportUserPurchasesByType(VaporStoreDbContext context, string storeType)
        {
            var users = context.Users.ToArray()
                .Where(u => u.Cards.Any(c => c.Purchases.Any
                      (p => p.Type.ToString() == storeType)))
                .Select(u => new ExportUserDto
                {
                    Username = u.Username,
                    TotalSpent = u.Cards.Sum(c => c.Purchases
                    .Where(p => p.Type.ToString() == storeType)
                    .Sum(p => p.Game.Price)),
                    Purchases = u.Cards.SelectMany(c => c.Purchases)
                    .Where(p => p.Type.ToString() == storeType)
                    .Select(p => new ExportUserPurchaseDto
                    {
                        CardNumber = p.Card.Number,
                        CardCvc = p.Card.Cvc,
                        Date = p.Date.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture),
                        Game = new ExportUserPurchaseGameDto
                        {
                            Name = p.Game.Name,
                            Genre = p.Game.Genre.Name,
                            Price = p.Game.Price
                        }
                    }).OrderBy(x => x.Date).ToArray(),
                })
                .OrderByDescending(u => u.TotalSpent)
                .ThenBy(u => u.Username)
                .ToArray();
var serializer = new XmlSerializer(typeof(ExportUserDto[]), new XmlRootAttribute("Users"));
            var ns = new XmlSerializerNamespaces();
            ns.Add(string.Empty, string.Empty);
var writer = new StringWriter();
serializer.Serialize(writer, users, ns);
return writer.ToString().TrimEnd();
[XmlType("User")]
    public class ExportUserDto
    {
        [XmlAttribute("username")]
        public string Username { get; set; }
        [XmlArray("Purchases")]
        public ExportUserPurchaseDto[] Purchases { get; set; }
        [XmlElement("TotalSpent")]
        public decimal TotalSpent { get; set; }
    }
[XmlType("Purchase")]
    public class ExportUserPurchaseDto
    {
        [XmlElement("Card")]
        public string CardNumber { get; set; }
        [XmlElement("Cvc")]
        public string CardCvc { get; set; }
        [XmlElement("Date")]
        public string Date { get; set; }
        [XmlElement("Game")]
        public ExportUserPurchaseGameDto Game { get; set; }
    }
[XmlType("Game")]
    public class ExportUserPurchaseGameDto
    {
        [XmlAttribute("title")]
        public string Name { get; set; }
        [XmlElement("Genre")]
        public string Genre { get; set; }
        [XmlElement("Price")]
        public decimal Price { get; set; }
    }