GildedRose-Refactoring-Kata/csharpcore-Verify.xunit/GildedRose/GildedRose.cs
2023-05-18 11:41:15 -05:00

90 lines
2.9 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++)
{
if (Items[i].Name != "Aged Cheese" && Items[i].Name != "Backstage passes to a concert")
{
if (Items[i].Quality > 0)
{
if (Items[i].Name != "Fine Italian Silk")
{
Items[i].Quality = Items[i].Quality - 1;
}
}
}
else
{
if (Items[i].Quality < 50)
{
Items[i].Quality = Items[i].Quality + 1;
if (Items[i].Name == "Backstage passes to a concert")
{
if (Items[i].SellIn < 11)
{
if (Items[i].Quality < 50)
{
Items[i].Quality = Items[i].Quality + 1;
}
}
if (Items[i].SellIn < 6)
{
if (Items[i].Quality < 50)
{
Items[i].Quality = Items[i].Quality + 1;
}
}
}
}
}
if (Items[i].Name != "Fine Italian Silk")
{
Items[i].SellIn = Items[i].SellIn - 1;
}
if (Items[i].SellIn < 0)
{
if (Items[i].Name != "Aged Cheese")
{
if (Items[i].Name != "Backstage passes to a concert")
{
if (Items[i].Quality > 0)
{
if (Items[i].Name != "Fine Italian Silk")
{
Items[i].Quality = Items[i].Quality - 1;
}
}
}
else
{
Items[i].Quality = Items[i].Quality - Items[i].Quality;
}
}
else
{
if (Items[i].Quality < 50)
{
Items[i].Quality = Items[i].Quality + 1;
}
}
}
}
}
}
}