Beispiel #1
0
    public static async Task PrepareSaveNotesAsync(this TelegramService telegramService)
    {
        var chatId          = telegramService.ChatId;
        var fromId          = telegramService.FromId;
        var message         = telegramService.MessageOrEdited;
        var messageTextPart = message.Text.GetTextWithoutCmd().Split("\n\n");

        if (message.ReplyToMessage == null)
        {
            await telegramService.SendTextMessageAsync("Balas salah satu pesan untuk disimpan sebagai Notes");

            return;
        }

        var replyToMessage = message.ReplyToMessage;
        var slugNote       = messageTextPart.ElementAtOrDefault(0);
        var buttonData     = messageTextPart.ElementAtOrDefault(1);
        var noteContent    = replyToMessage.CloneText();
        var fileId         = replyToMessage.GetFileId();
        var fileType       = replyToMessage.Type.Humanize().Pascalize();

        if (slugNote.IsNullOrEmpty())
        {
            await telegramService.SendTextMessageAsync("Tentukan slug/judul untuk catatan ini");

            return;
        }

        if (await telegramService.NotesService.IsExistAsync(chatId, slugNote))
        {
            await telegramService.SendTextMessageAsync("slug sudah ada, silakan gunakan slug lain untuk Catatan ini.");

            return;
        }

        var saveNote = new NoteSaveDto
        {
            ChatId    = chatId,
            FromId    = fromId,
            Tag       = slugNote,
            Content   = noteContent,
            BtnData   = buttonData,
            TypeData  = fileType,
            FileId    = fileId,
            CreatedAt = DateTime.UtcNow,
            UpdatedAt = DateTime.UtcNow
        };

        await telegramService.SendTextMessageAsync("Sedang menyimpan catatan..");

        await telegramService.NotesService.SaveNoteAsync(saveNote);

        await telegramService.EditMessageTextAsync(
            "Catatan berhasil disimpan." +
            "\nKetik <code>/notes</code> untuk melihat catatan."
            );
    }
Beispiel #2
0
    public async Task <int> SaveNoteAsync(NoteSaveDto noteSaveDto)
    {
        var values = noteSaveDto.ToDictionary();

        var insert = await _queryService
                     .CreateMySqlFactory()
                     .FromTable(TableName)
                     .InsertAsync(values);

        return(insert);
    }