/// <summary> /// Init mail service. /// </summary> /// <param name="token">Task service token.</param> /// <returns>Mail service itself.</returns> public IMailService InitMailService(string token) { var service = new MailService(); var mailService = service.InitAsync(token).Result; return(mailService); }
protected async Task <ITaskService> InitListTypeIds(WaterfallStepContext sc) { var state = await ToDoStateAccessor.GetAsync(sc.Context); if (!state.ListTypeIds.ContainsKey(state.ListType)) { var emailService = await MailService.InitAsync(state.MsGraphToken); var senderMailAddress = await emailService.GetSenderMailAddressAsync(); var recovered = await RecoverListTypeIdsAsync(sc, senderMailAddress); if (!recovered) { if (ServiceManager is OneNoteService) { await sc.Context.SendActivityAsync(sc.Context.Activity.CreateReply(ToDoSharedResponses.SettingUpOneNoteMessage)); } else { await sc.Context.SendActivityAsync(sc.Context.Activity.CreateReply(ToDoSharedResponses.SettingUpOutlookMessage)); } var service = await ServiceManager.InitAsync(state.MsGraphToken, state.ListTypeIds); var taskWebLink = await service.GetTaskWebLink(); var emailContent = string.Format(ToDoStrings.EmailContent, taskWebLink); await emailService.SendMessageAsync(emailContent, ToDoStrings.EmailSubject); if (ServiceManager is OneNoteService) { await sc.Context.SendActivityAsync(sc.Context.Activity.CreateReply(ToDoSharedResponses.AfterOneNoteSetupMessage)); } else { await sc.Context.SendActivityAsync(sc.Context.Activity.CreateReply(ToDoSharedResponses.AfterOutlookSetupMessage)); } await StoreListTypeIdsAsync(sc, senderMailAddress); return(service); } } return(await ServiceManager.InitAsync(state.MsGraphToken, state.ListTypeIds)); }