public bool UpdateRecord(Record record) { var existing = Records.FirstOrDefault(x => x.Key == record.Key); if (existing == null) { Records.Add(record); return true; } if (record.Seconds <= existing.Seconds) { Records.Remove(existing); Records.Add(record); return true; } return false; }
public void FinishGame() { StopGame(); var seconds = decimal.Round(Elapsed, 1, MidpointRounding.AwayFromZero); var record = new Record(Deck, seconds); var isNewRecord = User.UpdateRecord(record); if (isNewRecord) UserStorage.SaveUser(User); var type = isNewRecord ? MessageType.NewRecord : MessageType.NoRecord; _dispatcher.PublishMessage(type, record); }
private void NoRecord(Record record) { IsNewRecord = false; Message = string.Format(UserMessageConfiguration.Messages[UserMessage.NoRecord], GameManager.User.Name, record.Description, record.DisplayTime); }