コード例 #1
0
        private MongoPerson FromViewModel(PersonViewModel person)
        {
            MongoPerson personR = new MongoPerson()
            {
                Id           = person.Id,
                FirstName    = person.FirstName,
                LastName     = person.LastName,
                Age          = person.Age,
                phonenumbers = new List <MongoPhoneNumber>()
            };

            foreach (var pn in person.PhoneNumbers)
            {
                if (pn.PhoneNumberType == null)
                {
                    throw new ArgumentException();
                }
                personR.phonenumbers.Add(new MongoPhoneNumber()
                {
                    Id              = pn.Id,
                    PhoneNumber     = pn.PhoneNumber,
                    PhoneNumberType = pn.PhoneNumberType,
                });
            }
            return(personR);
        }
コード例 #2
0
        private PersonViewModel ToViewModel(MongoPerson personR)
        {
            PersonViewModel personVM = new PersonViewModel()
            {
                Id           = personR.Id,
                FirstName    = personR.FirstName,
                LastName     = personR.LastName,
                Age          = personR.Age,
                PhoneNumbers = new List <PhoneNumberViewModel>()
            };

            foreach (var pn in personR.phonenumbers)
            {
                personVM.PhoneNumbers.Add(new PhoneNumberViewModel()
                {
                    Id              = pn.Id,
                    PhoneNumber     = pn.PhoneNumber,
                    PhoneNumberType = pn.PhoneNumberType
                });
            }
            return(personVM);
        }
コード例 #3
0
        public void Create(MongoPerson item)
        {
            MongoPerson person = new MongoPerson()
            {
                FirstName    = item.FirstName,
                LastName     = item.LastName,
                Age          = item.Age,
                Id           = new ObjectId(),
                phonenumbers = new List <MongoPhoneNumber>()//for one number
                {
                    new MongoPhoneNumber()
                    {
                        Id              = new ObjectId(),
                        PhoneNumber     = item.phonenumbers[0].PhoneNumber,
                        PhoneNumberType = item.phonenumbers[0].PhoneNumberType
                    }
                }
            };
            MongoDatabase db     = server.GetDatabase("Person");
            var           people = db.GetCollection <MongoPerson>("Person");

            people.Save(person);
        }
コード例 #4
0
        private MongoPerson PersonToMongoPerson(Person person)
        {
            MongoPerson res = new MongoPerson
            {
                FirstName    = person.FirstName,
                LastName     = person.LastName,
                Age          = person.Age,
                ID           = (person.FirstName + person.LastName + person.Age.ToString()).GetHashCode(),
                phonenumbers = new List <MongoPhoneNumber>()
            };

            for (int i = 0; i < person.phonenumbers.Count; i++)
            {
                res.phonenumbers.Add(
                    new MongoPhoneNumber()
                {
                    PhoneNumber     = person.phonenumbers[i].PhoneNumber,
                    PhoneNumberType = person.phonenumbers[i].PhoneNumberType,
                    ID = (person.phonenumbers[i].PhoneNumber + person.phonenumbers[i].PhoneNumberType).GetHashCode(),
                });
            }
            return(res);
        }
コード例 #5
0
        private Person MongoPersonToPerson(MongoPerson MPerson)
        {
            Person res = new Person()
            {
                ID           = MPerson.ID,
                FirstName    = MPerson.FirstName,
                LastName     = MPerson.LastName,
                Age          = MPerson.Age,
                phonenumbers = new List <PhoneNumbers>()
            };

            for (int i = 0; i < MPerson.phonenumbers.Count; i++)
            {
                res.phonenumbers.Add(
                    new PhoneNumbers()
                {
                    ID              = MPerson.phonenumbers[i].ID,
                    PhoneNumber     = MPerson.phonenumbers[i].PhoneNumber,
                    PhoneNumberType = MPerson.phonenumbers[i].PhoneNumberType
                });
            }

            return(res);
        }
コード例 #6
0
 public void Update(MongoPerson item)
 {
     throw new NotImplementedException();
 }
コード例 #7
0
 public void Delete(MongoPerson item)
 {
     MongoDatabase db     = server.GetDatabase("Person");
     var           people = db.GetCollection <MongoPerson>("Person");
     //people.Find(item);
 }
コード例 #8
0
        public void Delete(PersonViewModel person)
        {
            MongoPerson personR = repository.GetByID(person.Id);

            repository.Delete(personR);
        }
コード例 #9
0
        public void Add(PersonViewModel person)
        {
            MongoPerson personR = FromViewModel(person);

            repository.Create(personR);
        }
コード例 #10
0
        public void Update(PersonViewModel person)
        {
            MongoPerson personR = FromViewModel(person);

            repository.Update(personR);
        }
コード例 #11
0
        public PersonViewModel GetById(ObjectId id)
        {
            MongoPerson personP = repository.GetByID(id);

            return(ToViewModel(personP));
        }