/// <summary> /// Copies a ticket. /// </summary> /// <returns></returns> public Ticket Copy() { var ticket = new Ticket(Source, Assembly); for (int i = 0; i < _reasons.Count(); i++) { ticket.AddReason(_reasons.ElementAt(i)); } return(ticket); }
/// <summary> /// Disables score submission for the currently played level. /// </summary> /// <param name="source">The name of the entity that is disabling score submission.</param> /// <param name="subsource">A secondary source that is disabling score submission. Use this to be more specific about why submission is being disabled (ex. specific modifier)</param> /// <returns>A ticket which can be used to disable the disabling of score submission.</returns> public Ticket DisableScoreSubmission(string source, string subsource = null) { var ticket = _tickets.FirstOrDefault(x => x.Source == source); if (ticket is null) { ticket = new Ticket(source, Assembly.GetCallingAssembly()); _tickets.Add(ticket); ticket.AddReason(subsource); } else { ticket.AddReason(subsource); } return(ticket); }