// remove sharing with specific users public DataSet RemoveShare(ShareRequest request) { IDBParameter p_docId = _dalInfra.getParameter("DocId", OracleDbType.Varchar2, request.DocId); IDBParameter p_userId = _dalInfra.getParameter("UserId", OracleDbType.Varchar2, request.UserId); return(_dalInfra.ExecuteSPQuery(_conn, "REMOVE_SHARE", p_docId, p_userId)); }
public async Task <ActionResult> StartSharing(ShareRequest request) { try { await _sharingOperation.StartSharing(request); return(Ok()); } catch (DuplicateSharingContextException exception) { _logger.LogError(exception, exception.Message); return(BadRequest("File is already shared by this user")); } catch (ValidationException exception) { _logger.LogWarning("Validation Failed. StartSharing"); _logger.LogError(exception, exception.Message); return(BadRequest(exception.Errors)); } catch (Exception exception) { _logger.LogError(exception, exception.Message); return(StatusCode(500, exception.Message)); } }
static void Main(string[] args) { var share = new ShareRequest(new TestHostAdapter()); share.OnLoad(); share.ConfigureRunscope(); }
IEnumerator SubmitShareRequest() { ShareRequest request = new ShareRequest { data = dataToSubmit, description = descriptionInput.text, name = nameInput.text, thumbnail = thumbnailToSubmit }; var www = ShareManager.Instance.UploadShareRequest(request); yield return(www); RRCSManager.Instance.loadingModal.Hide(); if (www.error != null) { Debug.Log("Upload failed: " + www.error); RRCSManager.Instance.errorModal.Show("Upload failed: ", www.error); } else { if (nameInput.text.Length > 0) { ShareManager.Instance.SetLastLoadedId(www.text, nameInput.text); } else { ShareManager.Instance.SetLastLoadedId(www.text, "Unnamed Circuit"); } shareSuccessModal.Show(ShareManager.SHARE_BASE_URL + www.text); } }
public bool AddShare(ShareRequest shareRequest) { using (var db = new ParchegramDBContext()) { try { Share oShare = new Share(); oShare.IdUser = shareRequest.IdUser; oShare.IdPost = shareRequest.IdPost; oShare.Date = DateTime.Now; db.Share.Add(oShare); if (db.SaveChanges() == 1) { return(true); } return(false); } catch (Exception e) { _logger.LogInformation(e.Message); return(false); } } }
public bool UpdateShare(Share share, SecureItem item, string newStatus) { try { ShareRequest reqData = new ShareRequest(); reqData.uuid = share.Id.ToString(); reqData.data = EncriptItemForShare(share, Encoding.UTF8.GetString(Convert.FromBase64String(share.ReceiverPrivateKey))); dynamic response = pbWebApi.RequestShare(reqData, String.Format("{0}|{1}", pbData.ActiveUser, pbData.DeviceUUID)); if (response.error != null) { MessageBox.Show(response.error.details.ToString(), response.error.message.ToString()); return(false); } share.Data = reqData.data; share.Status = reqData.status; pbData.AddOrUpdateShare(share); return(true); } catch { } return(false); }
public void StartSharing_should_throw_ArgumentNullException_for_Null_request() { ShareRequest request = null; Func <Task> act = async() => await _operation.StartSharing(request); act.Should().ThrowExactly <ArgumentNullException>(); }
public async Task Share(string accessToken, ShareRequest share) { _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); _client.DefaultRequestHeaders.Add("X-Restli-Protocol-Version", "2.0.0"); var json = JsonConvert.SerializeObject(share); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync(ShareUrl, content); }
public void Share(ShareRequest request) { if (!request.Id.HasValue) { throw new ArgumentNullException(nameof(request.Id)); } this._requestTable.Add(request.Id.Value.ToString(), request); this.Send(request); }
// Use this for initialization void Start() { shareRequest = GetComponent <ShareRequest>(); Content = transform.Find("InputField").GetComponent <InputField>(); transform.Find("BackButton").GetComponent <Button>().onClick.AddListener(Back); transform.Find("SendButton").GetComponent <Button>().onClick.AddListener(Send); savePanel = transform.Find("SavePanel").gameObject; savePanel.SetActive(false); }
/// <summary> /// Share google cloud printer to other google user /// reference: https://developers.google.com/cloud-print/docs/shareApi#share /// </summary> /// <param name="request">Parameters for /share interface</param> /// <param name="cancellationToken">Cancellation token</param> /// <returns>Response from google cloud</returns> public async Task <Response <ShareRequest> > SharePrinterAsync(ShareRequest request, CancellationToken cancellationToken = default(CancellationToken)) { await UpdateTokenAsync(cancellationToken); return(await GoogleCloudPrintBaseUrl .AppendPathSegment("share") .WithOAuthBearerToken(_token.AccessToken) .PostRequestAsync(request, cancellationToken) .ReceiveJsonButThrowIfFails <Response <ShareRequest> >() .ConfigureAwait(false)); }
public async Task ShareScheduleAsync(string teamId, DateTime startTime, DateTime endTime, bool notifyTeam) { var client = _clientFactory.CreateClient(_options, teamId); var shareRequest = new ShareRequest { StartDateTime = startTime, EndDateTime = endTime, NotifyTeam = notifyTeam }; var policy = GetTimeoutRetryPolicy(_options.LongOperationMaxAttempts, _options.LongOperationRetryIntervalSeconds); await policy.ExecuteAsync(() => client.ShareScheduleAsync(shareRequest, teamId)); }
public void DoShareRequest() { PacketBase msg = new PacketBase() { packetType = PacketType.ShareRequest }; ShareRequest request = new ShareRequest() { }; msg.data = NetSerilizer.Serialize(request); SocketNetTools.SendMsg(msg); }
public Response CreateShare(ShareRequest request) { Response retval; try { var dsShare = _dal.CreateShare(request); retval = new ResponseOk <string>("Share was Created!"); } catch (Exception ex) { retval = new AppResponseError("Sharing not created\n" + ex.Message); } return(retval); }
public Response removeShare(ShareRequest request) { Response retval; try { var dsShare = _dal.RemoveShare(request); retval = new ResponseOk <string>("Remove share for this user"); } catch (Exception ex) { retval = new AppResponseError("Can't remove now\n" + ex.Message); } return(retval); }
public static SharingContext Create(ShareRequest shareRequest) { var context = new SharingContext(); context.MetaInfo = shareRequest.MetaInfo; context.User = shareRequest.User; context.SharingConfiguration = shareRequest.SharingConfiguration; context.InfoHash = shareRequest.MetaInfo?.Info?.GetSHA1Hash(); context.CreatedOn = DateTime.UtcNow; if (context.SharingConfiguration == null) { context.SharingConfiguration = new SharingConfiguration(); } return(context); }
private static void SharePrinter() { var client = new GoogleCloudPrintClient(provider, token); var listRequest = new ListRequest { Proxy = proxy }; var listResponse = client.ListPrinterAsync(listRequest).Result; if (listResponse.Printers != null && listResponse.Printers.Any()) { for (int i = 0; i < listResponse.Printers.Count; i++) { Console.WriteLine($"{i + 1}. {listResponse.Printers.ElementAt(i).DisplayName}"); } int printerOption = -1; Console.Write("Please choose a printer to share: "); if (int.TryParse(Console.ReadLine(), out printerOption)) { var printer = listResponse.Printers.ElementAt(printerOption - 1); Console.Write("Please enter a google account to send share invitation: "); string account = Console.ReadLine(); var shareRequest = new ShareRequest { PrinterId = printer.Id, Scope = account, Role = Role.USER, SkipNotification = false }; var shareResponse = client.SharePrinterAsync(shareRequest).Result; if (shareResponse.Success) { Console.WriteLine($"Invitaion is sent to {account}"); } else { Console.WriteLine($"Invitation is not sent, error: {shareResponse.Message}"); } } } else { Console.WriteLine("There is no printer in the list"); } }
public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "POST", "OPTIONS", Route = "share")] ShareRequest shareRequest, [SendGrid(ApiKey = "SendGridKey")] out SendGridMessage message, ILogger log) { if (shareRequest == null || !shareRequest.IsValid()) { message = null; log.LogInformation("Share Request will be canceled due to invalid request."); return(new BadRequestObjectResult("Invalid payload provided, cant share session")); } message = new SendGridMessage(); message.AddTo(shareRequest.Target); message.AddContent("text/html", $"<h3>{shareRequest.Session.Title} <small>@ {shareRequest.Session.Conference}</small></h3>Hey 👋, <br/>you should check out the '{shareRequest.Session.Title}' talk at {shareRequest.Session.Conference} the abstract is really good: <br/>{shareRequest.Session.Abstract}</p>"); message.SetFrom(new EmailAddress("*****@*****.**")); message.SetSubject($"Hey check out the '{shareRequest.Session.Title}' at {shareRequest.Session.Conference} 🚀"); log.LogInformation($"Session '{shareRequest.Session.Title}' has been shared via email."); return(new StatusCodeResult(200)); }
public async Task StartSharing(ShareRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } await _shareRequestValidator.ValidateAndThrowAsync(request, "default,write"); var context = SharingContext.Create(request); var existing = await _sharingRepository.GetSharingContextForUserByInfoHash(request.User.Id, context.InfoHash); if (existing != default) { throw new DuplicateSharingContextException(); } SanitizeSharingContext(context); await _sharingRepository.CreateSharingContext(context); }
/// <summary> /// Share google cloud printer to other google user /// reference: https://developers.google.com/cloud-print/docs/shareApi#share /// </summary> /// <param name="request">Parameters for /share interface</param> /// <param name="cancellationToken">Cancellation token</param> /// <returns>Response from google cloud</returns> public async Task <ShareResponse> SharePrinterAsync(ShareRequest request, CancellationToken cancellationToken = default(CancellationToken)) { await UpdateTokenAsync(cancellationToken); var form = new Dictionary <string, string>(); form.Add("printerid", request.PrinterId); form.Add("scope", request.Scope); form.Add("role", request.Role.ToString().ToUpper()); if (request.SkipNotification) { form.Add("skip_notification", request.SkipNotification.ToString()); } return(await GoogleCloudPrintBaseUrl .AppendPathSegment("share") .WithOAuthBearerToken(_token.AccessToken) .PostUrlEncodedAsync(form, cancellationToken) .ReceiveJsonButThrowIfFails <ShareResponse>() .ConfigureAwait(false)); }
private List <ShareRequest> ConvertDataToShareList(DataSet ds) { List <ShareRequest> retval = new List <ShareRequest>(); var shareRows = ds.Tables[0].Rows; for (int i = 0; i < shareRows.Count; i++) { var shareDoc = new ShareRequest(); try { shareDoc.UserId = shareRows[i].Field <string>("USERID"); shareDoc.DocId = shareRows[i].Field <string>("DOCID"); retval.Add(shareDoc); } catch (Exception ex) { Console.WriteLine(ex); } } return(retval); }
public async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest request, [OrchestrationClient] IDurableOrchestrationClient entityClient, TraceWriter log) { var userId = request.Query["userid"]; var testEntity = new EntityId(nameof(User), userId); var current = await entityClient.ReadEntityStateAsync <UserData>(testEntity); if (current.EntityExists) { var share = new ShareRequest(current.EntityState.PersonId); share.Text = new Text { Content = "Test share" }; await _proxy.Share(current.EntityState.AccessToken, share); return(new OkObjectResult(current)); } return(new UnauthorizedResult()); }
public bool DeleteShare(ShareRequest shareRequest) { using (var db = new ParchegramDBContext()) { try { Share oShare = db.Share.Where(s => s.IdUser == shareRequest.IdUser && s.IdPost == shareRequest.IdPost).FirstOrDefault(); db.Share.Remove(oShare); if (db.SaveChanges() == 1) { return(true); } return(false); } catch (Exception e) { _logger.LogInformation(e.Message); return(false); } } }
public async Task <ActionResult> Get() { var request = new ShareRequest { MetaInfo = new MetaInfo( new SingleFileInfo( 500, string.Join("", Enumerable.Range(0, 20).Select(_ => "a")), "name", 5000), "http://announce"), User = new User { Id = "userid", SecretHash = "secret", UserAddress = new UserAddress { Addresses = new List <Address> { new Address() { Host = "192.0.0.1", Port = 5770, Type = AddressType.Internal } } } }, SharingConfiguration = new SharingConfiguration { Expiry = TimeSpan.FromDays(5), SharingScope = SharingScope.Internal } }; await _sharingOperation.StartSharing(request); return(Ok()); }
public Response CreateShare([FromBody] ShareRequest request) { return(_service.CreateShare(request)); }
public bool UpdateShareStatus(string shareUuid, string status, bool active, string secureItemId) { ShareRequest reqData = new ShareRequest() { uuid = shareUuid, status = status }; dynamic response = pbWebApi.RequestShare(reqData, String.Format("{0}|{1}", pbData.ActiveUser, pbData.DeviceUUID)); if (response.error != null) { System.Windows.Forms.MessageBox.Show(response.error.details.ToString(), response.error.message.ToString()); return(false); } else { if (response.shares.received.Count > 0) { if (response.shares.received[0].status.ToString().ToLower() != status.ToLower()) { MessageBox.Show("Error while executing action on server"); return(false); } } else if (response.shares.sent.Count > 0) { if (response.shares.sent[0].status.ToString().ToLower() != status.ToLower()) { MessageBox.Show("Error while executing action on server"); return(false); } } var shareItem = pbData.GetSharesByUuid(shareUuid); #region refactored part UpdateShareStatus var share = new Share(); share = shareItem; share.Status = status; share.Active = active; if (status == ShareStatus.Shared || status == ShareStatus.Rejected || status == ShareStatus.Revoked) { share.Data = null; } //update share status if (!pbData.UpdateShareStatus(share)) { System.Windows.Forms.MessageBox.Show("Error while saving share, please perform sync"); return(false); } #endregion ShareEventStatus?evStatus = null; switch (status) { case ShareStatus.Rejected: evStatus = ShareEventStatus.Rejected; break; case ShareStatus.Shared: evStatus = ShareEventStatus.Accepted; break; case ShareStatus.Expired: evStatus = ShareEventStatus.Expired; break; case ShareStatus.Canceled: evStatus = ShareEventStatus.Canceled; break; case ShareStatus.Revoked: evStatus = ShareEventStatus.Canceled; break; } #region refactored Analytics if (inAppAnalyitics != null) { doShareAnalytics(shareItem, evStatus); } #endregion } return(true); }
public List <SecuerShareData> ShareItem(string receiver, string message, SecureItem secureItem, int expirationPeriodIndex, bool passwordVisibleToRecipient, DateTime?expirationDate) { Share share = new Share() { Receiver = receiver, Message = message, Visible = passwordVisibleToRecipient, ExpirationDate = expirationDate ?? DateTime.Now.AddYears(50).ToUniversalTime() }; Share shareItem = new Share(); logger.Info("Start ShareItem"); try { bool isShareAllowed = true; bool isShareTresholdReached = pbData.IsShareTresholdReached(false, true); IFeatureChecker featureChecker = resolver.GetInstanceOf <IFeatureChecker>(); isShareAllowed = featureChecker.IsEnabled(DefaultProperties.Features_ShareCenter_UnlimitedShares, showUIIfNotEnabled: false); if (!isShareAllowed) { isShareAllowed = featureChecker.IsEnabled(DefaultProperties.Features_ShareCenter_UpTo5Shares, showUIIfNotEnabled: false) && !isShareTresholdReached; } if (!isShareAllowed) { featureChecker.FireActionNotEnabledUI(); return(new List <SecuerShareData>()); } //validate emails List <string> receiverList = new List <string>(); share.Receiver = share.Receiver.Replace(" ", String.Empty); if (share.Receiver.Contains(',')) { receiverList.AddRange(share.Receiver.Replace(" ", String.Empty).Split(',')); } if (share.Receiver.Contains(';')) { receiverList.AddRange(share.Receiver.Replace(" ", String.Empty).Split(';')); } if (receiverList.Count == 0) { receiverList.Add(share.Receiver); } Common cm = new Common(); //Changed List <Share> shareList = pbData.GetShares(true, false, null, null); List <string> alreadyShared = shareList.Select(x => x.Receiver).ToList <string>(); foreach (var rec in receiverList) { if (!cm.IsEmailValid(rec)) { continue; } if (rec == pbData.ActiveUser) { continue; } if (alreadyShared.Contains(rec)) { continue; } else { alreadyShared.Add(rec); } ShareRequest reqData = new ShareRequest() { receiver = rec, secure_item_type = null, status = ShareStatus.Waiting, nickname = share.Nickname, expiration_date = share.ExpirationDateString, message = share.Message }; dynamic response = pbWebApi.RequestShare(reqData, String.Format("{0}|{1}", pbData.ActiveUser, pbData.DeviceUUID)); if (response.error != null) { MessageBox.Show(response.error.details.ToString(), response.error.message.ToString()); return(new List <SecuerShareData>()); } if (response.shares.sent != null) { if (response.shares.sent[0] != null) { dynamic sent = response.shares.sent[0]; if (!String.IsNullOrEmpty(sent.public_key.ToString())) { string receiverPublicKey = sent.public_key.ToString(); // Don't make recipient item as favorite. UATD-387 if (share.SharedItem == SharedItems.folder) { foreach (Folder folder in share.Folders) { foreach (SecureItem item in folder.SecureItems) { item.Favorite = false; } } } else { foreach (SecureItem item in share.SecureItems) { item.Favorite = false; } } reqData.data = EncriptItemForShare(share, Encoding.UTF8.GetString(Convert.FromBase64String(receiverPublicKey)));// JsonConvert.SerializeObject(new { key = encriptionKey, payload = payload }, Formatting.None, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); reqData.status = ShareStatus.Pending; reqData.message = share.Message; if (!expirationDate.HasValue) { switch (expirationPeriodIndex) { case 0: share.ExpirationDate = DateTime.Now.AddYears(50).ToUniversalTime(); break; case 1: share.ExpirationDate = DateTime.Now.AddDays(1).ToUniversalTime(); break; case 2: share.ExpirationDate = DateTime.Now.AddDays(7).ToUniversalTime(); break; case 3: share.ExpirationDate = DateTime.Now.AddMonths(1).ToUniversalTime(); break; case 4: share.ExpirationDate = DateTime.Now.AddYears(1).ToUniversalTime(); break; default: share.ExpirationDate = DateTime.Now.AddYears(50).ToUniversalTime(); break; } } reqData.expiration_date = share.ExpirationDateString; reqData.order = "0"; reqData.uuid = sent.uuid.ToString(); reqData.visible = share.Visible; response = pbWebApi.RequestShare(reqData, String.Format("{0}|{1}", pbData.ActiveUser, pbData.DeviceUUID)); if (response.error != null) { MessageBox.Show(response.error.details.ToString(), response.error.message.ToString()); return(new List <SecuerShareData>()); } sent = response.shares.sent[0]; shareItem.Receiver = reqData.receiver; shareItem.Sender = pbData.ActiveUser; shareItem.ExpirationDate = expirationDate.Value; shareItem.Data = reqData.data; shareItem.Id = sent.uuid.ToString(); shareItem.UUID = sent.uuid.ToString(); shareItem.Status = sent.status; shareItem.Nickname = sent.nickname; shareItem.Message = reqData.message; shareItem.SecureItemType = reqData.secure_item_type; shareItem.ReceiverPrivateKey = receiverPublicKey; shareItem.Visible = reqData.visible; pbData.AddOrUpdateShare(shareItem); //return BindingSecureShareList(item.Id); //CASE #1 } else { sent = response.shares.sent[0]; shareItem.Receiver = reqData.receiver; shareItem.Sender = pbData.ActiveUser; shareItem.ExpirationDate = DateTime.Now.AddDays(1).ToUniversalTime(); shareItem.Data = reqData.data; shareItem.Id = sent.uuid.ToString(); shareItem.UUID = sent.uuid.ToString(); shareItem.Status = sent.status; shareItem.Nickname = sent.nickname; shareItem.Message = reqData.message; shareItem.SecureItemType = reqData.secure_item_type; shareItem.ReceiverPrivateKey = null; shareItem.Visible = reqData.visible; pbData.AddOrUpdateShare(shareItem); //return BindingSecureShareList(item.Id); //CASE #2 - user does not exist - no data encription } if (inAppAnalyitics != null) { doShareAnalytics(shareItem, ShareEventStatus.Shared); } } } } //((IAppCommand)System.Windows.Application.Current).ExecuteCommand("ReloadData", null); return(BindingSecureShareList(shareItem)); } catch (Exception ex) { logger.Error("Error in ShareItem -->" + ex.ToString()); MessageBox.Show("Error while saving share"); } return(new List <SecuerShareData>()); }
// GET: Share public ActionResult Index(ShareRequest model) { // Try to know if the id is a integer or a string Int32 id; String title; String uri; String status; if (Int32.TryParse(model.Id, out id)) { // Try to get the post PostLink post; post = _dataService.GetPostLink(id); if (post == null) { return(NotFound()); } // Format data title = Uri.EscapeDataString(post.Title); uri = Uri.EscapeUriString(post.Url); status = Uri.EscapeDataString(post.Title + " " + post.Url); } else { // Test the id content if (String.IsNullOrEmpty(model.Id)) { return(NotFound()); } title = null; uri = Uri.EscapeUriString(model.Id); status = uri; } // redirect to social page requested switch (model.N) { case SocialnetWork.Facebook: { return(Redirect(String.Format(FaceBookFormat, uri))); } case SocialnetWork.LinkedIn: { return(Redirect(String.Format(LinkedInFormat, uri, title))); } case SocialnetWork.Reddit: { return(Redirect(String.Format(RedditForamt, uri))); } case SocialnetWork.Pinterest: { return(Redirect(String.Format(PinterestFormat, uri, title))); } case SocialnetWork.Yahoo: { return(Redirect(String.Format(YahooFormat, uri, title))); } case SocialnetWork.Vk: { return(Redirect(String.Format(VkFormat, uri, title))); } case SocialnetWork.Viadeo: { return(Redirect(String.Format(ViadeoFormat, uri, title))); } case SocialnetWork.Yammer: { return(Redirect(String.Format(YammerFormat, status))); } case SocialnetWork.Twitter: default: { return(Redirect(String.Format(TwitterFormat, uri, title))); } } }
// *** Private Methods *** private async void DataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) { DataRequestDeferral deferral = args.Request.GetDeferral(); IShareRequest shareRequest = new ShareRequest(args.Request); await ShareRequested(shareRequest); deferral.Complete(); }
public Response RemoveShare([FromBody] ShareRequest request) { return(_service.removeShare(request)); }
public static void Main(string[] args) { //var socket = new Socket(SocketType.Stream, ProtocolType.Tcp); //socket.Connect("eu.stratum.slushpool.com", 3333); //var jsonString = "{\"id\": 1, \"method\": \"mining.subscribe\", \"params\": []}\n"; var uri = new Uri("stratum+tcp://eu.stratum.slushpool.com:3333"); var client = new SlushMiningPoolClient(uri); client.OnEnqueMessage += (s, e) => { Console.WriteLine(e); }; client.OpenConnection(); client.Subscribe(new SubscribeRequest(1)); var authRequest = new AuthorizeRequest(2); authRequest.Build("acunsolo.acunsolo-worker2", "foo"); var extranonce1 = ""; var jobManager = JobManager.Instance; jobManager.OnJobSuccess += (s, e) => { var shareRequest = new ShareRequest(GetRequestIndex()); shareRequest.Build("acunsolo.acunsolo-worker2", e.Job.JobId, e.Job.ExtraNonce2, e.Job.NTime, e.Job.FoundNonce); client.Share(shareRequest); }; client.OnSubscribeResponse += (s, e) => { var response = e.Message; extranonce1 = response.Extranonce1; JobManager.Instance.ExtraNonce1 = extranonce1; JobManager.Instance.SubscribeSuccess(); }; client.OnNotifyRequest += (s, e) => { Task.Factory.StartNew(() => { if (e.Message.CleanJobs) { JobManager.Instance.ClearAllJob(); } if (JobManager.Instance.IsWorkerSubscribed) { var job = Job.CreateFromRequest(e.Message); JobManager.Instance.AddJob(job); } }); }; client.OnSetDifficultyRequest += (s, e) => { var message = e.Message; JobManager.Instance.Difficulty = message.Difficulty; }; client.OnAuthorizeResponse += (s, e) => { JobManager.Instance.Authorize(); }; Console.ReadKey(); }