Example #1
0
        public void MapperTest_WorkDtoToWorkContact()
        {
            //Arrange
            //Act
            WorkDto wc = new WorkDto()
            {
                TaxId        = 1,
                Name         = "Name",
                DateCreated  = new DateTime(),
                DateModified = new DateTime(),
                Url          = "www.url.com",
                EmailAddress = "*****@*****.**",
                Title        = "Title",
                PhoneNumber  = "999-999-9999",
                Address      = "Address"
            };

            WorkContact wDto = wc.ToWorkContact();

            //Assert
            Assert.AreEqual(wDto.Name, wc.Name);
            Assert.AreEqual(wDto.TaxId, wc.TaxId);
            Assert.AreEqual(wDto.DateCreated, wc.DateCreated);
            Assert.AreEqual(wDto.DateModified, wc.DateModified);
            Assert.AreEqual(wDto.EmailAddress, wc.EmailAddress);
            Assert.AreEqual(wDto.Url, wc.Url);
            Assert.AreEqual(wDto.Title, wc.Title);
            Assert.AreEqual(wDto.PhoneNumber, wc.PhoneNumber);
            Assert.AreEqual(wDto.Address, wc.Address);
        }
Example #2
0
        public void MapperTest_ContactToContactDto_Work()
        {
            //Arrange
            //Act
            WorkContact wc = new WorkContact()
            {
                TaxId        = 1,
                Name         = "Name",
                DateCreated  = new DateTime(),
                DateModified = new DateTime(),
                PhoneNumber  = "999-999-9999",
                Address      = "Address",
                Url          = "www.url.com",
                Title        = "Title"
            };

            ContactDto cDto = ((Contact)wc).ToContactDto();

            //Assert
            Assert.AreEqual(cDto.Name, wc.Name);
            Assert.AreEqual(cDto.TaxId, wc.TaxId);
            Assert.AreEqual(cDto.DateCreated, wc.DateCreated);
            Assert.AreEqual(cDto.DateModified, wc.DateModified);
            Assert.AreEqual(((WorkDto)cDto).Url, wc.Url);
            Assert.AreEqual(((WorkDto)cDto).Title, wc.Title);
            Assert.AreEqual(cDto.PhoneNumber, wc.PhoneNumber);
            Assert.AreEqual(cDto.Address, wc.Address);
        }
 private Contact FindContactFirstNameAndPhoneNumber(WorkContact contact)
 {
     return (from c in _googleContacts
             where c.Name.GivenName == contact.Firstname
             && c.GetMobilePhoneNumberValue() == contact.Mobile
             select c).FirstOrDefault();
 }
 private Contact FindContactFirstNameAndSurname(WorkContact contact)
 {
     return (from c in _googleContacts
             where c.Name.GivenName == contact.Firstname
             && c.GetSurname() == contact.Surname
             select c).FirstOrDefault();
 }
 private Contact FindContactFirstNameAndInitials(WorkContact contact)
 {
     return (from c in _googleContacts
             where c.Name.GivenName == contact.Firstname
             && c.GetInitials() == contact.Initials
             select c).FirstOrDefault();
 }
        public Contact Match(WorkContact contact)
        {
            Contact matchedContact = FindContactFirstNameSurnameAndInitials(contact);
            if (matchedContact != null)
            {
                return matchedContact;
            }

            matchedContact = FindContactFirstNameAndInitials(contact);
            if (matchedContact != null)
            {
                return matchedContact;
            }

            matchedContact = FindContactFirstNameAndSurname(contact);
            if (matchedContact != null)
            {
                return matchedContact;
            }

            matchedContact = FindContactInitials(contact);
            if (matchedContact != null)
            {
                return matchedContact;
            }

            matchedContact = FindContactFirstNameAndPhoneNumber(contact);
            if (matchedContact != null)
            {
                return matchedContact;
            }

            return null;
        }
        public void RepositoryTest_Update_Work_Success()
        {
            //Arrange
            var         dateTime = DateTime.Now;
            WorkContact wc       = ((WorkContact)FakeDataFactory.Get <WorkContact>(
                                        taxId: 1,
                                        name: "Name1",
                                        address: "address11",
                                        company: "Company1",
                                        dateModified: dateTime,
                                        emailAddress: "[email protected]",
                                        phoneNumber: "000000001",
                                        title: "Title1",
                                        url: "www.url1.com"
                                        ));
            var contactsDto = new List <ContactDto>()
            {
                FakeDataFactory.GetDto <WorkDto>()
            };
            var repository = new ContactRepository(contactsDto);

            //Act
            repository.Update(wc, 1);

            //Assert
            Assert.AreEqual(contactsDto.Count, 1);
            Assert.IsInstanceOfType(contactsDto[0], typeof(WorkDto));
            Assert.AreEqual(contactsDto[0].Address, wc.Address);
            Assert.AreEqual(contactsDto[0].Name, wc.Name);
            Assert.AreEqual(contactsDto[0].PhoneNumber, wc.PhoneNumber);
            Assert.AreEqual(contactsDto[0].TaxId, wc.TaxId);
            Assert.AreEqual(((WorkDto)contactsDto[0]).Title, wc.Title);
            Assert.AreEqual(((WorkDto)contactsDto[0]).Url, wc.Url);
        }
        public void RepositoryTest_Add_Success()
        {
            //Arrange
            var         contactsDto = new List <ContactDto>();
            var         repository  = new ContactRepository(contactsDto);
            var         dateTime    = DateTime.Now;
            WorkContact wc          = new WorkContact()
            {
                TaxId        = 1,
                Name         = "Name",
                Address      = "address1",
                Company      = "Company",
                DateModified = dateTime,
                EmailAddress = "*****@*****.**",
                PhoneNumber  = "000000000",
                Title        = "Title",
                Url          = "www.url.com"
            };

            //Act
            repository.Add(wc);

            //Assert
            Assert.AreEqual(contactsDto.Count, 1);
            Assert.IsInstanceOfType(contactsDto[0], typeof(WorkDto));
            Assert.AreEqual(contactsDto[0].Address, wc.Address);
            Assert.AreEqual(contactsDto[0].DateCreated, wc.DateCreated);
            Assert.AreEqual(contactsDto[0].DateModified, wc.DateModified);
            Assert.AreEqual(contactsDto[0].Name, wc.Name);
            Assert.AreEqual(contactsDto[0].PhoneNumber, wc.PhoneNumber);
            Assert.AreEqual(contactsDto[0].TaxId, wc.TaxId);
            Assert.AreEqual(((WorkDto)contactsDto[0]).Title, wc.Title);
            Assert.AreEqual(((WorkDto)contactsDto[0]).Url, wc.Url);
        }
 private void AddCompany(Contact googleContact, WorkContact contact)
 {
     Organization organisation = new Organization();
     organisation.Name = "TPP";
     organisation.Rel = "http://schemas.google.com/g/2005#other";
     organisation.JobDescription = contact.Group.ToString();
     googleContact.Organizations.Add(organisation);
 }
Example #10
0
        public void Validations_NameNull()
        {
            //Arrange
            var wc = new WorkContact()
            {
                TaxId = 1
            };

            //Act Assert
            Validations.validateRequired(wc);
        }
Example #11
0
        public void Validations_TaxIdDefaultValue()
        {
            //Arrange
            var wc = new WorkContact()
            {
                Name = "Name"
            };

            //Act Assert
            Validations.validateRequired(wc);
        }
Example #12
0
        private void AddContact()
        {
            bool runNextCommand;

            do
            {
                runNextCommand = false;
                printListOfAddCommands();
                string subCommand = this.consoleService.ReadLine().Trim();
                switch (subCommand)
                {
                case "1":
                {
                    CompanyContact contact = new CompanyContact(ReadTaxID(true));
                    BuildContact(contact);
                    break;
                }

                case "2":
                {
                    WorkContact contact = new WorkContact(ReadTaxID(true));
                    BuildContact(contact);
                    break;
                }

                case "3":
                {
                    FriendContact contact = new FriendContact(ReadTaxID(true));
                    BuildContact(contact);
                    break;
                }

                case "4":
                {
                    break;
                }

                default:
                {
                    InvalidSelection();
                    runNextCommand = true;
                    break;
                }
                }
            } while (runNextCommand);
        }
Example #13
0
        public void BuildContact(Contact addEntry, bool isUpdate = false)
        {
            addEntry.Name        = ReadValueCannotBeEmpty(nameof(addEntry.Name), addEntry.Name, isUpdate);
            addEntry.Address     = ReadValueFromUser(nameof(addEntry.Address), addEntry.Address, isUpdate);
            addEntry.PhoneNumber = ReadValueFromUser(Constants.Fields.PhoneNumber, addEntry.PhoneNumber, isUpdate);

            if (addEntry is CompanyContact)
            {
                CompanyContact cContact = (CompanyContact)addEntry;
                cContact.Url = ReadValueFromUser(nameof(cContact.Url), cContact.Url, isUpdate);
            }
            else if (addEntry is WorkContact)
            {
                WorkContact wContact = (WorkContact)addEntry;
                wContact.Url      = ReadValueFromUser(nameof(wContact.Url), wContact.Url, isUpdate);
                wContact.Employer = ReadValueFromUser(nameof(wContact.Employer), wContact.Employer, isUpdate);
                wContact.Email    = ReadValueFromUser(nameof(wContact.Email), wContact.Email, isUpdate);
                wContact.Title    = ReadTitle();
            }
            else if (addEntry is FriendContact)
            {
                FriendContact fContact = (FriendContact)addEntry;
                fContact.Birthday = ReadDateValue(nameof(fContact.Birthday), fContact.Birthday, isUpdate);
                fContact.Email    = ReadValueFromUser(nameof(fContact.Email), fContact.Email, isUpdate);
            }
            if (isUpdate)
            {
                addEntry.ModifiedDate = DateTime.Now;
            }
            this.AddressBook.Add(addEntry);
            if (isUpdate)
            {
                consoleService.WriteLine(Constants.Messages.SuccessfullyUpdated);
            }
            else
            {
                consoleService.WriteLine(Constants.Messages.SuccessfullyAdded);
            }
            PressEnterToContinue();
        }
        private ContactActionAdd CreateGoogleContact(WorkContact contact)
        {
            if (ShouldIgnoreContact(contact))
            {
                return null;
            }

            Contact googleContact = new Contact();
            googleContact.Name.FullName = contact.FullName;
            googleContact.Name.GivenName = contact.Firstname;
            googleContact.Name.FamilyName = contact.Surname;
            googleContact.Name.NameSuffix = "(" + contact.Initials + ")";

            CreateAndAddPhoneNumber(contact.HomePhoneNumber, ContactsRelationships.IsHome, googleContact);
            CreateAndAddPhoneNumber(contact.Mobile, ContactsRelationships.IsMobile, googleContact);

            AddToGroups(googleContact);

            AddCompany(googleContact, contact);

            return new ContactActionAdd(_contactsManager.Request, googleContact);
        }
        public void WorkContactPrintTest()
        {
            // Arrange
            WorkContact contact = new WorkContact("1");

            contact.Name        = "Name 1";
            contact.Address     = "Address 1";
            contact.PhoneNumber = "23453545434";
            contact.Url         = "Url";
            contact.Employer    = "Emp";
            contact.Title       = eTitle.DR;

            string expectedResult =
                String.Format(Constants.Defaults.DefaultPrintFormat, Constants.Fields.TaxID,
                              contact.TaxID) +
                String.Format(Constants.Defaults.DefaultPrintFormat, nameof(contact.Name),
                              contact.Name) +
                String.Format(Constants.Defaults.DefaultPrintFormat, nameof(contact.Address),
                              (contact.Address != null) ? contact.Address : String.Empty) +
                String.Format(Constants.Defaults.DefaultPrintFormat, Constants.Fields.PhoneNumber,
                              (contact.PhoneNumber != null) ? contact.PhoneNumber : String.Empty) +
                String.Format(Constants.Defaults.DefaultPrintFormat, nameof(contact.Url),
                              contact.Url) +
                String.Format(Constants.Defaults.DefaultPrintFormat, nameof(contact.Employer),
                              contact.Employer) +
                String.Format(Constants.Defaults.DefaultPrintFormat, nameof(contact.Title),
                              contact.Title) +
                String.Format(Constants.Defaults.DefaultPrintFormat, Constants.Fields.ModifiedDate,
                              contact.ModifiedDate.ToString(Constants.Defaults.DateFormat)) +
                String.Format(Constants.Defaults.DefaultPrintFormat, Constants.Fields.CreatedDate,
                              contact.CreatedDate.ToString(Constants.Defaults.DateFormat));

            // act
            string actualResult = contact.ToString();

            // asset
            StringAssert.Equals(actualResult, expectedResult);
        }
        private ContactActionUpdate UpdateName(WorkContact contact)
        {
            string oldInitials = contact.MatchedContact.GetInitials();
            string oldSurname = contact.MatchedContact.GetSurname();
            if (oldInitials == contact.Initials
                && oldSurname == contact.Surname)
            {
                return null;
            }

            string previousName = GetPreviousName(contact);

            contact.MatchedContact.Name.NameSuffix = "(" + contact.Initials + ")";
            contact.MatchedContact.Name.FamilyName = contact.Surname;
            contact.MatchedContact.Name.FullName = contact.FullName;

            return new ContactActionUpdate(_contactsManager.Request, contact.MatchedContact, "Will change " + previousName + "'s name to " + contact.FullName);
        }
        private ContactActionUpdate UpdateMobile(WorkContact contact)
        {
            string oldMobileNumber = contact.MatchedContact.GetMobilePhoneNumberValue();
            if (oldMobileNumber == contact.Mobile)
            {
                return null;
            }

            PhoneNumber pn = contact.MatchedContact.GetMobilePhoneNumber();
            string previousPhoneNumber = GetPhoneNumberDescription(pn);
            UpdatePhoneNumber(pn, ContactsRelationships.IsMobile, contact.MatchedContact, contact.Mobile);

            return new ContactActionUpdate(_contactsManager.Request, contact.MatchedContact, "Will change " + contact.FullName + "'s mobile number from " + previousPhoneNumber + " to " + contact.Mobile);
        }
 private bool ShouldIgnoreContact(WorkContact contact)
 {
     return Settings.Default.InitialsToIgnore.Contains(contact.Initials);
 }
        private string GetPreviousName(WorkContact contact)
        {
            string previousSurname = contact.MatchedContact.Name.FamilyName;
            string previousInitials = contact.MatchedContact.Name.NameSuffix;

            return contact.Firstname + " " + previousSurname + " " + previousInitials;
        }
Example #20
0
 public static WorkDto ToWorkDto(this WorkContact item)
 {
     return(Mapper.Map <WorkDto>(item));
 }
 private Contact FindContactInitials(WorkContact contact)
 {
     return (from c in _googleContacts
             where c.GetInitials() == contact.Initials
             select c).FirstOrDefault();
 }