Ejemplo n.º 1
0
        public static BitmapImage LoadLogo(LogoUrls logo)
        {
            string LogoPath;

            try
            {
                if (!string.IsNullOrEmpty(logo.The90))
                {
                    LogoPath = logo.The90;
                }
                else
                if (!string.IsNullOrEmpty(logo.The240))
                {
                    LogoPath = logo.The240;
                }
                else
                if (!string.IsNullOrEmpty(logo.Original))
                {
                    LogoPath = logo.Original;
                }
                else
                {
                    LogoPath = @"https://pp.userapi.com/c840720/v840720243/855bb/HBaxCm4hv3s.jpg";
                }
            }
            catch (Exception e)
            {
                Logging.WriteLog(e.Message + "\n" + e.StackTrace + "\n");
                LogoPath = @"https://pp.userapi.com/c840720/v840720243/855bb/HBaxCm4hv3s.jpg";
            }
            BitmapImage bitmap = new BitmapImage();

            bitmap.BeginInit();
            bitmap.UriSource = new Uri(LogoPath, UriKind.Absolute);
            bitmap.EndInit();
            return(bitmap);
        }
Ejemplo n.º 2
0
        private void ResultGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // Очистка форм
            UrlLabel.Text      = null;
            TbDescryption.Text = null;
            MetroLabel.Content = null;

            //Заполнение списка из выбранного поля в таблице.
            DataGrid vac   = (DataGrid)sender;
            Item     VacId = (Item)vac.SelectedValue;

            // Получение ссылки на сайт работадателя.
            EmplUrl = Actions.GetEmplUrl(VacId.Employer.Id);

            // Вывод в текстовй блок информации
            TbDescryption.Text = "Краткое описание: \n";

            // Если требования в вакансии не пусто, то выводить их.
            // Если пусто, то сообщать об этом.
            if (VacId.Snippet != null)
            {
                TbDescryption.Text += Actions.NotNull(VacId.Snippet.Requirement) + "\n \n";
                TbDescryption.Text += Actions.NotNull(VacId.Snippet.Responsibility) + "\n \n";
            }
            else
            {
                TbDescryption.Text += "Описания нет" + "\n \n";
            }

            // Если информаци об адресе не пусто, то выводить город и метро.
            if (VacId.Address != null)
            {
                TbDescryption.Text += "Город: " + Actions.NotNull(VacId.Address.City) + "\n"
                                      + "Улица: " + Actions.NotNull(VacId.Address.Street) + " " + "Дом: " + Actions.NotNull(VacId.Address.Building);
                {
                    // Если информация о метро не пусто, то выводить название станции.
                    // Иначе выводить "Не задано".
                    if (VacId.Address.Metro != null)
                    {
                        MetroLabel.Content    = "Метро: " + VacId.Address.Metro.StationName;
                        MetroLabel.Foreground = Metro.GetColor(VacId.Address.Metro);
                    }
                    else
                    {
                        MetroLabel.Content    = "Не задано";
                        MetroLabel.Foreground = Brushes.Black;
                    }
                }
            }
            else
            {
                TbDescryption.Text += "Информации нет" + "\n"; MetroLabel.Foreground = Brushes.Black; MetroLabel.Content = "Метро: Информации нет";
            }

            // Загрузка логотипа компании.
            EmplLogo.Source = LogoUrls.LoadLogo(VacId.Employer.LogoUrls);

            // Формирование гиперссылки на выбранную вакансию.
            Hyperlink hyperLink = new Hyperlink()
            {
                NavigateUri = new System.Uri(VacId.AlternateUrl.ToString())
            };

            hyperLink.Inlines.Add(VacId.AlternateUrl.ToString());
            hyperLink.RequestNavigate += Hyperlink_RequestNavigate;
            UrlLabel.Inlines.Add(hyperLink);
        }