コード例 #1
0
        public bool AddContact(ContactViewModel newContact)
        {
            RemoveEmptyEmailsFromContact(newContact);
            RemoveEmptyPhonesFromContact(newContact);
            RemoveEmptyTagsFromContact(newContact);

            var newContactModel = Mapper.Map <Contact>(newContact);

            foreach (var tag in newContactModel.ContactTags)
            {
                var currentTag = _context.Tags.Where(t => t.TagName == tag.Tag.TagName).FirstOrDefault();
                if (currentTag != null)
                {
                    tag.Tag = currentTag;
                }
            }

            _context.Add(newContactModel);

            if (_context.SaveChanges() > 0)
            {
                newContact.ContactId = newContactModel.ContactId;
                return(true);
            }

            return(false);
        }
コード例 #2
0
        public void EnsurePhonebookSeedData()
        {
            _context.Database.Migrate();

            if (_context.Contacts.Count() == 0)
            {
                var availableTags = new List <Tag>()
                {
                    new Tag()
                    {
                        TagName = "bussiness"
                    },
                    new Tag()
                    {
                        TagName = "sunday"
                    },
                    new Tag()
                    {
                        TagName = "fun"
                    },
                    new Tag()
                    {
                        TagName = "movies"
                    },
                    new Tag()
                    {
                        TagName = "running"
                    },
                };

                Random randomTagIndex = new Random();

                for (var temp = 0; temp < 5; temp++)
                {
                    var person   = new Person();
                    int firstTag = randomTagIndex.Next(5);
                    int secondTag;

                    do
                    {
                        secondTag = randomTagIndex.Next(5);
                    }while (secondTag == firstTag);

                    var randomTags = new List <Tag>()
                    {
                        availableTags[firstTag],
                        availableTags[secondTag],
                    };

                    var emails = new List <Email>()
                    {
                        new Email()
                        {
                            EmailAddress = person.Email
                        },
                    };

                    var phoneNumbers = new List <Phone>()
                    {
                        new Phone()
                        {
                            PhoneNumber = person.Phone
                        },
                    };

                    var dummyContact = new Contact();
                    dummyContact.ContactName   = person.FirstName + " " + person.LastName;
                    dummyContact.ContactAvatar = person.Avatar;
                    dummyContact.Address       = person.Address.Street;
                    dummyContact.City          = person.Address.City;
                    dummyContact.ZipCode       = person.Address.ZipCode;
                    dummyContact.Emails        = emails;
                    dummyContact.PhoneNumbers  = phoneNumbers;
                    dummyContact.ContactTags   = new List <ContactTag>();

                    foreach (var tag in randomTags)
                    {
                        var contactsTag = new ContactTag();
                        contactsTag.Tag     = tag;
                        contactsTag.Contact = dummyContact;
                        dummyContact.ContactTags.Add(contactsTag);
                    }

                    _context.Contacts.Add(dummyContact);
                    //   var state = _context.Entry(dummyContact).State;
                }
                _context.SaveChanges();
            }
        }