示例#1
0
        public async Task <bool> AddCharacterToSession(string characterId, string sessionId)
        {
            sessionId   = sessionId.Substring(1);
            characterId = characterId.Substring(1);
            Session toUpdate = await _SessionRepo.GetSession(new ObjectId(sessionId));

            if (toUpdate == null)
            {
                return(false);
            }
            toUpdate.playersList.Add(Request.Cookies["id"], characterId);
            if (string.IsNullOrEmpty(toUpdate.sessionMaster.ToString()))
            {
                toUpdate.sessionMaster = new ObjectId(Request.Cookies["id"]);
            }
            bool res = await _SessionRepo.AddPlayerToSession(toUpdate);

            if (res)
            {
                Character update = await _CharacterRepo.GetCharacter(new ObjectId(characterId));

                update.campaignName = toUpdate.sessionName;
                await _CharacterRepo.UpdateCharacter(update);

                return(true);
            }
            else
            {
                return(false);
            }
        }