Commit Graph

336 Commits

Author SHA1 Message Date
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
3e5c9e8436 Fix cases of Access instead of Realm 2022-01-25 12:58:15 +09:00
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
a5d2047f05 Fix various cases of creating realm contexts from update thread when not necessary 2022-01-21 01:44:56 +09:00
3c852e6d02 Avoid constructor overhead for realm ScoreInfo parameterless constructor 2022-01-20 16:47:27 +09:00
18886f5d2e Use empty string instead of empty array for ModsJson when no mods are present
Not really correct, but this is how most scores have been stored until
now so let's do this for consistency.
2022-01-19 14:34:27 +09:00
664b4fdaf0 Fix legacy score imports not correctly getting classic mod assigned 2022-01-19 14:34:27 +09:00
3bc091fe6d Add ignore rules on more helper properties 2022-01-19 09:46:45 +09:00
a5862ca00d Improve reliability of mod deserialisation 2022-01-18 15:46:27 +09:00
9a43ed742b Update automapper spec in line with v11
See https://docs.automapper.org/en/latest/11.0-Upgrade-Guide.html for
 more details.
2022-01-18 15:23:28 +09:00
ebc9d3a613 Fix playlist aggregate scores not displaying (again) 2022-01-18 11:57:38 +09:00
a0e2106468 Guard against null values getting inserted into database during score/beatmap imports 2022-01-17 14:05:08 +09:00
744084b418 Initialise all parameters is paramaterless constructor for now for added safety 2022-01-17 13:51:30 +09:00
d27ee2c9fb Remove incorrect IsManaged check in ScoreManager 2022-01-17 13:37:42 +09:00
a3806f44a5 Add back null beatmap allowance to GetTotalScore flow to fix playlist aggregate scores 2022-01-17 13:11:43 +09:00
9b33fbbee5 Ensure detached when performing model Clone operations on BeatmapInfo/ScoreInfo 2022-01-14 13:08:20 +09:00
c61419dfe5 Fix scores not using correct filename/display strings
I've updated all cases where we should have been using
`GetDisplayString()` anyway, but left the `ToString()` implementations
in place for safety. They should probably be removed in the future.
2022-01-13 16:56:11 +09:00
bdb2979b2e Remove async from Populate method 2022-01-13 16:36:54 +09:00
65dd80e6f6 Sanitise mods / statistics cache logic in ScoreInfo 2022-01-13 12:59:16 +09:00
4c79145c11 Fix potential mod nullref in APIUserScoreAggregate's CreateScoreInfo implementation 2022-01-13 00:28:16 +09:00
eb70a1eeb7 Replace compatibility properties with direct references 2022-01-12 18:13:14 +09:00
a4de0f93fa Move manager Update methods to be explicit to where they are still used by legacy code
Also fixes skin hash repopulation being completely broken.
2022-01-12 17:49:11 +09:00
f451560203 Update null allowances across beatmaps and scores 2022-01-12 17:49:11 +09:00
ae8f522c20 Add support for persisting score's mods to realm 2022-01-12 17:49:10 +09:00
d8e75a9de4 Reimplmeent IsAvailableLocally as an abstract method 2022-01-12 17:49:10 +09:00
ba62d2c756 Fix ScoreInfo oversights causing automapper to fail
Parameter in ctor *has* to be named `realmUser` else automapper will try
to map to the `User` property.
2022-01-12 17:48:49 +09:00
83ccbc1d13 Mention safety failures of Beatmap/Score constructors 2022-01-12 17:00:17 +09:00
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
13401a8846 Better handle Statistics to avoid losing data 2022-01-12 17:00:17 +09:00
aaefd72c69 Handle ignored mappings locally in Detach configuration 2022-01-12 17:00:17 +09:00
2b8706b6ce Detach and reattach scores to make work 2022-01-12 17:00:16 +09:00
fe8a5e867d Remove updated/removed flow method mapping 2022-01-12 17:00:16 +09:00
1f9318265e Update ToLive usages in line with recent changes 2022-01-12 17:00:16 +09:00
8d943b5709 Fix many shortcomings and compatibility issues with EF classes post-rename 2022-01-12 17:00:16 +09:00
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +09:00
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
aac2aa341c Update some more incorrect types for primary key access/set 2022-01-12 16:57:27 +09:00
2a4bee61dd Update many score-related classes to move closer to being able to persist to realm 2022-01-12 16:57:27 +09:00
e44751c275 Add required properties for compatibility with existing code 2022-01-12 16:57:27 +09:00
638b3d9161 Add statistics storage to realm model 2022-01-12 16:57:27 +09:00
3da762e145 Replace EF ScoreInfo with realm version
May contain errors.
2022-01-12 16:57:27 +09:00
c5e401d678 Update usages to consume IRulesetStore 2022-01-12 16:57:27 +09:00
89d6ffa7f3 Use RealmContextFactory instead of EF 2022-01-12 16:39:36 +09:00
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
3ea7588a91 Update continuation usages to use GetCompletedResult 2022-01-06 22:53:07 +09:00
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00