Пример #1
0
        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);
        }
Пример #2
0
 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);
     }
 }