コード例 #1
0
        public static List <TenderInformation> TenderFragmentsToObjects(string[] tenders)
        {
            var tendersObj = new List <TenderInformation>();

            // Parse result
            foreach (var tender in tenders)
            {
                var helper    = new HtmlParser();
                var element   = helper.Parse(tender);
                var tenderobj = new TenderInformation();

                var targetElement = element.All.FirstOrDefault(e => e.ClassList.Contains("tendersForm") &&
                                                               e.ClassList.Contains("relative"));

                var targetElementText = Regex.Replace(targetElement?.TextContent ?? string.Empty, @"\t|\n|\r", "#")
                                        .Split('#')
                                        .Where(str => str.Length > 2)
                                        .ToList();

                var ownerNameIndex     = targetElementText.IndexOf("Найменування замовника");
                var addressIndex       = targetElementText.IndexOf("Юридична адреса");
                var contactPersonIndex = targetElementText.IndexOf("Ім'я");
                var phoneIndex         = targetElementText.IndexOf("Телефон");
                var emailIndex         = targetElementText.IndexOf("E-mail");
                var priceIndex         = targetElementText.IndexOf("Очікувана вартість");

                tenderobj.Owner         = targetElementText.Count > ownerNameIndex ? targetElementText[ownerNameIndex + 1] : string.Empty;
                tenderobj.Address       = targetElementText.Count > addressIndex ? targetElementText[addressIndex + 1] : string.Empty;
                tenderobj.ContactPerson = targetElementText.Count > contactPersonIndex
                    ? targetElementText[contactPersonIndex + 1]
                    : string.Empty;
                tenderobj.Phone        = targetElementText.Count > phoneIndex ? targetElementText[phoneIndex + 1] : string.Empty;
                tenderobj.Email        = targetElementText.Count > emailIndex ? targetElementText[emailIndex + 1] : string.Empty;
                tenderobj.ProposePrice = targetElementText.Count > priceIndex
                    ? targetElementText[priceIndex + 1]
                    : string.Empty;

                tendersObj.Add(tenderobj);
            }
            return(tendersObj);
        }
コード例 #2
0
 public GlobalTendersController()
 {
     _tenderInfo   = new TenderInformation();
     _common       = new CommonController();
     _getListItems = new GetListItems();
 }
コード例 #3
0
 public InquiryFormsController()
 {
     _tenderInfo   = new TenderInformation();
     _getListItems = new GetListItems();
     _common       = new CommonController();
 }