Help us understand the problem. What is going on with this article?

家庭内の定期的なタスクについてもWunderlistで管理したい(その2)

More than 1 year has passed since last update.

〇まったく役に立たない回答が返ってきた。

前回問い合わせてみた件についての回答が返ってきた。
家庭内の定期的なタスクについてもWunderlistで管理したい(その1)@調査

<回答>
私たちに手を差し伸べていただきありがとうございます。
期限は可能ですが、時間がないので、我々は、ユーザーが彼が電子メールを送信するときにどこにあるかわからないので、時間帯は異なります。
私は私の答えがあなたを助けることを望む。あなたのサポートに感謝し、私たちは良い一日をお祈りしています!

Thank you for reaching out to us.
The due date is possible but time is not, since we are not sure where the user is when he sends the email, thus the time zone is different.
I hope my answer helps you. Thank you for your support and we wish you a good day!

日本語と英語の両方が記載されているのは親切だなとは思ったけど、回答としては何一つ役に立たなかった。

〇前回まで

家庭内の定期的なタスクについてもWunderlistで管理したい(その1)
→メール送信による登録を調査

〇今回の概要

・設定した期間に合わせて、自動で送信する処理を作成
※最終的には画面で設定できるようにする予定だが、
まずはファイルに対して直接書き込んだものをWunderListに設定する部分だけを作ってしまう。

〇バックエンド処理

・DBを用意するのがめんどくさいのでファイル読み書きにする。
・1タスクごとにJsonのレコードを作って、設定情報を読み書きする。
・タスクごとにタスク登録日かを判定して、登録対象の場合はメール送信で登録。
 送信した場合は次回タスク登録日を更新

データ項目としては以下を持たせてみる

・タスク名
・担当名
・タスクとタスクの間隔
・期限とタスク登録の間隔
・次回期限日
・前回期限日
・次回タスク登録日

・とりあえずサンプルとしていくつかのパターンを設定。
これで思った通りに送信されるかちょっと様子を見てみる。
※本当はこのタイミングでしっかり試験をすればいいんだろうけど、プライベートだとテストをしっかりやるのがめんどくさいので試してダメなら直していく方向で。
隔週、毎週、隔日あたりが思った通りにタスク登録されればたぶん大丈夫でしょ。
2~3日動かしてみた感じだとあってそうな感じ。

ざっくり書くとこんなイメージ

var list = GetTaskData();
var now = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd"));

// 通知処理
var UpdateFlg = false;
foreach (var TaskData in list)
{
    if (now <= TaskData.NextNoticeDateTime && TaskData.NextNoticeDateTime <= now.AddDays(TaskData.NoticeToLimit))
    {
        //登録する
        SendMail.Send(TaskData.TaskName + " #" +TaskData.Person+ " " + TaskData.NextLimitDateTime.ToString("yyyy年MM月dd日"));

        //データ更新
        TaskData.LastLimitDateTime = TaskData.NextLimitDateTime;
        TaskData.LastLimitDate = TaskData.LastLimitDateTime.ToString("yyyy/MM/dd");
        TaskData.SetNextDate();

        UpdateFlg = true;
    }
}
if (UpdateFlg)
{
    //一件も更新しなかったときは保存しない
    Write(list);
}

もちっときれいに書けそうだが、リファクタリングするのもめんどくさいのでこのままにしておく。

〇次回以降

・あとはこれらの設定を簡単に登録/更新できる方法を考える。
→たぶんWebAppを作ることになるかな。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away