Example #1
0
        private static LoanData MapperLoanData(List <string> listLoanData)
        {
            LoanData loanData = new LoanData();

            loanData.Location     = listLoanData.ElementAt(0);
            loanData.TypeCopy     = listLoanData.ElementAt(1);
            loanData.Signature    = listLoanData.ElementAt(2);
            loanData.Support      = listLoanData.ElementAt(3);
            loanData.Availability = listLoanData.ElementAt(4);

            return(loanData);
        }
Example #2
0
        public static List <LoanCity> GetLoanCityBook(string html)
        {
            var doc = new HtmlDocument();

            doc.LoadHtml(html);


            var             dataLiNode   = doc.DocumentNode.SelectNodes("//div[@class='library']/ul/li");
            List <LoanCity> listLoanCity = new List <LoanCity>();
            LoanCity        cityLibrary  = null;
            LoanLibrary     loanLibrary  = null;

            List <string> loandDataString = null;

            foreach (var dataLi in dataLiNode)
            {
                var dataTextLi = dataLi.SelectSingleNode("strong");
                var citeLi     = dataLi.SelectSingleNode("cite");
                if (dataTextLi != null && dataTextLi.InnerText.ToLower() == "biblioteca")
                {
                    if (cityLibrary != null)
                    {
                        listLoanCity.Add(cityLibrary);
                    }
                    cityLibrary                 = new LoanCity();
                    cityLibrary.Name            = dataLi.InnerText;
                    cityLibrary.ListLoanLibrary = new List <LoanLibrary>();
                }
                else if (dataTextLi != null && dataTextLi.InnerText.ToLower() == "sucursal")
                {
                    loanLibrary      = new LoanLibrary();
                    loanLibrary.Name = dataLi.SelectSingleNode("a").InnerText;
                    loandDataString  = new List <string>();
                    cityLibrary.ListLoanLibrary.Add(loanLibrary);
                }
                else if (citeLi == null)
                {
                    string tipoDato = dataLi.ChildNodes.ElementAt(0).InnerText.ToLower();
                    string dato     = string.Empty;
                    if (tipoDato.Contains("signatura"))
                    {
                        dato = dataLi.ChildNodes.ElementAt(2).InnerText;
                    }
                    else
                    {
                        dato = dataLi.ChildNodes.ElementAt(1).InnerText;
                    }

                    loandDataString.Add(dato);
                }
                else
                {
                    loandDataString.Add(citeLi.InnerText);
                    LoanData loandData = MapperLoanData(loandDataString);
                    loanLibrary.LoanData.Add(loandData);
                    loandDataString = new List <string>();
                }
            }

            listLoanCity.Add(cityLibrary);

            var nodes = doc.DocumentNode.SelectNodes("//div[@class='detmain detbib']");

            ////Zonas de bibliotecas
            //List<LoanCity> listLoanCity = new List<LoanCity>();
            //foreach (var node in nodes)
            //{
            //    var cityLibrarie = node.SelectSingleNode("a").InnerText;
            //    var nodesNameLibraries = node.SelectNodes("div[@class='dtSuc']/a");
            //    List<string> namesLibraries = nodesNameLibraries.Select(x => x.InnerText).ToList();

            //    var nodesTrBookLibraries = node.SelectNodes("table[@class='dtNone']/tr");

            //    int countLibrarie = 0;
            //    List<LoanLibrary> listLoanLibrary = new List<LoanLibrary>();
            //    List<LoanData> listLoandData = new List<LoanData>();
            //    foreach (var nodeTrBook in nodesTrBookLibraries)
            //    {
            //        var nodesTdBookData = nodeTrBook.SelectNodes("td");

            //        if (nodesTdBookData != null)
            //        {
            //            List<string> listLoanData = new List<string>();
            //            foreach (var nodeTd in nodesTdBookData)
            //            {
            //                if (!string.IsNullOrEmpty(nodeTd.InnerText))
            //                {
            //                    listLoanData.Add(nodeTd.InnerText);
            //                }
            //            }
            //            LoanData loanData = MapperLoanData(listLoanData);
            //            listLoandData.Add(loanData);
            //        }
            //        else if (listLoandData.Count > 0)
            //        {
            //            LoanLibrary loanLibrary = new LoanLibrary();
            //            loanLibrary.Name = namesLibraries.ElementAt(countLibrarie);
            //            loanLibrary.LoanData = listLoandData;
            //            listLoanLibrary.Add(loanLibrary);
            //            listLoandData = new List<LoanData>();
            //            countLibrarie++;
            //        }
            //    }

            //    LoanLibrary loanLibrary1 = new LoanLibrary();
            //    loanLibrary1.Name = namesLibraries.ElementAt(countLibrarie);
            //    loanLibrary1.LoanData = listLoandData;
            //    listLoanLibrary.Add(loanLibrary1);

            //    LoanCity loanCity = new LoanCity();
            //    loanCity.Name = cityLibrarie;
            //    loanCity.ListLoanLibrary = listLoanLibrary;
            //    listLoanCity.Add(loanCity);

            //    listLoandData = new List<LoanData>();
            //    listLoanLibrary = new List<LoanLibrary>();

            //}

            return(listLoanCity);
        }