You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.9 KiB

using w230415_classes.Intf;
namespace w230415_classes
{
public class Casino : ICasino
{
protected List<CGame> GameList = new List<CGame>();
/// <summary>
/// Create [C]
/// </summary>
/// <param name="name"></param>
/// <param name="cash"></param>
/// <returns></returns>
public bool AddGame(string name, double cash)
{
GameList.Add(new CGame() { Name = name, Cash = cash, Serial = Guid.NewGuid().ToString("N") });
return true;
}
/// <summary>
/// Read [R] list
/// </summary>
/// <returns></returns>
public IEnumerable<IGame> GetActiveList()
{
List<Game> list = new List<Game>();
foreach (Game? g in GameList)
{
if (g.IsActive)
{
list.Add(g);
}
}
return list;
}
/// <summary>
/// Read [R] single
/// </summary>
/// <returns></returns>
public IGame? GetGame(string uid)
{
return GameList.FirstOrDefault(p => p.Serial.Equals(uid));
}
/// <summary>
/// Update [U]
/// </summary>
/// <param name="uid"></param>
/// <param name="isActive"></param>
/// <returns></returns>
public bool ChangeGameState(string uid, bool isActive)
{
var pp = GameList.FirstOrDefault(p => p.Serial.Equals(uid));
if (pp == null) return false;
pp.IsActive = isActive;
return true;
}
/// <summary>
/// Delete [D] single
/// </summary>
/// <returns></returns>
public bool RemoveGame(string uid)
{
var pp = GameList.FirstOrDefault(p => p.Serial.Equals(uid));
if (pp == null) return false;
return GameList.Remove(pp);
}
}
}