私は予約をに保存しています。AppointmentCalendar.SaveAppointmentAsync(...)
を使用しています。この予約はのシリーズであり、Recurrence
の情報が含まれています。`Appointment.Recurrence.Until`は、保存して読み込んだ後に(予期せず)オフになるのはなぜですか?
アポイントを保存した直後に、同じカレンダーのGetAppointmentAsync
をアポイントのLocalId
で呼び出して、同じアポイントを再度取得します。
予想外の動作です:ロードされた予定に違いがあります。Recurrence.Until
の日付はであり、1つはです。 これはなぜですか?私は保存
Appointment
:
はJSONとしてシリアライズ関与予定です
{
"Location": "",
"AllDay": false,
"Organizer": null,
"Duration": "00:45:00",
"Details": "",
"BusyStatus": 0,
"Recurrence": {
"Unit": 1,
"Occurrences": 260,
"Month": 1,
"Interval": 1,
"DaysOfWeek": 62,
"Day": 1,
"WeekOfMonth": 0,
"Until": "2016-12-31T01:00:00+01:00",
"TimeZone": "Europe/Budapest",
"RecurrenceType": 0,
"CalendarIdentifier": ""
},
"Subject": "test",
"Uri": null,
"StartTime": "2016-01-04T11:30:00+01:00",
"Sensitivity": 0,
"Reminder": null,
"Invitees": {},
"AllowNewTimeProposal": true,
"UserResponse": 0,
"RoamingId": "c,b,fd",
"ReplyTime": null,
"IsResponseRequested": true,
"IsOrganizedByUser": false,
"IsCanceledMeeting": false,
"OnlineMeetingLink": "",
"HasInvitees": false,
"CalendarId": "b,37,355",
"LocalId": "c,37,20a3",
"OriginalStartTime": null,
"RemoteChangeNumber": 0,
"DetailsKind": 0,
"ChangeNumber": 39537577
}
そして、ここではGetAppointmentAsync
を呼び出すことによって、それを取得した後Appointment
この非常に同じです:
{
"Location": "",
"AllDay": false,
"Organizer": null,
"Duration": "00:45:00",
"Details": "",
"BusyStatus": 0,
"Recurrence": {
"Unit": 1,
"Occurrences": 260,
"Month": 1,
"Interval": 1,
"DaysOfWeek": 62,
"Day": 1,
"WeekOfMonth": 0,
"Until": "2016-12-30T01:00:00+01:00",
"TimeZone": "Europe/Budapest",
"RecurrenceType": 0,
"CalendarIdentifier": "GregorianCalendar"
},
"Subject": "test",
"Uri": null,
"StartTime": "2016-01-04T11:30:00+01:00",
"Sensitivity": 0,
"Reminder": null,
"Invitees": {},
"AllowNewTimeProposal": true,
"UserResponse": 0,
"RoamingId": "c,b,fd",
"ReplyTime": null,
"IsResponseRequested": true,
"IsOrganizedByUser": false,
"IsCanceledMeeting": false,
"OnlineMeetingLink": "",
"HasInvitees": false,
"CalendarId": "b,37,355",
"LocalId": "c,37,20a3",
"OriginalStartTime": null,
"RemoteChangeNumber": 0,
"DetailsKind": 0,
"ChangeNumber": 39537577
}
これらのJSONを比較すると、Recurrence
の部分に2つの違いがあります:
CalendarIdentifier
は、元の設定では保存されません(セッターはプライベートなので)。しかしもっと重要:Recurrence.Until
が違う! "2016-12-31T01:00:00 + 01:00" 予定の
Recurrence.Until
をロードした後: "2016-12-30T01:00:00 + 01:00" 保存する予定の
Recurrence.Until
1日が欠落しています。
これはなぜですか?予定を保存するときに何か必要なことはありますか?それとも悪いのですか:カレンダーや予定を持つのは端的なケースですか、現在の日付につながっているのでしょうか?
(SDKバージョン10.0.14393.0、勝利10周年記念)
親愛なる@Sunteen、これを見ていただきありがとうございます!残念ながら、私は内部で予定をバックアップしているので、予定を作成するためにUIを使用することはできません。そして、これは1:1のバックアップでなければならないので、 'Appointment'オブジェクトをすべてのプロパティで複製する必要があります。あなたの答えから、私は、私が欲しいところに行くために予定のタイムゾーンを試してみることができることがわかります。しかし、全体の動作がバグ、または少なくとも非直感的な動作のように見えるのではないですか? –