/// <summary>Constructs a new service.</summary> /// <param name="initializer">The service initializer.</param> public TranslateService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer) { detections = new DetectionsResource(this); languages = new LanguagesResource(this); translations = new TranslationsResource(this); }
internal static Language FromResource(LanguagesResource resource) => new Language(resource.Name, resource.Language);
public override async Task <ActionResult <IActionResult> > HandleAsync(SkillRequest input) { /// <summary> /// Bloco de segurança para verificando e validar o request enviado pela Alexa, /// identificando possiveis fraudes. /// </summary> var req = HttpContext.Request; var isValid = await input.ValidateRequestAsync(req, _logger); if (!isValid) { return(new BadRequestResult()); } var request = input.Request; SkillResponse response = new SkillResponse { Response = new ResponseBody() }; DictionaryLocaleSpeechStore store = LanguagesResource.SetupLanguageResources(); ILocaleSpeech locale = input.CreateLocale(store); try { if (input.Session.Attributes == null) { input.Session.Attributes = new Dictionary <string, object>(); } if (!(request is IntentRequest intentRequest)) { return(new BadRequestResult()); } string IntentName = intentRequest.Intent.Name; if (string.IsNullOrEmpty((String)input.Session.Attributes["Auth"])) { //Autenticação string token = await HttpSenderApi.Call(); input.Session.Attributes["Auth"] = token; } if (intentRequest.Intent.Name == "PinUsuarioIntent") { Account user = await new LogInPinAlexa(_repository).LogInAlexaAsync(intentRequest.Intent.Slots["pin"].Value); if (user != null) { input.Session.Attributes.Add("pin", user.AccountId); IOutputSpeech message = await locale.Get(LanguageKeys.Pinvalido, null); response = ResponseBuilder.Ask(message, null, input.Session); return(new OkObjectResult(response)); } else { IOutputSpeech message = await locale.Get(LanguageKeys.PinInvalido, null); response = ResponseBuilder.Ask(message, null, input.Session); return(new OkObjectResult(response)); } } if (intentRequest.Intent.Name != "PinUsuarioIntent") { response = await ExecuteIntentAlexaAsync(IntentName, input, locale); } } catch (Exception ex) { var message = await locale.Get(LanguageKeys.Error, null); response = ResponseBuilder.Tell(message); _logger.LogError(ex.Message + " : ", message); } return(new OkObjectResult(response)); }