Example #1
0
        public async Task <IActionResult> CreateSomeCharacterIfYouCanBoi([FromRoute] string gameSystem)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var type   = CharacterSheetTypes.FirstOrDefault(s => s.GetType().Name.Equals(gameSystem, StringComparison.OrdinalIgnoreCase));

            if (type == null)
            {
                return(BadRequest($"{gameSystem} is not a valid type"));
            }

            var newCampagin = new Campaign
            {
                Id            = ObjectId.GenerateNewId().ToString(),
                OwnerID       = userId,
                _created      = new BsonDateTime(DateTime.UtcNow),
                _lastUpdated  = new BsonDateTime(DateTime.UtcNow),
                CampaignType  = gameSystem,
                CampaignImage = "",
                Characters    = new List <string>(),
                Session       = new List <Session>()
            };

            await CampaignCollection.InsertOneAsync(newCampagin);

            return(Ok(newCampagin.Id));
        }
        protected void BindData()
        {
            CampaignCollection campaignCollection = CampaignManager.GetAllCampaigns();

            gvCampaigns.DataSource = campaignCollection;
            gvCampaigns.DataBind();
        }
 protected void BindList(CampaignCollection coll)
 {
     dgCampaign.ItemDataBound += dgCampaign_ItemDataBound;
     dgCampaign.DataSource     = coll;
     dgCampaign.DataBind();
     Master.DisableViewState(dgCampaign);
 }
Example #4
0
        /// <summary>
        /// Gets all campaigns
        /// </summary>
        /// <returns>Campaign collection</returns>
        public static CampaignCollection GetAllCampaigns()
        {
            DBCampaignCollection dbCollection = DBProviderManager <DBCampaignProvider> .Provider.GetAllCampaigns();

            CampaignCollection campaigns = DBMapping(dbCollection);

            return(campaigns);
        }
Example #5
0
        public static CampaignCollection GetAllCampaign(int PageSize = 0, int CurrentPageIndex = 0)
        {
            Query qry = new Query(Campaign.TableSchema);

            if (PageSize > 0)
            {
                qry.LimitRows(PageSize).OffsetRows(PageSize * CurrentPageIndex);
            }

            return(CampaignCollection.FetchByQuery(qry));
        }
        private static CampaignCollection DBMapping(DBCampaignCollection dbCollection)
        {
            if (dbCollection == null)
                return null;

            CampaignCollection collection = new CampaignCollection();
            foreach (DBCampaign dbItem in dbCollection)
            {
                Campaign item = DBMapping(dbItem);
                collection.Add(item);
            }

            return collection;
        }
Example #7
0
        private static CampaignCollection DBMapping(DBCampaignCollection dbCollection)
        {
            if (dbCollection == null)
            {
                return(null);
            }

            var collection = new CampaignCollection();

            foreach (var dbItem in dbCollection)
            {
                var item = DBMapping(dbItem);
                collection.Add(item);
            }

            return(collection);
        }
Example #8
0
        public async Task <IActionResult> AddCharacter([FromRoute] string campaignId, [FromRoute] string characterId)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            var findCampaginFilter = Builders <Campaign> .Filter.And(
                Builders <Campaign> .Filter.Eq("_id", ObjectId.Parse(campaignId)),
                Builders <Campaign> .Filter.Eq("ownerID", userId));

            var foundCampaigns = await(await CampaignCollection.FindAsync(findCampaginFilter)).ToListAsync();

            if (foundCampaigns == null || foundCampaigns.Count != 1)
            {
                return(BadRequest("Campagin null or not unique"));
            }

            if (foundCampaigns[0].OwnerID != userId)
            {
                return(Unauthorized());
            }

            var findCharacterFilter = Builders <dynamic> .Filter.Eq("_id", ObjectId.Parse(characterId));

            var foundCharacters = await(await CharacterCollection.FindAsync(findCharacterFilter)).ToListAsync();

            if (foundCharacters == null || foundCharacters.Count != 1)
            {
                return(BadRequest("Character null or not unique"));
            }

            var foundCampaign  = foundCampaigns[0];
            var foundCharacter = foundCharacters[0] as BaseCharacterSheet;

            if (foundCharacter.GameSystem != foundCampaign.CampaignType)
            {
                return(BadRequest($"Why are you adding a {foundCharacter.GameSystem} character to a {foundCampaign.CampaignType} campaign?"));
            }

            CampaignCollection.UpdateOne(c => c.Id == campaignId, Builders <Campaign> .Update.AddToSet("characters", foundCharacter.Id));
            return(Json(campaignId));
        }
        protected void LoadItems(string sortField = "CampaignId", dg.Sql.SortDirection sortDirection = dg.Sql.SortDirection.ASC)
        {
            CampaignCollection col = CampaignController.GetAllCampaign(dgCampaign.PageSize, dgCampaign.CurrentPageIndex);

            BindList(col);
        }