public static async Task <DataCatalogViewModel> GetPublishersAsync(DataCatalogViewModel vm, string uri) { try { try { if (uri.StartsWith("api")) { var url = vm.WebApiBaseUrl.Replace("api/DataCatalog", uri); var publishers = await GetPublishersAsync(url); vm.Publishers = publishers; } else { var publishers = await GetPublishersAsync(vm.WebApiBaseUrl + uri); vm.Publishers = publishers; } } catch (Exception ex) { throw ex; } return(vm); } catch (Exception ex) { _client.CancelPendingRequests(); throw new Exception("RunAsync caused an error: " + ex.Message, ex); } }
public ActionResult IndexCompleted(DataCatalogViewModel vm) { vm.WebApiBaseUrl = ConfigurationManager.AppSettings["DataCatalogWebApiUrl"]; var licenseList = new List <LookupField> { new LookupField(displayValue: "OGL", id: "ogl"), new LookupField(displayValue: "Creative Commons", id: "creativeCommons"), new LookupField(displayValue: "Other", id: "other") }; var model = new UpdateNotifyViewModel { LicenseList = licenseList, CatalogList = new List <LookupField> { new LookupField { Id = "seweb", DisplayValue = "Scotland Environment Web" } }, DatasetList = new List <LookupField>() }; model.DatasetList = vm.DataSets.Select(x => new LookupField(x.GraphId, x.Title)); return(View(model)); }
public ActionResult Index() { DataCatalogViewModel vm = new DataCatalogViewModel(); vm.WebApiBaseUrl = ConfigurationManager.AppSettings["DataCatalogWebApiUrl"]; return(View(vm)); }
// GET: DemoWithTable public void IndexAsync() { var vm = new DataCatalogViewModel { WebApiBaseUrl = ConfigurationManager.AppSettings["DataCatalogWebApiUrl"] }; AsyncManager.OutstandingOperations.Increment(3); Task.Factory.StartNew(() => { DataCatalogViewModel result = DataStoreSrv.RunAsync(vm, "/GetGraphInfos").Result; AsyncManager.Parameters["vm"] = result; AsyncManager.OutstandingOperations.Decrement(); }); Task.Factory.StartNew(() => { DataCatalogViewModel result = DataStoreSrv.GetPublishersAsync(vm, "/GetOrganisations").Result; AsyncManager.Parameters["publishers"] = result.Publishers; AsyncManager.OutstandingOperations.Decrement(); }); Task.Factory.StartNew(() => { DataCatalogViewModel result = DataStoreSrv.GetOrganisationsAsync(vm, "/GetOrganisations").Result; AsyncManager.Parameters["organisations"] = result.Organisations; AsyncManager.OutstandingOperations.Decrement(); }); }
public static async Task <DataCatalogViewModel> GetOrganisationsAsync(DataCatalogViewModel vm, string uri) { try { try { var organisations = await GetOrganisationsAsync(vm.WebApiBaseUrl + uri); vm.Organisations = organisations; } catch (Exception ex) { throw ex; } return(vm); } catch (Exception ex) { _client.CancelPendingRequests(); throw new Exception("RunAsync caused an error: " + ex.Message, ex); } }
public ActionResult IndexCompleted(DataCatalogViewModel vm, IEnumerable <DataPublisher> publishers, IEnumerable <Organisation> organisations) { vm.WebApiBaseUrl = ConfigurationManager.AppSettings["DataCatalogWebApiUrl"]; var dataPublishers = publishers as DataPublisher[] ?? publishers.ToArray(); var publisherList = dataPublishers.ToList(); vm.Publishers = publisherList; //var publisherDict = publisherList.ToDictionary(publisher => publisher.Uri, publisher => publisher.Name); var publisherDict = organisations.ToDictionary(org => org.Uri, org => org.ShortName); var organisationDict = new Dictionary <string, Organisation>(); if (organisations != null) { foreach (var org in organisations) { //var publisher = dataPublishers.FirstOrDefault(x => x.Name == org.ShortName); //if (publisher == default(DataPublisher)) continue; //org.Uri = publisher.Uri; var datasets = vm.DataSets.Where(x => x.Publisher == org.Uri); var graphInfoModels = datasets as GraphInfoModel[] ?? datasets.ToArray(); if (!graphInfoModels.Any()) { continue; } org.DatasetCount = graphInfoModels.Count(); organisationDict.Add(org.Uri, org); } } vm.Organisations = organisationDict.Select(x => x.Value).ToList(); var licenseList = new List <DistributionLicense> { new DistributionLicense("OGL", "ogl"), new DistributionLicense("Creative Commons", "creativeCommons"), new DistributionLicense("Other", "other") }; vm.Licenses = licenseList; var applicationList = new List <SupportedApplication> { new SupportedApplication("Interactive Map Tool", "interactiveMapTool"), new SupportedApplication("Land Information Search - AE&F", "landInformationSearchAEF"), new SupportedApplication("Land Information Search - COMAH", "landInformationSearchCOMAH"), new SupportedApplication("Data Analysis Tool", "dataAnalysisTool"), new SupportedApplication("Other", "other") }; vm.Applications = applicationList; foreach (var item in vm.DataSets) { if (publisherDict.ContainsKey(item.Publisher)) { item.Publisher = publisherDict[item.Publisher]; vm.Organisations.First(x => x.ShortName == item.Publisher).DatasetCount++; } } return(View(vm)); }