mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
96 lines
3.2 KiB
C#
96 lines
3.2 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace GildedRoseKata
|
|
{
|
|
public class GildedRose
|
|
{
|
|
IList<Item> Items;
|
|
|
|
public GildedRose(IList<Item> Items)
|
|
{
|
|
this.Items = Items;
|
|
}
|
|
|
|
public void UpdateQuality()
|
|
{
|
|
for (var i = 0; i < Items.Count; i++)
|
|
{
|
|
int qualityModifier = Items[i].Name.StartsWith("Conjured") ? 2 : 1;
|
|
{
|
|
if (Items[i].Name != "Aged Brie" && Items[i].Name != "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (Items[i].Quality > 0)
|
|
{
|
|
if (Items[i].Name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
Items[i].Quality -= qualityModifier;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality += 1;
|
|
|
|
if (Items[i].Name == "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (Items[i].SellIn < 11)
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality += qualityModifier;
|
|
}
|
|
}
|
|
|
|
if (Items[i].SellIn < 6)
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality += qualityModifier;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (Items[i].Name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
Items[i].SellIn -= 1;
|
|
}
|
|
|
|
if (Items[i].SellIn < 0)
|
|
{
|
|
if (Items[i].Name != "Aged Brie")
|
|
{
|
|
if (Items[i].Name != "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (Items[i].Quality > 0)
|
|
{
|
|
if (Items[i].Name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
Items[i].Quality -= qualityModifier;
|
|
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Items[i].Quality = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Items[i].Quality < 50)
|
|
{
|
|
Items[i].Quality += qualityModifier;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|