@@ -273,7 +273,12 @@ public iOSNotificationTrigger Trigger
273
273
}
274
274
case iOSNotificationTriggerType . Calendar :
275
275
{
276
- var trigger = ( ( iOSNotificationCalendarTrigger ) value ) . ToUtc ( ) ;
276
+ var trigger = ( ( iOSNotificationCalendarTrigger ) value ) ;
277
+ if ( userInfo == null )
278
+ userInfo = new Dictionary < string , string > ( ) ;
279
+ userInfo [ "OriginalUtc" ] = trigger . UtcTime ? "1" : "0" ;
280
+ if ( ! trigger . UtcTime )
281
+ trigger = trigger . ToUtc ( ) ;
277
282
data . trigger . calendar . year = trigger . Year != null ? trigger . Year . Value : - 1 ;
278
283
data . trigger . calendar . month = trigger . Month != null ? trigger . Month . Value : - 1 ;
279
284
data . trigger . calendar . day = trigger . Day != null ? trigger . Day . Value : - 1 ;
@@ -313,17 +318,22 @@ public iOSNotificationTrigger Trigger
313
318
Repeats = data . trigger . timeInterval . repeats != 0 ,
314
319
} ;
315
320
case iOSNotificationTriggerType . Calendar :
316
- return new iOSNotificationCalendarTrigger ( )
317
321
{
318
- Year = ( data . trigger . calendar . year > 0 ) ? ( int ? ) data . trigger . calendar . year : null ,
319
- Month = ( data . trigger . calendar . month > 0 ) ? ( int ? ) data . trigger . calendar . month : null ,
320
- Day = ( data . trigger . calendar . day > 0 ) ? ( int ? ) data . trigger . calendar . day : null ,
321
- Hour = ( data . trigger . calendar . hour >= 0 ) ? ( int ? ) data . trigger . calendar . hour : null ,
322
- Minute = ( data . trigger . calendar . minute >= 0 ) ? ( int ? ) data . trigger . calendar . minute : null ,
323
- Second = ( data . trigger . calendar . second >= 0 ) ? ( int ? ) data . trigger . calendar . second : null ,
324
- UtcTime = true ,
325
- Repeats = data . trigger . calendar . repeats != 0
326
- } ;
322
+ var trigger = new iOSNotificationCalendarTrigger ( )
323
+ {
324
+ Year = ( data . trigger . calendar . year > 0 ) ? ( int ? ) data . trigger . calendar . year : null ,
325
+ Month = ( data . trigger . calendar . month > 0 ) ? ( int ? ) data . trigger . calendar . month : null ,
326
+ Day = ( data . trigger . calendar . day > 0 ) ? ( int ? ) data . trigger . calendar . day : null ,
327
+ Hour = ( data . trigger . calendar . hour >= 0 ) ? ( int ? ) data . trigger . calendar . hour : null ,
328
+ Minute = ( data . trigger . calendar . minute >= 0 ) ? ( int ? ) data . trigger . calendar . minute : null ,
329
+ Second = ( data . trigger . calendar . second >= 0 ) ? ( int ? ) data . trigger . calendar . second : null ,
330
+ UtcTime = true ,
331
+ Repeats = data . trigger . calendar . repeats != 0
332
+ } ;
333
+ if ( userInfo != null && userInfo [ "OriginalUtc" ] == "0" )
334
+ trigger = trigger . ToLocal ( ) ;
335
+ return trigger ;
336
+ }
327
337
case iOSNotificationTriggerType . Location :
328
338
return new iOSNotificationLocationTrigger ( )
329
339
{
0 commit comments