Exemple #1
0
        private async Task ProcessAlert(List <string> args)
        {
            var topLevelAlertArgs = new [] { "create", "edit", "delete" };

            if (args.Count == 0 || !topLevelAlertArgs.Contains(args[0].ToLower()))
            {
                await SendAlertCommandEmbed();

                return;
            }

            if (!await _timeZoneService.HasTimeZoneSet(_event.Message.Author.Id))
            {
                await _messageService.SendMessage(_event.Message.ChannelId, new OutgoingMessage
                {
                    Content = "Please set your time zone first with: !plog mytime [timeZone]"
                });

                return;
            }

            var method = args[0].ToLower();

            args = args.Where((item, index) => index > 0).ToList();
            switch (method)
            {
            case "create":
                await ProcessAlertCreate(args);

                break;

            case "edit":
                await ProcessAlertEdit(args);

                break;

            default:
                await ProcessAlertDelete(args);

                break;
            }
        }