public static Group Translate(dynamic importGroup) { var group = new Group(); group.Id = importGroup.gid; group.GroupTypeId = 9999; group.Name = importGroup.name; string desc = importGroup.description; group.Description = Regex.Replace(desc, @"<.*?>", string.Empty); string active = importGroup.active; group.IsActive = active.AsBoolean(); // address string street1 = importGroup.address; string city = importGroup.city; string state = importGroup.state; string postalcode = importGroup.zipcode; if (street1.IsNotNullOrWhitespace() && city.IsNotNullOrWhitespace() && state.IsNotNullOrWhitespace() && postalcode.IsNotNullOrWhitespace()) { var address = new GroupAddress(); address.GroupId = group.Id; address.Street1 = street1; address.City = city; address.State = state; address.PostalCode = postalcode; address.AddressType = AddressType.Home; group.Addresses.Add(address); } // meeting day and time group.MeetingDay = importGroup.meetingDay; group.MeetingTime = importGroup.meetingTime; group.IsPublic = true; return(group); }
/// <summary> /// Exports the groups. /// </summary> public static void ExportGroups() { // create Elexio group type ImportPackage.WriteToPackage(new GroupType() { Id = 9999, Name = "Elexio Group" }); try { _request = new RestRequest(API_GROUPS, Method.GET); _request.AddQueryParameter("session_id", SessionId); var response = _client.Execute(_request); ApiCounter++; dynamic data = JsonConvert.DeserializeObject(response.Content); JArray records = data.data; if (records.Count > 0) { foreach (var group in records) { Slingshot.Core.Model.Group importGroup = ElexioCommunityGroup.Translate(group); if (importGroup != null) { ImportPackage.WriteToPackage(importGroup); } _request = new RestRequest(API_GROUP_MEMBERS + importGroup.Id.ToString() + "/people", Method.GET); _request.AddQueryParameter("session_id", SessionId); response = _client.Execute(_request); ApiCounter++; data = JsonConvert.DeserializeObject(response.Content); dynamic groupMemberRecords = data.data; if (groupMemberRecords != null) { foreach (var letterGroup in groupMemberRecords) { foreach (var groupMember in letterGroup.Value) { GroupMember importGroupMember = ElexioCommunityGroupMember.Translate(groupMember, importGroup.Id); if (importGroupMember != null) { ImportPackage.WriteToPackage(importGroupMember); } } } } } } } catch (Exception ex) { ErrorMessage = ex.Message; } }