private void UserEntered(IReadOnlyCollection <ClientEnterView> collection) { foreach (var clientEnterView in collection) { var nickname = clientEnterView.NickName; var template = _greetingService.GetGreeting(nickname); _system.Actor <TelegramMessageChannel>().Tell(new MessageArgs <string>(_settings.Telegram.HostGroupId, string.Format(template, nickname))); _nicknamesCache.AddOrUpdate(clientEnterView.Id, nickname, (i, s) => clientEnterView.NickName); _logger.LogInformation($"{nickname} has entered"); } }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { var greetingService = new GreetingService(); log.LogInformation("C# HTTP trigger function processed a request."); string name = req.Query["name"]; string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); name = name ?? data?.name; if (name != null) { var greeting = greetingService.GetGreeting(name); return((ActionResult) new OkObjectResult(greeting)); } return(new BadRequestObjectResult("Please pass a name on the query string or in the request body")); }