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; }
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); } }
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; }