예제 #1
0
        public byte[] GetPeopleContacts()
        {
            PeopleContact[] peopleContacts = _db.PeopleContacts.Include(p => p.PhoneNumberPrefix1).Where(pc => pc.RegistrarId == _userId).ToArray();

            var csvPeopleContacts = new StringBuilder();

            string[] header = CsvPeopleContact.GetColumns();
            csvPeopleContacts.AppendLine(String.Join(",", header));
            foreach (PeopleContact peopleContact in peopleContacts)
            {
                var csvPeopleContactData = new CsvPeopleContactData
                                               {
                                                   FirstName = peopleContact.FirstName,
                                                   LastName = peopleContact.LastName,
                                                   Email1 = peopleContact.Email1,
                                                   PhoneNumberPrefix1 = peopleContact.PhoneNumberPrefix1,
                                                   PhoneNumber1 = peopleContact.PhoneNumber1
                                               };
                string[] row = CsvPeopleContact.GetRow(csvPeopleContactData);
                if (row == null)
                    continue;

                csvPeopleContacts.AppendLine(String.Join(",", row));
            }

            byte[] csvBytes = new UTF8Encoding().GetBytes(csvPeopleContacts.ToString());
            return csvBytes;
        }
예제 #2
0
        public CsvPeopleContact(DataRow dataRow, PhoneNumberPrefix[] phoneNumberPrefixes)
        {
            _dataRow = dataRow;
            _phoneNumberPrefixes = phoneNumberPrefixes;
            Data = new CsvPeopleContactData();

            IsValid = true;

            string additionalErrorMessage = ValidateRequiredFields();

            if (!IsValid)
            {
                ErrorMessage = String.Format(GetErrorTemplate(), additionalErrorMessage);
                return;
            }

            Data.FirstName = _dataRow[FirstNameColumnName].ToString();
            Data.LastName = _dataRow[LastNameColumnName].ToString();
            Data.Email1 = _dataRow[EmailColumnName].ToString().ToLower();

            additionalErrorMessage = ParseMobilePhone();

            if (!IsValid)
            {
                ErrorMessage = String.Format(GetErrorTemplate(), additionalErrorMessage);
            }
        }
예제 #3
0
        public static string[] GetRow(CsvPeopleContactData csvPeopleContactData)
        {
            if (String.IsNullOrEmpty(csvPeopleContactData.FirstName) || String.IsNullOrEmpty(csvPeopleContactData.LastName) || String.IsNullOrEmpty(csvPeopleContactData.Email1))
                return null;

            var row = new[] { csvPeopleContactData.FirstName, csvPeopleContactData.LastName, csvPeopleContactData.Email1.ToLower(), String.Empty };
            if (csvPeopleContactData.PhoneNumberPrefix1 != null && csvPeopleContactData.PhoneNumber1 != null)
            {
                row[3] = String.Format("{0}{1}", csvPeopleContactData.PhoneNumberPrefix1.ExportablePrefix, csvPeopleContactData.PhoneNumber1);
            }

            return row;
        }