private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.Host == "genome.klick.com") { var cookie = NativeApi.GetUriCookies(e.Url); if (cookie.Contains("SessionID")) { UserContext = new UserContext(cookie); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } } }
public static Ticket GetTicketById(UserContext context, int ticketid) { var uri = new Uri(ApiRequest.BaseEndPoint, "Ticket?TicketID=" + ticketid); var json = ApiRequest.Get(context, uri); if (json["NumEntries"] == null) return null; if (json["NumEntries"].Value<int>() > 0) { return json["Entries"][0].ToObject<Ticket>(); } return null; }
public static User GetCurrentUser(UserContext context) { var uri = new Uri(ApiRequest.BaseEndPoint, "User?CurrentUser=true"); var json = ApiRequest.Get(context, uri); if (json["NumEntries"] == null) return null; if (json["NumEntries"].Value<int>() > 0) { return json["Entries"][0].ToObject<User>(); } return null; }
internal static string PostAsString(UserContext userContext, Uri uri, string data) { var wc = new WebClient(); wc.Headers.Add("Accept", "application/json"); wc.Headers.Add("Content-Type", "application/json"); wc.Headers.Add(HttpRequestHeader.Cookie, userContext.Cookie); try { var result = wc.UploadString(uri, data); return result; } catch (WebException ex) { using (var sr = new StreamReader(ex.Response.GetResponseStream())) { var result = sr.ReadToEnd(); return result; } } }
public MainHiddenForm() { InitializeComponent(); button = new CanFocusButton(); button.State = ButtonState.Red; button.AutoManageButton = false; button.ConnectedChanged += button_ConnectedChanged; button.ButtonPress += button_ButtonPress; SetNotifyIcon(); using (var regKey = Registry.CurrentUser.CreateSubKey(registryKey, RegistryKeyPermissionCheck.ReadWriteSubTree)) { var tmp = regKey.GetValue("StartDate", DateTime.MinValue.ToBinary()); if (tmp != null) { var start = DateTime.FromBinary((long)tmp); var action = (string)regKey.GetValue("ActionState", ""); var info = (string)regKey.GetValue("ActionInfo", ""); if (start.Date == DateTime.Now.Date) { var result = MessageBox.Show("Would you like to continue the " + action + " that you started at " + start + "?", "Resume task", MessageBoxButtons.YesNo); if (result == System.Windows.Forms.DialogResult.Yes) { startDate = start; startInfo = info; currentState = (ActionState)Enum.Parse(typeof(ActionState), action); } } } SetNotifyIcon(); var ctx = (string)regKey.GetValue("UserContext", null); if (ctx != null) { userContext = new UserContext(ctx); //validate that the context is still good currentUser = User.GetCurrentUser(userContext); if (currentUser == null) //nope userContext = null; } if(userContext == null) { using (var dlg = new Genome.LoginForm()) { var result = dlg.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { userContext = dlg.UserContext; regKey.SetValue("UserContext", userContext.ToString()); } } } } button.State = ButtonState.Green; SetNotifyIcon(); }
public new void Send(UserContext userContext) { var result = base.Send(userContext); }
protected virtual JObject Send(UserContext userContext) { var fullUri = new Uri(BaseEndPoint, EndPoint); string body = JsonConvert.SerializeObject(this, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); return Post(userContext, fullUri, body); }
internal static JObject Post(UserContext userContext, Uri uri, string data) { return JObject.Parse(PostAsString(userContext, uri, data)); }
internal static JObject Get(UserContext userContext, Uri uri) { return JObject.Parse(GetAsString(userContext, uri)); }