public HttpResponseMessage PostBabyProfile([FromBody] BabyProfileModel babyModel, [ValueProvider(typeof(HeaderValueProviderFactory <string>))] string sessionKey) { HttpResponseMessage responseMsg = this.PerformOperationAndHandleExceptions( () => { var usersWithSpecificId = from u in this.db.GetCollection <User>("usersInfo").AsQueryable() where u.SessionKey == sessionKey select u; User selectedUser = usersWithSpecificId.FirstOrDefault(); if (selectedUser == null) { throw new NullReferenceException("User is logged out or does not exist!"); } BabyProfile babyProfile = new BabyProfile() { Name = babyModel.Name, BirthDay = babyModel.BirthDay, Mother = babyModel.Mother, Father = babyModel.Father, Gender = babyModel.Gender, BirthWeight = babyModel.BirthWeight, Height = babyModel.Height, TownOfBirth = babyModel.TownOfBirth, PictureName = babyModel.PictureName }; var collection = this.db.GetCollection("user" + selectedUser.Id.ToString()); collection.Insert <BabyProfile>(babyProfile); this.db.CreateCollection("baby" + babyProfile.Id); var response = this.Request.CreateResponse(HttpStatusCode.Created, babyProfile.Id.ToString()); return(response); } ); return(responseMsg); }
private void ChangePropertiesOfBabyProfile(BabyProfileModel babyModel, MongoCollection babyCollection, BabyProfile selectedBabyProfile) { if (babyModel.Name != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("Name", babyModel.Name) } }; babyCollection.Update(query, update); } if (babyModel.Mother != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("Mother", babyModel.Mother) } }; babyCollection.Update(query, update); } if (babyModel.Father != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("Father", babyModel.Father) } }; babyCollection.Update(query, update); } if (babyModel.BirthDay != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("BirthDay", babyModel.BirthDay) } }; babyCollection.Update(query, update); } if (babyModel.BirthWeight != 0) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("BirthWeight", babyModel.BirthWeight) } }; babyCollection.Update(query, update); } if (babyModel.Gender != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("Gender", babyModel.Gender) } }; babyCollection.Update(query, update); } if (babyModel.Height != 0) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("Height", babyModel.Height) } }; babyCollection.Update(query, update); } if (babyModel.PictureName != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("PictureName", babyModel.PictureName) } }; babyCollection.Update(query, update); } if (babyModel.TownOfBirth != null) { var query = new QueryDocument { { "_id", selectedBabyProfile.Id } }; var update = new UpdateDocument { { "$set", new BsonDocument("TownOfBirth", babyModel.TownOfBirth) } }; babyCollection.Update(query, update); } }