Exemplo n.º 1
0
        private bool CheckIfAnyContactHasTag(ContactTag tag)
        {
            var anyContactHasTag = _context.Tags.Where(x => x.TagContacts.Any(contactTag => contactTag.TagId == tag.TagId && contactTag.ContactId != tag.ContactId)).Any();

            if (anyContactHasTag)
            {
                return(true);
            }
            return(false);
        }
        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();
            }
        }