예제 #1
0
        public void CheckIntoEvent(string userId, string eventCode)
        {
            string json = ParamsToJSON ("user_id", userId, "event_code", eventCode);
            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD, CreateEndpointURL (CheckInUserPath), json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                ResponseBase ret = null;

                if (!obj.IsSuccess)
                {
                    ret = new ResponseBase (obj.IsSuccess, obj.Result);
                }
                else
                {
                    try
                    {
                        bool success = false;
                        string msg = "";
                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {

                            while (jtr.Read())
                            {
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "Success"))
                                {
                                    success = jtr.ReadAsInt32 () == 0;
                                }
                            }

                            if (!success)
                            {
                                msg = "Unabled to parse JSON";
                            }

                            ret = new ResponseBase (success, msg);
                        }
                    }
                    catch (Exception e)
                    {
                        ret = new ResponseBase (false, GenerateParseErrorMessage (e));
                    }
                }

                SafeRaiseEvent (OnCheckIntoEventCompleted, ret);

            };
            syrc.SendRestRequest ();
        }
예제 #2
0
        public void RegisterUser(string username, string password, string firstName, string lastName, string emailAddress, string dob = "", 
		                         string summary = "awesome summery", string interest1 = "", string interest2 = "", string interest3 = "")
        {
            string json = ParamsToJSON ("dob", dob, "summary", summary, "user", SayHiHelper.JSONBeginObject, "email", emailAddress,
                                       "first_name", firstName, "last_name", lastName, "username", username, "password", password,
                                       SayHiHelper.JSONEndObject);
            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD, CreateEndpointURL (RegisterUserPath), json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                UserModel ret = null;
                if (!obj.IsSuccess)
                {
                    ret = new UserModel (obj.IsSuccess, obj.Result);
                }
                else
                {
                    try
                    {
                        ret = new UserModel (true);

                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {

                            while (jtr.Read())
                            {
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "id"))
                                {
                                    ret.ID = jtr.ReadAsString ();
                                    break;//only parsing ID
                                }
                            }
                        }
                        //TODO:parse other fields

                        ret.FirstName = firstName;
                        ret.LastName = lastName;
                        ret.EmailAddress = emailAddress;
                        ret.DOBRaw = dob;
                        ret.Summary = summary;
                        ret.InterestOne = interest1;
                        ret.InterestTwo = interest2;
                        ret.InterestThree = interest3;
                    }
                    catch (Exception e)
                    {
                        ret = new UserModel (false, GenerateParseErrorMessage (e));
                    }
                }

                SafeRaiseEvent (OnRegisterUserCompleted, ret);
            };

            syrc.SendRestRequest ();
        }
예제 #3
0
        public void MatchUser(string userId, string eventCode)
        {
            string json = ParamsToJSON ("userid", userId, "event_code", eventCode);

            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD, CreateEndpointURL (MatchUserPath), json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                UserModel ret = null;

                if (!obj.IsSuccess)
                {
                    ret = new UserModel (obj.IsSuccess, obj.Result);
                }
                else
                {
                    try
                    {
                        ret = new UserModel (true);

                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {

                            while (jtr.Read())
                            {
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "matchName"))
                                {
                                    string name = jtr.ReadAsString ();
                                    if (name != null)
                                    {
                                        string[] vals = name.Split (' ');
                                        ret.FirstName = vals [0];
                                        if (vals.Length > 1)
                                        {
                                            ret.LastName = vals [1];
                                        }
                                    }
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "matchSummary"))
                                {
                                    ret.Summary = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "username"))
                                {
                                    ret.Summary = jtr.ReadAsString ();
                                }
                            }

                            ret.InterestOne = SayHiBootStrapper.GenerateMockInterest ();
                            ret.InterestTwo = SayHiBootStrapper.GenerateMockInterest (ret.InterestOne);
                        }
                    }
                    catch (Exception e)
                    {
                        ret = new UserModel (false, GenerateParseErrorMessage (e));
                    }
                }

                SafeRaiseEvent (OnMatchUserCompleted, ret);

            };
            syrc.SendRestRequest ();
        }
예제 #4
0
        public void LoginUser(string username, string password)
        {
            string json = ParamsToJSON ("username", username, "password", password);
            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD, CreateEndpointURL (LoginUserPath), json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                UserModel ret = null;

                if (!obj.IsSuccess)
                {
                    ret = new UserModel (obj.IsSuccess, obj.Result);
                }
                else
                {
                    try
                    {
                        ret = new UserModel (true);

                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {
            //							JsonIndexer idx = new JsonIndexer (jtr);
            //							ret.DOBRaw = idx ["dob"];
            //							ret.EmailAddress = idx ["email"];
            //							ret.ID = idx ["id"];
            //							ret.LastName = idx ["lastName"];
                            while (jtr.Read())
                            {
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "email"))
                                {
                                    ret.EmailAddress = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "firstName"))
                                {
                                    ret.FirstName = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "lastName"))
                                {
                                    ret.LastName = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "id"))
                                {
                                    ret.ID = jtr.ReadAsString ();
                                }

                            }

                            ret.InterestOne = SayHiBootStrapper.GenerateMockInterest ();
                            ret.InterestTwo = SayHiBootStrapper.GenerateMockInterest (ret.InterestOne ?? "");
                        }
                    }
                    catch (Exception e)
                    {
                        ret = new UserModel (false, GenerateParseErrorMessage (e));
                    }
                }

                SafeRaiseEvent (OnRegisterUserCompleted, ret);

            };
            syrc.SendRestRequest ();
        }
예제 #5
0
        public void GetEvents(string userId, string eventCode)
        {
            string json = string.Empty;
            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD,
                                                        CreateEndpointURL (GetEventsPath + "&attendees="), json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                List<Event> ret = new List<Event> ();

                if (obj.IsSuccess)
                {
                    try
                    {
                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {
                            while (jtr.Read())
                            {
                                //read start objs
                                ret.Add (ParseEventJson (jtr));
                                //read off end objs
                            }
                        }
                    }
                    catch (Exception e)
                    {
                    }
                }

                SafeRaiseEvent (OnGetEventsCompleted, ret);

            };
            syrc.SendRestRequest ();
        }
예제 #6
0
        public void GetEventInfo(string eventCode)
        {
            string json = ParamsToJSON ("event_code", eventCode ?? string.Empty);
            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD, CreateEndpointURL (GetEventInfoPath),
                                                       json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                Event ret = null;

                if (!obj.IsSuccess)
                {
                    ret = new Event (obj.IsSuccess, obj.Result);
                }
                else
                {
                    try
                    {
                        ret = new Event (true);

                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {

                            while (jtr.Read())
                            {
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "address"))
                                {
                                    ret.Address = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "date"))
                                {
                                    ret.Date = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "end_time"))
                                {
                                    ret.EndTime = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "event_code"))
                                {
                                    ret.Code = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "name"))
                                {
                                    ret.Name = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "start_time"))
                                {
                                    ret.StartTime = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "summary"))
                                {
                                    ret.Summary = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "venue"))
                                {
                                    ret.Venue = jtr.ReadAsString ();
                                }
                                else
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "organizer"))
                                {
                                    ret.Organizer = jtr.ReadAsString ();
                                }
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        ret = new Event (false, GenerateParseErrorMessage (e));
                    }
                }

                SafeRaiseEvent (OnGetEventInfoCompleted, ret);

            };
            syrc.SendRestRequest ();
        }
예제 #7
0
        public void CreateEvent(string userId, string eventName, string address, string city, 
		                        string venue, string date, string startTime, string endTime, string summary, 
		                        int maxAttendants, bool recurring)
        {
            string json = ParamsToJSON ("user_id", userId, "name", eventName, "address", address, "city",
                                        city, "venue", venue, "date", date, "start_time", startTime, "end_time",
                                        endTime, "summary", summary, "max_attendants", maxAttendants, "recurring",
                                        recurring);
            SayHiRestClient syrc = new SayHiRestClient (SayHiRestClient.HTTPPOSTMETHOD, CreateEndpointURL (CreateEventPath), json);
            syrc.OnRestCallCompleted += (RestResult obj) =>
            {
                ResponseBase ret = null;

                if (!obj.IsSuccess)
                {
                    ret = new ResponseBase (obj.IsSuccess, obj.Result);
                }
                else
                {
                    try
                    {
                        bool success = false;
                        string msg = string.Empty;

                        using (JsonTextReader jtr = new JsonTextReader(new StringReader(obj.Result)))
                        {

                            while (jtr.Read())
                            {
                                if (JsonKeyMatches (jtr, JsonToken.PropertyName, "good"))
                                {
                                    success = CompareStrings (jtr, "good");
                                }
                            }
                            ret = new ResponseBase (success, msg);
                        }
                    }
                    catch (Exception e)
                    {
                        ret = new ResponseBase (false, GenerateParseErrorMessage (e));
                    }
                }
                SafeRaiseEvent (OnCreateEventCompleted, ret);
            };
            syrc.SendRestRequest ();
        }