public async Task <ModBuildEntity> CreateModBuildAsync(CreateModBuildRequest request) { var latestModBuildVersion = await _database.ModBuilds .CountAsync(entity => entity.ModId == request.ModId) + 1; var modBuildEntity = new ModBuildEntity { ModId = request.ModId, VersionCode = latestModBuildVersion, Version = request.Version, FileName = request.FileName, GameVersion = request.GameVersion, GamePlatform = request.GamePlatform, DownloadUrl = request.DownloadUrl, Deleted = false }; await _database.ModBuilds.AddAsync(modBuildEntity); foreach (var depId in request.DependencyIds) { await _database.ModDeps.AddAsync(new ModDepEntity { ModBuild = modBuildEntity, DepModBuildId = depId, }); } await _database.SaveChangesAsync(); return(modBuildEntity); }
public async Task DeleteModBuildAsync(ModBuildEntity modBuild) { modBuild.Deleted = true; _database.ModBuilds.Update(modBuild); await _database.SaveChangesAsync(); }