コード例 #1
0
        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);
        }
コード例 #2
0
 public async Task DeleteModBuildAsync(ModBuildEntity modBuild)
 {
     modBuild.Deleted = true;
     _database.ModBuilds.Update(modBuild);
     await _database.SaveChangesAsync();
 }