public static IRestResponse Get(IntegrationManagerRequest request) { var response = new DefaultRestResponse { Name = "IntegrationManager" }; try { RestIntegrationManager manager = null; bool hasManagerId = !String.IsNullOrEmpty(request.ManagerId); bool hasGroupId = request.GroupId.HasValue; if (hasManagerId) { manager = new RestIntegrationManager(IntegrationManagerPlugin.GetAllProviders().FirstOrDefault(m => m.Id == request.ManagerId)); } else if (hasGroupId) { manager = new RestIntegrationManager(IntegrationManagerPlugin.GetAllProviders().FirstOrDefault(m => m.TEGroupId == request.GroupId.Value)); } response.Data = manager; } catch (Exception ex) { response.Errors = new[] { ex.Message }; } return(response); }
public static IRestResponse List(IntegrationManagerListRequest request) { var response = new DefaultRestResponse { Name = "IntegrationManagerList" }; try { List <IntegrationProvider> managerList = null; Func <IntegrationProvider, bool> filter = (m => true); bool hasSiteNameFilter = !String.IsNullOrEmpty(request.SiteNameFilter); bool hasGroupNameFilter = !String.IsNullOrEmpty(request.GroupNameFilter); if (hasSiteNameFilter && hasGroupNameFilter) { filter = (m => m.SPSiteName.Contains(request.SiteNameFilter, StringComparison.OrdinalIgnoreCase) || m.TEGroupName.Contains(request.GroupNameFilter, StringComparison.OrdinalIgnoreCase)); } else if (hasSiteNameFilter) { filter = (m => m.SPSiteName.Contains(request.SiteNameFilter, StringComparison.OrdinalIgnoreCase)); } else if (hasGroupNameFilter) { filter = (m => m.TEGroupName.Contains(request.GroupNameFilter, StringComparison.OrdinalIgnoreCase)); } managerList = IntegrationManagerPlugin.GetAllProviders().Where(filter).ToList(); response.Data = new IntegrationManagerListData(managerList.Skip(request.PageIndex).Take(request.PageSize).Select(m => new RestIntegrationManager(m)), managerList.Count); } catch (Exception ex) { response.Errors = new[] { ex.Message }; } return(response); }