using System.Collections.Generic; namespace csharp { public class GildedRose { private readonly IList _items; public GildedRose(IList items) => _items = items; public void UpdateQuality() { foreach (var item in _items) { var qualityDegradationMultiplier = item.Name == "Conjured Mana Cake" ? 2 : 1; if (item.Name != "Aged Brie" && item.Name != "Backstage passes to a TAFKAL80ETC concert") { if (item.Quality > 0) { if (item.Name != "Sulfuras, Hand of Ragnaros") { item.Quality = item.Quality - qualityDegradationMultiplier; } } } else { if (item.Quality < 50) { item.Quality = item.Quality + 1; if (item.Name == "Backstage passes to a TAFKAL80ETC concert") { if (item.SellIn < 11) { if (item.Quality < 50) { item.Quality = item.Quality + 1; } } if (item.SellIn < 6) { if (item.Quality < 50) { item.Quality = item.Quality + 1; } } } } } if (item.Name != "Sulfuras, Hand of Ragnaros") { item.SellIn = item.SellIn - 1; } if (item.SellIn >= 0) { continue; } if (item.Name != "Aged Brie") { if (item.Name != "Backstage passes to a TAFKAL80ETC concert") { if (item.Quality <= 0) { continue; } if (item.Name != "Sulfuras, Hand of Ragnaros") { item.Quality = item.Quality - qualityDegradationMultiplier; } } else { item.Quality = item.Quality - item.Quality; } } else { if (item.Quality < 50) { item.Quality = item.Quality + 1; } } } } } }