private static DMListField MapToListField(DMListField columnEmail, bool isPrimayKey) { return(new DMListField { ID = columnEmail.ID, FieldType = columnEmail.FieldType, Name = columnEmail.Name, PrimaryKey = isPrimayKey, UserAccess = columnEmail.UserAccess, AllowDupes = columnEmail.AllowDupes, ListField = columnEmail.ListField, Created = columnEmail.Created, Modified = columnEmail.Modified, StorageType = columnEmail.StorageType, UserOptOut = columnEmail.UserOptOut }); }
public int Create() { using (var em = new EMWebServicesClientExtension(Auth.GetToken(), Settings.Default.EndPoint)) { // Prepare fields to add to an EM list. DMSourceColumn[] sourceColumns = new DMSourceColumn[2]; sourceColumns[0] = new DMSourceColumn { Name = "email" }; sourceColumns[1] = new DMSourceColumn { Name = "firstname" }; int defaultKey; var allColumns = em.ListManager.GetColumnMappingAll(em.Token, ref sourceColumns, out defaultKey); // assume that all fields exist in Email Manager DMListField[] listFields = new DMListField[2]; listFields[0] = MapToListField(allColumns.SingleOrDefault(column => column.Name == sourceColumns[0].Name), true); listFields[1] = MapToListField(allColumns.SingleOrDefault(column => column.Name == sourceColumns[1].Name), false); // Create a list int listId = em.ListManager.CreateRecipientList( em.Token, "API Created List " + DateTime.Now.ToString("yyyyMMdd_hhmmss"), "Description Text", 309, false, false, ref listFields, null, false ); return(listId); } }