private void settingsButton_Click(object sender, EventArgs e) { SettingsForm sf = new SettingsForm() { WeatherLocation = weatherLocation, UseNotificationIcon = useNotificationIcon, Hourly = hourlyForecast, DescriptiveWind = descriptiveWind, ImperialUnits = imperialUnits, StartHidden = startHidden, SymbolWindowIcon = symbolAsWindowIcon, SymbolNotificationIcon = symbolAsNotificationIcon, Language = lang }; if (sf.ShowDialog(this) == DialogResult.OK) { bool needRefresh = false; bool needSync = false; if (weatherLocation != (weatherLocation = sf.WeatherLocation) || lang != (lang = sf.Language) || hourlyForecast != (hourlyForecast = sf.Hourly) || imperialUnits != (imperialUnits = sf.ImperialUnits)) { needRefresh = true; } if (useNotificationIcon != (useNotificationIcon = sf.UseNotificationIcon) || descriptiveWind != (descriptiveWind = sf.DescriptiveWind) || symbolAsWindowIcon != (symbolAsWindowIcon = sf.SymbolWindowIcon) || symbolAsNotificationIcon != (symbolAsNotificationIcon = sf.SymbolNotificationIcon)) { needSync = true; } // we don't need to raise anything with this startHidden = sf.StartHidden; Properties.Settings.Default.WeatherLocation = weatherLocation; Properties.Settings.Default.UseNotificationIcon = useNotificationIcon; Properties.Settings.Default.Hourly = hourlyForecast; Properties.Settings.Default.DescriptiveWind = descriptiveWind; Properties.Settings.Default.ImperialUnits = imperialUnits; Properties.Settings.Default.StartHidden = startHidden; Properties.Settings.Default.SymbolWindowIcon = symbolAsWindowIcon; Properties.Settings.Default.SymbolNotificationIcon = symbolAsNotificationIcon; Properties.Settings.Default.Language = lang; Properties.Settings.Default.Save(); if (needRefresh) { RefreshData(); needSync = true; } if (needSync) { SyncState(); } } }
public async Task <IActionResult> SpecificService(int serviceId) { int langId = await HttpContext.GetCurrentLanguageIdAsync(db, "lang_id"); ServiceLanguage serviceLanguage = await db.ServiceLanguages .Where(sl => sl.LanguageId == langId && sl.ServiceId == serviceId) .Include(sl => sl.Service) .ThenInclude(sl => sl.Photos) .FirstOrDefaultAsync(); return(View(serviceLanguage)); }
public string UrlSubsection(ServiceLanguage lang) { if (lang == ServiceLanguage.NorwegianNynorsk) { return(Regex.Match(XmlUrlNynorsk, querySlicingRegex).Groups[1].Value); } else if (lang == ServiceLanguage.NorwegianBokmal) { return(Regex.Match(XmlUrlBokmal, querySlicingRegex).Groups[1].Value); } else { return(Regex.Match(XmlUrl, querySlicingRegex).Groups[1].Value); } }
static string GetPrefix(ServiceLanguage lang) { if (lang == ServiceLanguage.NorwegianNynorsk) { return("stad"); } else if (lang == ServiceLanguage.NorwegianBokmal) { return("sted"); } else { return("place"); } }
public async Task <IActionResult> Add(ServiceModel model) { if (model.Names != null && model.Photos != null && model.Texts != null && model.ShortDescs != null) { Service service = new Service(); await db.Services.AddAsync(service); List <Language> languages = await db.Languages.ToListAsync(); for (int i = 0; i < languages.Count; i++) { if (model.Names[i] != null && model.ShortDescs[i] != null && model.Texts[i] != null) { ServiceLanguage serviceLanguage = new ServiceLanguage() { Name = model.Names[i], ShortDesc = model.ShortDescs[i], Text = model.Texts[i], ServiceId = service.Id, LanguageId = languages[i].Id }; await db.ServiceLanguages.AddAsync(serviceLanguage); } } foreach (string file in model.Photos) { ServicePhoto servicePhoto = new ServicePhoto() { ServiceId = service.Id, Path = file }; await db.ServicePhotos.AddAsync(servicePhoto); } await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { return(RedirectToAction(nameof(Add))); } }
public static ServiceLanguageModel ToModel(ServiceLanguage entity) { if (entity == null) { return(null); } return(new ServiceLanguageModel() { Id = entity.Id, Description = entity.Description, ImageAlt = entity.ImageAlt, ImageSrc = entity.ImageSrc, Language = entity.Language, ServiceId = entity.ServiceId, TitleTagForSEO = entity.TitleTagForSEO, TitleText = entity.TitleText }); }
Icon icon; // used for both notify + taskbar overlay public MainForm() { InitializeComponent(); fetcher = new Fetcher(); weatherLocation = Properties.Settings.Default.WeatherLocation; useNotificationIcon = Properties.Settings.Default.UseNotificationIcon; hourlyForecast = Properties.Settings.Default.Hourly; descriptiveWind = Properties.Settings.Default.DescriptiveWind; imperialUnits = Properties.Settings.Default.ImperialUnits; symbolAsNotificationIcon = Properties.Settings.Default.SymbolNotificationIcon; symbolAsWindowIcon = Properties.Settings.Default.SymbolWindowIcon; startHidden = Properties.Settings.Default.StartHidden; lang = Properties.Settings.Default.Language; if (startHidden && !useNotificationIcon) { WindowState = FormWindowState.Minimized; } }
static string GetXmlName(bool hourly, ServiceLanguage lang) { if (hourly && lang == ServiceLanguage.English) { return(hourlyForecastEn); } else if (!hourly && lang == ServiceLanguage.English) { return(normalForecastEn); } else if (hourly && lang < ServiceLanguage.English) { return(hourlyForecastNo); } else { return(normalForecastNo); } }
/// <summary> /// Retrieves friendly names for the languages available for text translation and speech synthesis. /// </summary> /// <param name="serviceType">The service type for which to retrieve supported languages.</param> /// <param name="language">The language used to localize the language names. If the parameter is set to <strong>null</strong>, the language specified in the <seealso cref="Language"/> property will be used.</param> /// <returns>An array of <see cref="ServiceLanguage"/> containing the language codes and names supported for translation by <strong>Microsoft Translator Service</strong>.</returns> /// <exception cref="ArgumentNullException">The <see cref="SubscriptionKey"/> property hasn't been set.</exception> /// <exception cref="TranslatorServiceException">The provided <see cref="SubscriptionKey"/> isn't valid or has expired.</exception> /// <remarks><para>This method performs a non-blocking request for language name.</para> /// <para>For more information, go to https://docs.microsofttranslator.com/text-translate.html#!/default/post_GetLanguageNames. /// </para> /// </remarks> /// <seealso cref="ServiceType"/> /// <see cref="GetLanguageCodesAsync(ServiceType)"/> public async Task <IEnumerable <ServiceLanguage> > GetLanguageNamesAsync(ServiceType serviceType = ServiceType.Translation, string language = null) { var languageCodes = await GetLanguageCodesAsync(serviceType); if (string.IsNullOrWhiteSpace(language)) { language = Language; } var uri = string.Format(LanguageNamesUri, language); var request = new HttpRequestMessage(HttpMethod.Post, uri); XNamespace ns = ArrayNamespace; var xmlRequest = new XDocument(new XElement(ns + ArrayOfStringXmlElement, from lang in languageCodes select new XElement(ns + StringXmlElement, lang) )); request.Content = new StringContent(xmlRequest.ToString()); request.Content.Headers.ContentType = new MediaTypeHeaderValue(XmlContentType); var content = await(await client.SendAsync(request).ConfigureAwait(false)).Content.ReadAsStringAsync().ConfigureAwait(false); var xmlContent = XDocument.Parse(content); var languageNames = xmlContent.Root.Elements(ns + StringXmlElement).Select(s => s.Value); // Creates the response object. var languages = new ServiceLanguage[languageCodes.Count()]; for (int i = 0; i < languages.Length; i++) { languages[i] = new ServiceLanguage(languageCodes.ElementAt(i), languageNames.ElementAt(i)); } return(languages); }
public ServiceLanguageWrapper(ServiceLanguage lang) { Language = lang; }
public async Task <IActionResult> Edit(ServiceModel model, int serviceId) { if (!model.Texts.IsNull() && !model.Names.IsNull() && !model.ShortDescs.IsNull()) { Service service = await db.Services.Where(s => s.Id == serviceId).Include(s => s.Photos).FirstOrDefaultAsync(); List <Language> languages = await db.Languages.ToListAsync(); for (int i = 0; i < languages.Count; i++) { ServiceLanguage serviceLanguage = await db.ServiceLanguages .Where(sl => sl.ServiceId == serviceId && sl.LanguageId == languages[i].Id) .FirstOrDefaultAsync(); if (serviceLanguage == null) { serviceLanguage = new ServiceLanguage() { ServiceId = serviceId, LanguageId = languages[i].Id, Name = model.Names[i], Text = model.Texts[i], ShortDesc = model.ShortDescs[i] }; await db.ServiceLanguages.AddAsync(serviceLanguage); } else { serviceLanguage.Name = model.Names[i]; serviceLanguage.ShortDesc = model.ShortDescs[i]; serviceLanguage.Text = model.Texts[i]; } } if (!model.DeletePhotos.IsNull() && !model.DeletePhotos.IsNullOrEmpty()) { foreach (ServicePhoto sp in service.Photos) { if (model.DeletePhotos.Contains(sp.Path)) { string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Uploads", "Services", sp.Path); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } ServicePhoto servicePhoto = await db.ServicePhotos.Where(s => s.ServiceId == serviceId && s.Path == sp.Path).FirstOrDefaultAsync(); if (servicePhoto != null) { db.ServicePhotos.Remove(servicePhoto); } } } } if (!model.Photos.IsNull() && !model.Photos.IsNullOrEmpty()) { foreach (string file in model.Photos) { ServicePhoto servicePhoto = new ServicePhoto() { ServiceId = service.Id, Path = file }; await db.ServicePhotos.AddAsync(servicePhoto); } } await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(RedirectToAction(nameof(Edit))); }
private void CheckTranslation(string source, ServiceLanguage target) { target.Language.Code.Should().Be(source); }
public Fetcher() { wc = new CookieAwareWebClient(); wc.Headers.Add(HttpRequestHeader.UserAgent, ua); Language = ServiceLanguage.English; }