예제 #1
0
        // Add a new training Camp

        // Body Fields: trainingID, trainingName, trainingUserCapacity
        // Response: Whole Training Document (Will populate _id, currentTrainingUserCount = 0 , empty usersList)

        // Notes: Check first if the Training  already exists in the database with the same trainingID. If there is DO NOT ADD

        // POST api/<controller>
        public HttpResponseMessage Post([FromBody] Training training)
        {
            // training must have a trainingName
            if (string.IsNullOrEmpty(training?.trainingName))
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            // Get the master Info
            // Find the the master info deocument by hardcode 0000. (setup)
            var getFilterInfo = Builders <Info> .Filter.Eq("masterId", "0000");

            // Get the Info, by the filter
            Info infoFound = MongoConnections.getMongoInfoCollection().Find(getFilterInfo).FirstOrDefault();

            int nextTrainingID = infoFound.numberOfTrainings + 1;

            // prep the update of infoFound
            infoFound.numberOfTrainings = nextTrainingID;

            // hard code these fields to initalize in the database
            training.currentTrainingUserCount = 0;
            training.trainingID = nextTrainingID.ToString().PadLeft(4, '0');
            training.signupList = new List <TrainingUserItem>();

            MongoConnections.getMongoTrainingCollection().InsertOne(training);

            // Update Info with the new number of trainings
            var updateInfo = Builders <Info> .Update.Inc("numberOfTrainings", 1);

            MongoConnections.getMongoInfoCollection().UpdateOne(getFilterInfo, updateInfo);

            return(Request.CreateResponse(HttpStatusCode.OK, training));
        }
예제 #2
0
        // POST api/<controller>
        public void Post()
        {
            List <string> adminUsersList = new List <string>();

            adminUsersList.Add("*****@*****.**");
            MongoConnections.getMongoInfoCollection().InsertOne(new Info()
            {
                masterId = "0000", numberOfTrainings = 0, numberOfUsers = 0, listOfAdminEmailAddresses = adminUsersList
            });
        }
예제 #3
0
        // GET api/<controller>
        public HttpResponseMessage Get()
        {
            List <Info> listOfInfo = MongoConnections.getMongoInfoCollection().Find(new BsonDocument()).ToList();

            return(Request.CreateResponse(HttpStatusCode.OK, listOfInfo[0]));
        }