Beispiel #1
0
 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();
         }
     }
 }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
                }
            }
        }
Beispiel #5
0
        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();
        }
Beispiel #6
0
 public new void Send(UserContext userContext)
 {
     var result = base.Send(userContext);
 }
Beispiel #7
0
        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);
        }
Beispiel #8
0
 internal static JObject Post(UserContext userContext, Uri uri, string data)
 {
     return JObject.Parse(PostAsString(userContext, uri, data));
 }
Beispiel #9
0
 internal static JObject Get(UserContext userContext, Uri uri)
 {
     return JObject.Parse(GetAsString(userContext, uri));
 }