Use a MD5 hash to get exactly 16 bytes so the GUID is always valid and identical for the calendar event with same date and description.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
using CarCareTracker.Models;
|
using CarCareTracker.Models;
|
||||||
using CsvHelper;
|
using CsvHelper;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
@@ -771,10 +772,10 @@ namespace CarCareTracker.Helper
|
|||||||
{
|
{
|
||||||
var dtStart = reminder.Date.Date.ToString("yyyyMMddTHHmm00");
|
var dtStart = reminder.Date.Date.ToString("yyyyMMddTHHmm00");
|
||||||
var dtEnd = reminder.Date.Date.AddDays(1).AddMilliseconds(-1).ToString("yyyyMMddTHHmm00");
|
var dtEnd = reminder.Date.Date.AddDays(1).AddMilliseconds(-1).ToString("yyyyMMddTHHmm00");
|
||||||
|
var calendarUID = new Guid(MD5.HashData(Encoding.UTF8.GetBytes($"{dtStart}_{reminder.Description}")));
|
||||||
sb.AppendLine("BEGIN:VEVENT");
|
sb.AppendLine("BEGIN:VEVENT");
|
||||||
sb.AppendLine("DTSTAMP:" + DateTime.Now.ToString("yyyyMMddTHHmm00"));
|
sb.AppendLine("DTSTAMP:" + DateTime.Now.ToString("yyyyMMddTHHmm00"));
|
||||||
sb.AppendLine("UID:" + Guid.NewGuid());
|
sb.AppendLine("UID:" + calendarUID);
|
||||||
sb.AppendLine("DTSTART:" + dtStart);
|
sb.AppendLine("DTSTART:" + dtStart);
|
||||||
sb.AppendLine("DTEND:" + dtEnd);
|
sb.AppendLine("DTEND:" + dtEnd);
|
||||||
sb.AppendLine($"SUMMARY:{reminder.Description}");
|
sb.AppendLine($"SUMMARY:{reminder.Description}");
|
||||||
|
|||||||
Reference in New Issue
Block a user