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
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);
|
|
}
|
|
|
|
}
|
|
}
|