コード例 #1
0
 internal static void DisplayVacancyId(ResultsPerId vacancy)
 {
     if (vacancy != null)
     {
         Console.WriteLine("vacancy.id: " + vacancy.id);
         Console.WriteLine("_totalCounter: " + _totalCounter++);
         Console.WriteLine("END-------------------------");
     }
 }
コード例 #2
0
        private ResultsPerId SerializeToObject(string contentString)
        {
            DataContractJsonSerializer serializer =
                new DataContractJsonSerializer(typeof(ResultsPerId));
            ResultsPerId vacancyJson = null;

            using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(contentString)))
            {
                try
                {
                    vacancyJson = (ResultsPerId)serializer.ReadObject(ms);
                }
                catch (SerializationException ex)
                {
                    Console.WriteLine("SerializationException on: ");
                    //Todo - filter vacany id out of contentString and include to message
                }
                catch (Exception)
                {
                }
            }
            return(vacancyJson);
        }
コード例 #3
0
        public ResultsPerId GetVacById(int id)
        {
            string url = string.Format(BaseUrlId, id);

            ResultsPerId vacancyJson = null;

            try
            {
                var contentString = ConsumeJson(url);

                // Create the Json serializer and parse the response
                vacancyJson = SerializeToObject(contentString);
                Helper.DisplayVacancyId(vacancyJson);
            }
            catch (WebException wex)
            {
                HandleWebException(wex);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            return(vacancyJson);
        }
コード例 #4
0
        private static void Main(string[] args)
        {
            //HeadHunterApiClient.GetVacById(14187125);
            //new HeadHunterApiClient().GetVacBySearchField("?text", "Врач", 10);

            HeadHunterApiClient hhApiClient = new HeadHunterApiClient();

            //Get all searchresults by ID
            _vacancyIds = hhApiClient.GetAllVacanciesByName("?text=", "Врач", "&page=", 0,
                                                            "&per_page=", 100);

            Console.WriteLine(Environment.NewLine);
            //Demonstrate (print) all records
            foreach (string vacancyId in _vacancyIds)
            {
                Console.WriteLine("Recorded string.ID: " + vacancyId);
            }
            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Pop all vacancies over API using collected id's.");
            Console.WriteLine("Reset totalCounter...");
            Helper.TotalCounter = 0;

            _terapevts         = new List <ResultsPerId>();
            _chirurgs          = new List <ResultsPerId>();
            _oftalmologs       = new List <ResultsPerId>();
            _stomatologs       = new List <ResultsPerId>();
            _pediators         = new List <ResultsPerId>();
            _notForDoctors     = new List <ResultsPerId>();
            _noSpecializations = new List <ResultsPerId>();
            //Serialize all Vacancies into files
            foreach (var vacancyId in _vacancyIds)
            {
                //1.getvacancy by ID as object
                ResultsPerId vacancy = hhApiClient.GetVacById(Int32.Parse(vacancyId));
                _noSpecializations = new List <ResultsPerId>();
                //2.filter by rules into (own collection)?
                //use String Filter
                String vacancyName = Helper.FilterString(vacancy.name.ToLowerInvariant());
                //use to lowerinvariant?
                //Todo: replace by swith, later with strategy
                if (vacancyName.Contains("терапевт"))
                {
                    _terapevts.Add(vacancy);
                }
                if (vacancyName.Contains("хирург"))
                {
                    _chirurgs.Add(vacancy);
                }
                if (vacancyName.Contains("офтальмолог"))
                {
                    _oftalmologs.Add(vacancy);
                }
                if (vacancyName.Contains("стоматолог"))
                {
                    _stomatologs.Add(vacancy);
                }
                if (vacancyName.Contains("педиатр"))
                {
                    _pediators.Add(vacancy);
                }
                if (vacancyName.Contains("фармацевт") | vacancy.name.Contains("Провизор")
                    | vacancy.name.Contains("медсестра") | vacancy.name.Contains("Интерн"))
                {
                    _notForDoctors.Add(vacancy);
                }
                else
                {
                    _noSpecializations.Add(vacancy);
                }
            }

            //3.Take collections, convert back to contentString and Serialize into folders in JSON (.txt?) format.
        }
コード例 #5
0
        internal static void DisplayVacanciesJson(ResultsPerId vacancyJson)
        {
            Console.WriteLine("vacanciesData.id: " + vacancyJson.id);
            //Console.WriteLine("vacanciesData.type.id: " + vacanciesData.type.id);
            Console.WriteLine("vacanciesData.type.name: " + vacancyJson.type.name);
            Console.WriteLine("vacanciesData.name: " + vacancyJson.name);
            Console.WriteLine("vacanciesData.description: " + vacancyJson.description);
            Console.WriteLine("vacanciesData.employer.name: " + vacancyJson.employer.name);
            Console.WriteLine("vacanciesData.employment: " + vacancyJson.employment.name);
            Console.WriteLine("vacanciesData.department: " + vacancyJson.department);
            Console.WriteLine("vacanciesData.hidden: " + vacancyJson.hidden);
            Console.WriteLine("vacanciesData.code: " + vacancyJson.code);
            Console.WriteLine("vacanciesData.contacts: " + vacancyJson.contacts);
            Console.WriteLine("vacanciesData.created_at: " + vacancyJson.created_at);
            Console.WriteLine("vacanciesData.published_at: " + vacancyJson.published_at);
            Console.WriteLine("vacanciesData.relations: " + vacancyJson.relations);
            Console.WriteLine("vacanciesData.response_letter_required: "
                              + vacancyJson.response_letter_required);
            Console.WriteLine("vacanciesData.response_url: " + vacancyJson.response_url);
            Console.WriteLine("vacanciesData.salary.currency: " + vacancyJson.salary.currency);
            Console.WriteLine("vacanciesData.salary.from: " + vacancyJson.salary.from);
            Console.WriteLine("vacanciesData.salary.to: " + vacancyJson.salary.to);

            Console.WriteLine("vacanciesData.schedule.name: " + vacancyJson.schedule.name);
            Console.WriteLine("vacanciesData.site.name: " + vacancyJson.site.name);
            //for (int i = 0; i < vacanciesData.specializations.Count; i++) {
            //   Console.WriteLine("vacanciesData.specialization: " + specialization);
            //}
            foreach (var specialization in vacancyJson.specializations)
            {
                Console.WriteLine("vacanciesData.specialization.id: " + specialization.id);
                Console.WriteLine("vacanciesData.specialization.name: " + specialization.name);
                Console.WriteLine("vacanciesData.specialization.profarea_id: "
                                  + specialization.profarea_id);
                Console.WriteLine("vacanciesData.specialization.profarea_name: "
                                  + specialization.profarea_name);
                Console.WriteLine("End of specialization....");
            }
            //Console.WriteLine("vacanciesData.specializations" + vacanciesData.specializations);
            Console.WriteLine("vacanciesData.suitable_resumes_url: "
                              + vacancyJson.suitable_resumes_url);
            Console.WriteLine("vacanciesData.test: " + vacancyJson.test);
            Console.WriteLine("vacanciesData.accept_handicapped: " + vacancyJson.accept_handicapped);
            Console.WriteLine("vacanciesData.address.building: " + vacancyJson.address.building);
            Console.WriteLine("vacanciesData.address.city: " + vacancyJson.address.city);
            Console.WriteLine("vacanciesData.address.description: "
                              + vacancyJson.address.description);
            Console.WriteLine("vacanciesData.address.lat: " + vacancyJson.address.lat);
            Console.WriteLine("vacanciesData.address.lng: " + vacancyJson.address.lng);
            Console.WriteLine("vacanciesData.address.metro: " + vacancyJson.address.metro);
            Console.WriteLine("vacanciesData.address.raw: " + vacancyJson.address.raw);
            Console.WriteLine("vacanciesData.address.street: " + vacancyJson.address.street);

            Console.WriteLine("vacanciesData.allow_messages: " + vacancyJson.allow_messages);
            Console.WriteLine("vacanciesData.alternate_url: " + vacancyJson.alternate_url);
            Console.WriteLine("vacanciesData.apply_alternate_url: "
                              + vacancyJson.apply_alternate_url);
            Console.WriteLine("vacanciesData.archived: " + vacancyJson.archived);
            Console.WriteLine("vacanciesData.area.id: " + vacancyJson.area.id);
            Console.WriteLine("vacanciesData.area.name: " + vacancyJson.area.name);
            Console.WriteLine("vacanciesData.area.url: " + vacancyJson.area.url);

            Console.WriteLine("vacanciesData.billing_type.id: " + vacancyJson.billing_type.id);
            Console.WriteLine("vacanciesData.billing_type.name: " + vacancyJson.billing_type.name);

            Console.WriteLine("vacanciesData.branded_description: "
                              + vacancyJson.branded_description);
            Console.WriteLine("vacanciesData.experience.id: " + vacancyJson.experience.id);
            Console.WriteLine("vacanciesData.experience.name: " + vacancyJson.experience.name);

            //
            foreach (var key_skill in vacancyJson.key_skills)
            {
                //Console.WriteLine("vacanciesData.key_skill: " + key_skill.name);
                //e.g подбор персонала
                Console.WriteLine("End of key_skill....");
            }

            Console.WriteLine("vacanciesData.negotiations_url" + vacancyJson.negotiations_url);
            Console.WriteLine("vacanciesData.premium" + vacancyJson.premium);
        }