private static async Task <IKeyboard> WatchesKeyboard(int metricId) { var watches = await DataService.Watches.WatchesByMetric(metricId); IEnumerable <string> keys = watches.Select(s => s.KeyItem).Append(ANADIR_WATCH).Append(REGRESAR); return(ReplyKeyboard.FromStringKeysVertical(keys)); }
private static async Task <IKeyboard> MetricsKeyboard(int deviceId) { var metrics = await DataService.Metrics.MetricsByDevice(deviceId); IEnumerable <string> keys = metrics.Select(s => s.KeyItem).Append(ANADIR_METRICA).Append(REGRESAR); return(ReplyKeyboard.FromStringKeysVertical(keys)); }
private static async Task <IKeyboard> ControlsKeyboard(int deviceId) { var controls = await DataService.Controls.ControlsByDevice(deviceId); IEnumerable <string> keys = controls.Select(s => s.KeyItem).Append(ANADIR_CONTROL).Append(REGRESAR); return(ReplyKeyboard.FromStringKeysVertical(keys)); }
private static async Task <IKeyboard> GenerateKeyboard <T>(int input, Func <int, Task <IEnumerable <T> > > func, Func <T, string> stringFromT, string append) { var devices = await func(input); var keys = devices.Select(s => stringFromT(s)).Append(append); return(ReplyKeyboard.FromStringKeysVertical(keys)); }
private static async Task <IKeyboard> DevicesKeyboard(int userId) //=> await GenerateKeyboard(userId, DataService.Devices.DevicesByUser, s => $"{s.DeviceId} {s.Name}", ANADIR_DISPOSITIVO); { var devices = await DataService.Devices.DevicesByUser(userId); IEnumerable <string> keys = devices.Select(s => s.KeyItem).Append(ANADIR_DISPOSITIVO).Append(REGRESAR); return(ReplyKeyboard.FromStringKeysVertical(keys)); }