public async Task <IActionResult> SetStampSlot([FromBody] SetStampSlot.Request req) { var db = PDBSM.PersonalDBContext(SelfHost.playerInfo.playerId); if (!await Validation(req.mobileSuitIds, evolib.Item.Type.Stamp, req.stampItemIds, db)) { return(BuildErrorResponse(Error.LowCode.BadParameter)); } var playerId = SelfHost.playerInfo.playerId; var rs = new DbRecordsStocker(); await rs.Init(PDBSM, new List <long>() { playerId }, req.mobileSuitIds); var res = new SetStampSlot.Response(); res.settings = new List <Setting>(); for (int i = 0; i < req.mobileSuitIds.Count; i++) { var msId = req.mobileSuitIds[i]; var result = rs.Get(playerId, msId, MasterData); await result.AddToDb(PDBSM); result.msRecord.stampSlotItemId1 = req.stampItemIds[0]; result.msRecord.stampSlotItemId2 = req.stampItemIds[1]; result.msRecord.stampSlotItemId3 = req.stampItemIds[2]; result.msRecord.stampSlotItemId4 = req.stampItemIds[3]; res.settings.Add(result.ToSetting()); Logger.Logging( new LogObj().AddChild(new LogModels.ChangePalletItem { PlayerId = playerId, Date = DateTime.UtcNow, UnitId = msId, ItemType = evolib.Item.Type.Stamp, ItemIds = req.stampItemIds, }) ); } await db.SaveChangesAsync(); return(Ok(res)); }
public async Task <IActionResult> SetMvpCelebration([FromBody] SetMvpCelebration.Request req) { var db = PDBSM.PersonalDBContext(SelfHost.playerInfo.playerId); if (!await Validation(new List <string>() { req.mobileSuitId }, evolib.Item.Type.MvpCelebration, new List <string>() { req.mvpCelebrationItemId }, db)) { return(BuildErrorResponse(Error.LowCode.BadParameter)); } var playerId = SelfHost.playerInfo.playerId; var msId = req.mobileSuitId; var rs = new DbRecordsStocker(); await rs.Init(PDBSM, new List <long>() { playerId }, new List <string>() { msId }); var result = rs.Get(playerId, msId, MasterData); await result.AddToDb(PDBSM); result.msRecord.mvpCelebrationItemId = req.mvpCelebrationItemId; await db.SaveChangesAsync(); Logger.Logging( new LogObj().AddChild(new LogModels.ChangeCustomItem { PlayerId = playerId, Date = DateTime.UtcNow, UnitId = msId, ItemType = evolib.Item.Type.MvpCelebration, ItemId = req.mvpCelebrationItemId, }) ); return(Ok(new SetMvpCelebration.Response { setting = result.ToSetting(), })); }
public async Task <IActionResult> GetSettingsList([FromBody] GetSettingsList.Request req) { var res = new GetSettingsList.Response(); res.settingsList = new List <GetSettingsList.Settings>(); var rs = new DbRecordsStocker(); await rs.Init(PDBSM, req.playerIds); foreach (var playerId in req.playerIds) { var settings = new GetSettingsList.Settings { playerId = playerId, settings = new List <Setting>(), }; foreach (var msId in MasterData.AllMobileSuitIds) { var result = rs.Get(playerId, msId, MasterData); if (SelfHost.hostType == HostType.Player && playerId == SelfHost.playerInfo.playerId) { await result.AddToDb(PDBSM); } settings.settings.Add(result.ToSetting()); } res.settingsList.Add(settings); } if (SelfHost.hostType == HostType.Player) { await PDBSM.PersonalDBContext(SelfHost.playerInfo.playerId).SaveChangesAsync(); } return(Ok(res)); }