/// <summary>
        /// Get domains from IATE database.
        /// </summary>
        /// <returns>domains</returns>
        public static ObservableCollection <ItemsResponseModel> GetDomains()
        {
            var domains = new ObservableCollection <ItemsResponseModel>();
            var client  = new RestClient(ApiUrls.GetDomainUri());
            var request = new RestRequest("", Method.GET);

            request.AddHeader("Connection", "Keep-Alive");
            request.AddHeader("Cache-Control", "no-cache");
            request.AddHeader("Pragma", "no-cache");
            request.AddHeader("Accept", "application/json");
            request.AddHeader("Accept-Encoding", "gzip, deflate, br");
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Origin", "https://iate.europa.eu");
            request.AddHeader("Host", "iate.europa.eu");
            request.AddHeader("Access-Control-Allow-Origin", "*");

            var response         = client.Execute(request);
            var jsonDomainsModel = JsonConvert.DeserializeObject <JsonDomainResponseModel>(response.Content);

            if (jsonDomainsModel?.Items != null)
            {
                foreach (var item in jsonDomainsModel.Items)
                {
                    var domain = new ItemsResponseModel
                    {
                        Code       = item.Code,
                        Name       = item.Name,
                        Subdomains = item.Subdomains
                    };
                    domains.Add(domain);
                }
            }
            return(domains);
        }
Beispiel #2
0
        // Set term main domain
        private string SetTermDomain(ItemsResponseModel itemDomains)
        {
            var domain = string.Empty;

            foreach (var itemDomain in itemDomains.Domains)
            {
                var result = _domains?.FirstOrDefault(d => d.Code.Equals(itemDomain.Code));
                if (result != null)
                {
                    domain = $"{result.Name}, ";
                }
            }
            return(domain.TrimEnd(' ').TrimEnd(','));
        }
Beispiel #3
0
        /// <summary>
        /// Get domains from IATE database.
        /// </summary>
        /// <returns>domains</returns>
        public async Task <ObservableCollection <ItemsResponseModel> > GetDomains()
        {
            var domains    = new ObservableCollection <ItemsResponseModel>();
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri(ApiUrls.GetDomainUri()),
                Timeout     = TimeSpan.FromMinutes(2)
            };

            Utils.AddDefaultParameters(httpClient);

            var httpRequest = new HttpRequestMessage
            {
                Method = HttpMethod.Get,
            };

            try
            {
                var httpResponse = await httpClient.SendAsync(httpRequest);

                if (httpResponse.StatusCode == HttpStatusCode.OK)
                {
                    var httpResponseAsString = await httpResponse.Content.ReadAsStringAsync();

                    var jsonDomainsModel = JsonConvert.DeserializeObject <JsonDomainResponseModel>(httpResponseAsString);
                    if (jsonDomainsModel?.Items != null)
                    {
                        foreach (var item in jsonDomainsModel.Items)
                        {
                            var domain = new ItemsResponseModel
                            {
                                Code       = item.Code,
                                Name       = item.Name,
                                Subdomains = item.Subdomains
                            };
                            domains.Add(domain);
                        }
                    }
                    Domains = domains;
                    return(domains);
                }
                Log.Logger.Error($"Get Domains status code:{httpResponse.StatusCode}");
            }
            catch (Exception e)
            {
                Log.Logger.Error($"{e.Message}\n{e.StackTrace}");
            }
            return(domains);
        }
Beispiel #4
0
        // GET: ItemsController
        public async Task <ActionResult <ItemsResponseModel> > GetAllItems()
        {
            var items = await _itemService.GetAllItemsAsync();

            var allItems = new ItemsResponseModel()
            {
                Self  = Link.To(nameof(GetAllItems)),
                Items = items
            };


            if (allItems.Items == null)
            {
                return(NotFound());
            }
            return(allItems);
        }
        private async Task <List <ItemsResponseModel> > GetDomains()
        {
            var domains = new List <ItemsResponseModel>();

            var httpRequest = new HttpRequestMessage
            {
                Method     = HttpMethod.Get,
                RequestUri = new Uri(ApiUrls.GetDomainUri())
            };

            var httpResponse = await _connectionProvider.HttpClient.SendAsync(httpRequest);

            try
            {
                httpResponse?.EnsureSuccessStatusCode();

                if (httpResponse?.Content != null)
                {
                    var httpResponseAsString = await httpResponse.Content?.ReadAsStringAsync();

                    var jsonDomainsModel = JsonConvert.DeserializeObject <JsonDomainResponseModel>(httpResponseAsString);
                    if (jsonDomainsModel?.Items != null)
                    {
                        foreach (var item in jsonDomainsModel.Items)
                        {
                            var domain = new ItemsResponseModel
                            {
                                Code       = item.Code,
                                Name       = item.Name,
                                Subdomains = item.Subdomains,
                            };

                            domains.Add(domain);
                        }
                    }
                }
            }
            finally
            {
                httpResponse?.Dispose();
            }

            return(await Task.FromResult(domains));
        }
Beispiel #6
0
        public async Task <JsonResult> FetchItemsPartialAsync(ItemSearchModel itemSearchModel)
        {
            ResponseModel searchResponseModel = new ResponseModel()
            {
                Success = false,
                Data    = null,
            };

            try
            {
                if (itemSearchModel.TypeList == null)
                {
                    itemSearchModel.TypeList = new List <int>();
                }
                ItemsResponseModel itemsResponseModel = await GetItemsAsync(itemSearchModel);

                if (itemsResponseModel != null)
                {
                    if (itemsResponseModel.TotalItems == 0)
                    {
                        return(Json(new { Success = true, Status = HttpStatusCode.NotFound, Message = "No item(s) found" }, JsonRequestBehavior.AllowGet));
                    }
                    else if (itemsResponseModel.TotalItems <= (itemsResponseModel.CurrentPage * itemsResponseModel.ItemsPerPage))
                    {
                        var html = RenderRazorViewToString("~/Views/List/_ListItemPartial.cshtml", itemsResponseModel.Items);
                        return(Json(new { Success = true, Status = HttpStatusCode.ResetContent, Html = html, Message = "Change filters to search for more items" }, JsonRequestBehavior.AllowGet));
                    }
                    else if (itemsResponseModel.Items != null)
                    {
                        var html = RenderRazorViewToString("~/Views/List/_ListItemPartial.cshtml", itemsResponseModel.Items);
                        return(Json(new { Success = true, Status = HttpStatusCode.OK, Message = "", Object = itemsResponseModel.Items, Html = html }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { Success = false, Status = HttpStatusCode.InternalServerError, Message = "Something went wrong while fetching items" }, JsonRequestBehavior.AllowGet));
                    }
                }
                return(Json(new { Success = false, Status = HttpStatusCode.InternalServerError, Message = "Something went wrong while fetching items" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { Success = false, Status = HttpStatusCode.InternalServerError, Message = "Something went wrong while fetching items" }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #7
0
        /// <summary>
        /// Get domains from IATE database.
        /// </summary>
        /// <returns>IATE Domains</returns>
        public async Task <ObservableCollection <ItemsResponseModel> > GetDomains()
        {
            var domains = new ObservableCollection <ItemsResponseModel>();

            var httpRequest = new HttpRequestMessage
            {
                Method     = HttpMethod.Get,
                RequestUri = new Uri(ApiUrls.GetDomainUri())
            };
            var httpResponse = await IateApplicationInitializer.Clinet.SendAsync(httpRequest);

            try
            {
                httpResponse?.EnsureSuccessStatusCode();

                if (httpResponse?.Content != null)
                {
                    var httpResponseAsString = await httpResponse.Content?.ReadAsStringAsync();

                    var jsonDomainsModel = JsonConvert.DeserializeObject <JsonDomainResponseModel>(httpResponseAsString);
                    if (jsonDomainsModel?.Items != null)
                    {
                        foreach (var item in jsonDomainsModel.Items)
                        {
                            var domain = new ItemsResponseModel
                            {
                                Code       = item.Code,
                                Name       = item.Name,
                                Subdomains = item.Subdomains,
                            };
                            domains.Add(domain);
                        }
                    }
                }
                Domains = domains;
                return(domains);
            }
            finally
            {
                httpResponse?.Dispose();
            }
        }
Beispiel #8
0
 // Set term subdomains
 private void SetTermSubdomains(ItemsResponseModel mainDomains)
 {
     // clear _subdomains list for each term
     _subdomains.Clear();
     if (_domains?.Count > 0)
     {
         foreach (var mainDomain in mainDomains.Domains)
         {
             foreach (var domain in _domains)
             {
                 // if result returns null, means that code belongs to a subdomain
                 var result = domain.Code.Equals(mainDomain.Code) ? domain : null;
                 if (result == null && domain.Subdomains != null)
                 {
                     GetSubdomainsRecursively(domain.Subdomains, mainDomain.Code, mainDomain.Note);
                 }
             }
         }
     }
 }
        /// <summary>
        /// Get domains from IATE database.
        /// </summary>
        /// <returns>domains</returns>
        public static ObservableCollection <ItemsResponseModel> GetDomains()
        {
            var domains    = new ObservableCollection <ItemsResponseModel>();
            var httpClient = new HttpClient {
                BaseAddress = new Uri(ApiUrls.GetDomainUri())
            };

            Utils.AddDefaultParameters(httpClient);

            var httpRequest = new HttpRequestMessage
            {
                Method = HttpMethod.Get
            };

            try
            {
                var httpResponse         = httpClient.SendAsync(httpRequest);
                var httpResponseAsString = httpResponse?.Result?.Content?.ReadAsStringAsync().Result;

                var jsonDomainsModel = JsonConvert.DeserializeObject <JsonDomainResponseModel>(httpResponseAsString);
                if (jsonDomainsModel?.Items != null)
                {
                    foreach (var item in jsonDomainsModel.Items)
                    {
                        var domain = new ItemsResponseModel
                        {
                            Code       = item.Code,
                            Name       = item.Name,
                            Subdomains = item.Subdomains
                        };
                        domains.Add(domain);
                    }
                }
                return(domains);
            }
            catch (Exception e)
            {
                Log.Logger.Error($"{e.Message}\n{e.StackTrace}");
            }
            return(null);
        }