Beispiel #1
0
        public NewMessageViewModel(
            IMailService emailService,
            IDataService dataService,
            IDialogService dialogService,
            ICalendarService calendarService)
        {
            _emailService    = emailService;
            _dataService     = dataService;
            _calendarService = calendarService;
            _dialogService   = dialogService;

            _newMessageType = NewMessageType.Invite;
        }
Beispiel #2
0
        public override Task InitializeAsync(object navigationData)
        {
            if (navigationData is GraphUser)
            {
                _newMessageType = NewMessageType.Invite;
                User            = (GraphUser)navigationData;
                Subject         = $"May I ride with you {GetRidePeriod(App.CurrentUser.RidePeriod)}?";
                Message         =
                    $"Hi {User.GivenName}," +
                    Environment.NewLine + Environment.NewLine +
                    $"May I ride with you {GetRidePeriod(App.CurrentUser.RidePeriod)}?" +
                    Environment.NewLine +
                    "The WorkRides app thinks we're a good match!" +
                    Environment.NewLine + Environment.NewLine +
                    "Thank you," +
                    Environment.NewLine +
                    $"{App.CurrentUser.GivenName}";
            }
            else if (navigationData is InspectRiderRequestViewModel)
            {
                _newMessageType = NewMessageType.Join;
                User            = ((InspectRiderRequestViewModel)navigationData).User;
                _distance       = ((InspectRiderRequestViewModel)navigationData).Distance;
                _ridePeriod     = ((InspectRiderRequestViewModel)navigationData).RequestedRidePeriod.HasValue ?
                                  ((InspectRiderRequestViewModel)navigationData).RequestedRidePeriod.Value:
                                  RidePeriod.Tomorrow;
                _route  = ((InspectRiderRequestViewModel)navigationData).PushpinsList;
                Subject = "Thanks for joining my carpool :)";

                // Pickup time
                var tripTime    = UserHelper.GetTripTimeEstimationAsync(User.Location(), User.WorkLocation());
                var arrivalTime = User.ArrivalTime.Equals(default(DateTime).Date) ? App.CurrentUser.ArrivalTime : User.ArrivalTime;

                Message =
                    $"Hi {User.GivenName}," +
                    Environment.NewLine + Environment.NewLine +
                    $"Thanks for joining my carpool {GetRidePeriod(_ridePeriod)}!" +
                    Environment.NewLine +
                    $"I'll pick you around {string.Format("{0:h:mm tt}", arrivalTime.AddMinutes(-tripTime))?.ToLowerInvariant()}" +
                    Environment.NewLine + Environment.NewLine +
                    $"{App.CurrentUser.GivenName}";
            }

            return(base.InitializeAsync(navigationData));
        }