Example #1
0
        private static void _ncmbLogIn(string name, string password, string email, NCMBCallback callback)
        {
            string      url  = _getLogInUrl();
            ConnectType type = ConnectType.GET;

            Dictionary <string, object> paramDic = new Dictionary <string, object>();

            paramDic["password"] = password;

            //nameがあればLogInAsync経由 無ければLogInWithMailAddressAsync経由、どちらも無ければエラー
            if (name != null)
            {
                paramDic["userName"] = name;
            }
            else if (email != null)
            {
                paramDic["mailAddress"] = email;
            }
            else
            {
                throw new NCMBException(new ArgumentException("UserName or Email can not be null."));
            }

            url = _makeParamUrl(url + "?", paramDic);

            //ログを確認(通信前)
            NCMBDebug.Log("【url】:" + url + Environment.NewLine + "【type】:" + type);
            //通信処理
            NCMBConnection con = new NCMBConnection(url, type, null, null);

            con.Connect(delegate(int statusCode, string responseData, NCMBException error)
            {
                try
                {
                    NCMBDebug.Log("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                    if (error != null)
                    {
                        NCMBDebug.Log("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
                    }
                    else
                    {
                        Dictionary <string, object> responseDic = MiniJSON.Json.Deserialize(responseData) as Dictionary <string, object>;
                        //save Current user
                        NCMBUser logInUser = new NCMBUser();
                        logInUser._handleFetchResult(true, responseDic);
                        _saveCurrentUser(logInUser);
                    }
                }
                catch (Exception e)
                {
                    error = new NCMBException(e);
                }
                if (callback != null)
                {
                    callback(error);
                }
                return;
            });
        }
Example #2
0
 /// <summary>
 /// 非同期処理でユーザ名とパスワードを指定して、ユーザのログインを行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="name">ユーザ名</param>
 /// <param name="password">パスワード</param>
 /// <param name="callback">コールバック</param>
 public static void LogInAsync(string name, string password, NCMBCallback callback)
 {
     //logIn通信を実施
     new AsyncDelegate(delegate {
         _ncmbLogIn(name, password, null, callback);
     }).BeginInvoke((IAsyncResult r) => {
     }, null);
 }
Example #3
0
 /// <summary>
 /// 非同期処理でユーザのパスワード再発行依頼を行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="email">メールアドレス</param>
 /// <param name="callback">コールバック</param>
 public static void RequestPasswordResetAsync(string email, NCMBCallback callback)
 {
     //request通信を実施
     new AsyncDelegate(delegate {
         _requestPasswordReset(email, callback);
     }).BeginInvoke((IAsyncResult r) => {
     }, null);
 }
Example #4
0
        private static void _ncmbLogIn(string name, string password, string email, NCMBCallback callback)
        {
            string      url  = _getLogInUrl();       //URL作成
            ConnectType type = ConnectType.GET;
            //set username, password
            NCMBUser logInUser = new NCMBUser();

            logInUser.Password = password;

            //nameがあればLogInAsync経由 無ければLogInWithMailAddressAsync経由、どちらも無ければエラー
            if (name != null)
            {
                logInUser.UserName = name;
            }
            else if (email != null)
            {
                logInUser.Email = email;
            }
            else
            {
                throw new NCMBException(new ArgumentException("UserName or Email can not be null."));
            }

            string content = logInUser._toJSONObjectForSaving(logInUser.StartSave());
            Dictionary <string, object> paramDic = (Dictionary <string, object>)MiniJSON.Json.Deserialize(content);

            url = _makeParamUrl(url + "?", paramDic);
            //ログを確認(通信前)
            NCMBDebug.Log("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
            //通信処理
            NCMBConnection con = new NCMBConnection(url, type, content, NCMBUser._getCurrentSessionToken());

            con.Connect(delegate(int statusCode, string responseData, NCMBException error) {
                try {
                    NCMBDebug.Log("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                    if (error != null)
                    {
                        NCMBDebug.Log("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
                    }
                    else
                    {
                        Dictionary <string, object> responseDic = MiniJSON.Json.Deserialize(responseData) as Dictionary <string, object>;
                        logInUser._handleFetchResult(true, responseDic);
                        //save Current user
                        _saveCurrentUser(logInUser);
                    }
                } catch (Exception e) {
                    error = new NCMBException(e);
                }
                if (callback != null)
                {
                    Platform.RunOnMainThread(delegate {
                        callback(error);
                    });
                }
                return;
            });
        }
Example #5
0
        /// <summary>
        /// 非同期処理で現在ログインしているユーザのauthDataの削除を行います。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="provider">SNS名</param>
        /// <param name="callback">コールバック</param>
        public void UnLinkWithAuthDataAsync(string provider, NCMBCallback callback)
        {
            if (this.AuthData == null)
            {
                throw new NCMBException(new ArgumentException("Current User authData not exist"));
            }

            List <string> providerList = new List <string> ()
            {
                "facebook", "twitter"
            };

            if (string.IsNullOrEmpty(provider) || !providerList.Contains(provider))
            {
                throw new NCMBException(new ArgumentException("Provider must be facebook or twitter"));
            }

            // authDataの退避
            Dictionary <string, object> currentParam = new Dictionary <string, object> ();

            currentParam = this.AuthData;

            Dictionary <string, object> providerParam = new Dictionary <string, object> ()
            {
                { provider, null }
            };

            this.AuthData = providerParam;

            SignUpAsync((NCMBException error) => {
                if (error == null)
                {
                    // authDataの削除
                    currentParam.Remove(provider);
                    this.AuthData = currentParam;
                }
                else
                {
                    this.AuthData = currentParam;
                }

                if (callback != null)
                {
                    // callbackを実施
                    Platform.RunOnMainThread(delegate {
                        callback(error);
                    });
                }
            });
        }
Example #6
0
        /// <summary>
        /// 非同期処理でファイルの保存を行います。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="callback">コールバック</param>
        public override void SaveAsync(NCMBCallback callback)
        {
            if ((this.FileName == null))
            {
                throw new NCMBException("fileName must not be null.");
            }

            new AsyncDelegate(delegate {
                ConnectType type;
                if (this.CreateDate != null)
                {
                    type = ConnectType.PUT;
                }
                else
                {
                    type = ConnectType.POST;
                }
                IDictionary <string, INCMBFieldOperation> currentOperations = null;
                currentOperations  = this.StartSave();
                string content     = _toJSONObjectForSaving(currentOperations);
                NCMBConnection con = new NCMBConnection(_getBaseUrl(), type, content, NCMBUser._getCurrentSessionToken(), this);
                con.Connect(delegate(int statusCode, string responseData, NCMBException error) {
                    try {
                        NCMBDebug.Log("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                        if (error != null)
                        {
                            // 失敗
                            this._handleSaveResult(false, null, currentOperations);
                        }
                        else
                        {
                            Dictionary <string, object> responseDic = MiniJSON.Json.Deserialize(responseData) as Dictionary <string, object>;
                            this._handleSaveResult(true, responseDic, currentOperations);
                        }
                    } catch (Exception e) {
                        error = new NCMBException(e);
                    }

                    if (callback != null)
                    {
                        Platform.RunOnMainThread(delegate {
                            callback(error);
                        });
                    }
                    return;
                });
            }).BeginInvoke((IAsyncResult r) => {
            }, null);
        }
Example #7
0
        /*** Push送信 ***/
        /// <summary>
        /// プッシュの送信を行います。
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        public void SendPush(NCMBCallback callback)
        {
            //エラー判定
            if (ContainsKey("deliveryExpirationDate") && ContainsKey("deliveryExpirationTime"))
            {
                throw new ArgumentException("DeliveryExpirationDate and DeliveryExpirationTime can not be set at the same time.Please set only one.");
            }
            else if (ContainsKey("deliveryTime") && ContainsKey("immediateDeliveryFlag") && ImmediateDeliveryFlag == true)
            {
                throw new ArgumentException("deliveryTime and immediateDeliveryFlag can not be set at the same time.Please set only one.");
            }

            //配信時間設定
            if (!ContainsKey("deliveryTime"))                 //配信日時(日付)の指定がなければ即時配信
            {
                ImmediateDeliveryFlag = true;
            }

            base.SaveAsync(callback);
        }
Example #8
0
        /// <summary>
        /// 非同期処理でauthDataを用いて、ユーザを登録します。<br/>
        /// 既存会員のauthData登録はLinkWithAuthDataAsyncメソッドをご利用下さい。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="callback">コールバック</param>
        public void LogInWithAuthDataAsync(NCMBCallback callback)
        {
            if (this.AuthData == null)
            {
                throw new NCMBException(new ArgumentException("Post authData not exist"));
            }
            SignUpAsync((NCMBException error) => {
                if (error != null)
                {
                    // authDataの削除
                    this.AuthData.Clear();
                }

                if (callback != null)
                {
                    // callbackを実施
                    callback(error);
                }
            });
        }
Example #9
0
        internal static void _logOut(NCMBCallback callback)
        {
            string      url     = _getLogOutUrl();    //URL作成
            ConnectType type    = ConnectType.GET;
            string      content = null;

            //ログを確認(通信前)
            NCMBDebug.Log("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
            //通信処理
            NCMBConnection con = new NCMBConnection(url, type, content, NCMBUser._getCurrentSessionToken());

            con.Connect(delegate(int statusCode, string responseData, NCMBException error) {
                try {
                    NCMBDebug.Log("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                    if (error != null)
                    {
                        NCMBDebug.Log("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
                    }
                    else
                    {
                        _logOutEvent();
                    }
                } catch (Exception e) {
                    error = new NCMBException(e);
                }
                if (callback != null)
                {
                    //If the system get ErrorCode is E401001 when LogOutAsync, We will return null.
                    if (error != null && NCMBException.INCORRECT_HEADER.Equals(error.ErrorCode))
                    {
                        callback(null);
                    }
                    else
                    {
                        callback(error);
                    }
                }
                return;
            });
        }
Example #10
0
        internal static void _requestPasswordReset(string email, NCMBCallback callback)
        {
            string      url  = _getRequestPasswordResetUrl();       //URL
            ConnectType type = ConnectType.POST;
            //set username, password
            NCMBUser pwresetUser = new NCMBUser();

            pwresetUser.Email = email;
            string content = pwresetUser._toJSONObjectForSaving(pwresetUser.StartSave());

            //ログを確認(通信前)
            NCMBDebug.Log("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
            //通信処理
            NCMBConnection con = new NCMBConnection(url, type, content, NCMBUser._getCurrentSessionToken());

            con.Connect(delegate(int statusCode, string responseData, NCMBException error) {
                try {
                    NCMBDebug.Log("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                    if (error != null)
                    {
                        NCMBDebug.Log("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
                    }
                    else
                    {
                        NCMBDebug.Log("[DEBUG AFTER CONNECT] Successful: ");
                    }
                } catch (Exception e) {
                    error = new NCMBException(e);
                }
                if (callback != null)
                {
                    Platform.RunOnMainThread(delegate {
                        callback(error);
                    });
                }
                return;
            });
        }
Example #11
0
        /// <summary>
        /// 非同期処理で現在ログインしているユーザに、authDataの追加を行います。<br/>
        /// authDataが登録されていないユーザならログインし、authDataの登録を行います。<br/>
        /// authDataが登録されているユーザなら、authDataの追加を行います。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="linkParam">authData</param>
        /// <param name="callback">コールバック</param>
        public void LinkWithAuthDataAsync(Dictionary <string, object> linkParam, NCMBCallback callback)
        {
            if (this.AuthData == null)
            {
                // authDataの登録
                this.AuthData = linkParam;
                LogInWithAuthDataAsync(callback);
            }

            // authDataの退避
            Dictionary <string, object> currentParam = new Dictionary <string, object> ();

            currentParam = this.AuthData;

            this.AuthData = linkParam;

            SignUpAsync((NCMBException error) => {
                if (error == null)
                {
                    // authDataのmerge
                    var mergeParam = linkParam.Concat(currentParam).ToDictionary(x => x.Key, x => x.Value);
                    this.AuthData  = mergeParam;
                }
                else
                {
                    this.AuthData = currentParam;
                }

                if (callback != null)
                {
                    // callbackを実施
                    Platform.RunOnMainThread(delegate {
                        callback(error);
                    });
                }
            });
        }
Example #12
0
 /// <summary>
 /// 非同期処理でユーザのログアウトを行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public static void LogOutAsync(NCMBCallback callback)
 {
     if (_currentUser != null)
     {
         //logOut通信を実施
         _logOut(callback);
     }
     else
     {
         try {
             _logOutEvent();
         } catch (NCMBException e) {
             if (callback != null)
             {
                 callback(e);
             }
             return;
         }
         if (callback != null)
         {
             callback(null);
         }
     }
 }
Example #13
0
 /// <summary>
 /// 非同期処理でユーザ名とパスワードを指定して、ユーザのログインを行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="name">ユーザ名</param>
 /// <param name="password">パスワード</param>
 /// <param name="callback">コールバック</param>
 public static void LogInAsync(string name, string password, NCMBCallback callback)
 {
     //logIn通信を実施
     _ncmbLogIn(name, password, null, callback);
 }
Example #14
0
        /// <summary>
        /// 非同期処理でユーザのパスワード再発行依頼を行います。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="email">メールアドレス</param>
        /// <param name="callback">コールバック</param>
        public static void RequestPasswordResetAsync(string email, NCMBCallback callback)
        {
            //request通信を実施

            _requestPasswordReset(email, callback);
        }
Example #15
0
 /// <summary>
 /// 非同期処理でユーザの保存を行います。<br/>
 /// SaveAsync()を実行してから編集などをしていなく、保存をする必要が無い場合は通信を行いません。<br/>
 /// オブジェクトIDが登録されていない新規会員ならログインし、登録を行います。<br/>
 /// オブジェクトIDが登録されている既存会員ならログインせず、更新を行います。<br/>
 /// 既存会員のログインはLogInAsyncメソッドをご利用下さい。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public override void SaveAsync(NCMBCallback callback)
 {
     base.SaveAsync(callback);
 }
Example #16
0
 /// <summary>
 /// 非同期処理でユーザを登録します。<br/>
 /// オブジェクトIDが登録されていない新規会員ならログインし、登録を行います。<br/>
 /// オブジェクトIDが登録されている既存会員ならログインせず、更新を行います。<br/>
 /// 既存会員のログインはLogInAsyncメソッドをご利用下さい。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public void SignUpAsync(NCMBCallback callback)
 {
     base.SaveAsync(callback);
     //Cleanup authdata for other Services if needed
 }
Example #17
0
 /// <summary>
 /// ユーザの削除を行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public override void DeleteAsync(NCMBCallback callback)
 {
     base.DeleteAsync(callback);
     //Cleanup authdata for other Services if needed
 }
Example #18
0
        private static void _ncmbLogIn(string name, string password, string email, NCMBCallback callback)
        {
            string url = _getLogInUrl ();//URL作成
            ConnectType type = ConnectType.GET;
            //set username, password
            NCMBUser logInUser = new NCMBUser ();

            logInUser.Password = password;

            //nameがあればLogInAsync経由 無ければLogInWithMailAddressAsync経由、どちらも無ければエラー
            if (name != null) {
                logInUser.UserName = name;
            } else if (email != null) {
                logInUser.Email = email;
            } else {
                throw new NCMBException (new ArgumentException ("UserName or Email can not be null."));
            }

            string content = logInUser._toJSONObjectForSaving (logInUser.StartSave ());
            Dictionary<string, object> paramDic = (Dictionary<string, object>)MiniJSON.Json.Deserialize (content);
            url = _makeParamUrl (url + "?", paramDic);
            //ログを確認(通信前)
            NCMBDebug.Log ("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
            //通信処理
            NCMBConnection con = new NCMBConnection (url, type, content, NCMBUser._getCurrentSessionToken ());
            con.Connect (delegate(int statusCode , string responseData, NCMBException error) {
                try {
                    NCMBDebug.Log ("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                    if (error != null) {
                        NCMBDebug.Log ("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
                    } else {
                        Dictionary<string, object> responseDic = MiniJSON.Json.Deserialize (responseData) as Dictionary<string, object>;
                        logInUser._handleFetchResult (true, responseDic);
                        //save Current user
                        _saveCurrentUser (logInUser);

                    }
                } catch (Exception e) {
                    error = new NCMBException (e);
                }
                if (callback != null) {
                    Platform.RunOnMainThread (delegate {
                        callback (error);
                    });
                }
                return;
            });
        }
Example #19
0
 /// <summary>
 /// 非同期処理でユーザ名とパスワードを指定して、ユーザのログインを行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="name">ユーザ名</param>
 /// <param name="password">パスワード</param>
 /// <param name="callback">コールバック</param>
 public static void LogInAsync(string name, string password, NCMBCallback callback)
 {
     //logIn通信を実施
     new AsyncDelegate (delegate {
         _ncmbLogIn (name, password, null, callback);
     }).BeginInvoke ((IAsyncResult r) => {
     }, null);
 }
Example #20
0
        /// <summary>
        /// 非同期処理で指定したメールアドレスに対して、<br/>
        /// 会員登録を行うためのメールを送信するよう要求します。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="email">メールアドレス</param>
        /// <param name="callback">コールバック</param>
        public static void RequestAuthenticationMailAsync(string email, NCMBCallback callback)
        {
            new AsyncDelegate (delegate {
                //URL
                string url = _getmailAddressUserEntryUrl ();//URL

                //コンテント
                NCMBUser user = new NCMBUser ();
                user.Email = email;
                string content = user._toJSONObjectForSaving (user.StartSave ());

                //Type
                ConnectType type = ConnectType.POST;

                NCMBConnection con = new NCMBConnection (url, type, content, NCMBUser._getCurrentSessionToken ());
                NCMBDebug.Log ("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
                con.Connect (delegate(int statusCode , string responseData, NCMBException error) {
                    NCMBDebug.Log ("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
                    if (callback != null) {
                        Platform.RunOnMainThread (delegate {
                            callback (error);
                        });
                    }
                    return;
                });
            }).BeginInvoke ((IAsyncResult r) => {
            }, null);
        }
Example #21
0
 /// <summary>
 /// 非同期処理でユーザのパスワード再発行依頼を行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="email">メールアドレス</param>
 /// <param name="callback">コールバック</param>
 public static void RequestPasswordResetAsync(string email, NCMBCallback callback)
 {
     //request通信を実施
     new AsyncDelegate (delegate {
         _requestPasswordReset (email, callback);
     }).BeginInvoke ((IAsyncResult r) => {
     }, null);
 }
Example #22
0
 /// <summary>
 /// ユーザの削除を行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public override void DeleteAsync(NCMBCallback callback)
 {
     base.DeleteAsync (callback);
     //Cleanup authdata for other Services if needed
 }
Example #23
0
 /// <summary>
 /// 非同期処理でユーザの保存を行います。<br/>
 /// SaveAsync()を実行してから編集などをしていなく、保存をする必要が無い場合は通信を行いません。<br/>
 /// オブジェクトIDが登録されていない新規会員ならログインし、登録を行います。<br/>
 /// オブジェクトIDが登録されている既存会員ならログインせず、更新を行います。<br/>
 /// 既存会員のログインはLogInAsyncメソッドをご利用下さい。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public override void SaveAsync(NCMBCallback callback)
 {
     base.SaveAsync (callback);
 }
Example #24
0
 /// <summary>
 /// 非同期処理でユーザを登録します。<br/>
 /// オブジェクトIDが登録されていない新規会員ならログインし、登録を行います。<br/>
 /// オブジェクトIDが登録されている既存会員ならログインせず、更新を行います。<br/>
 /// 既存会員のログインはLogInAsyncメソッドをご利用下さい。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="callback">コールバック</param>
 public void SignUpAsync(NCMBCallback callback)
 {
     base.SaveAsync (callback);
     //Cleanup authdata for other Services if needed
 }
Example #25
0
        /*** Push送信 ***/
        /// <summary>
        /// プッシュの送信を行います。
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        public void SendPush(NCMBCallback callback)
        {
            //エラー判定
            if (ContainsKey ("deliveryExpirationDate") && ContainsKey ("deliveryExpirationTime")) {
                throw new ArgumentException ("DeliveryExpirationDate and DeliveryExpirationTime can not be set at the same time.Please set only one.");
            } else if (ContainsKey ("deliveryTime") && ContainsKey ("immediateDeliveryFlag") && ImmediateDeliveryFlag == true) {
                throw new ArgumentException ("deliveryTime and immediateDeliveryFlag can not be set at the same time.Please set only one.");
            }

            //配信時間設定
            if (!ContainsKey ("deliveryTime")) {  //配信日時(日付)の指定がなければ即時配信
                ImmediateDeliveryFlag = true;
            }

            base.SaveAsync (callback);
        }
Example #26
0
 internal static void _logOut(NCMBCallback callback)
 {
     string url = _getLogOutUrl ();//URL作成
     ConnectType type = ConnectType.GET;
     string content = null;
     //ログを確認(通信前)
     NCMBDebug.Log ("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
     //通信処理
     NCMBConnection con = new NCMBConnection (url, type, content, NCMBUser._getCurrentSessionToken ());
     con.Connect (delegate(int statusCode , string responseData, NCMBException error) {
         try {
             NCMBDebug.Log ("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
             if (error != null) {
                 NCMBDebug.Log ("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
             } else {
                 _logOutEvent ();
             }
         } catch (Exception e) {
             error = new NCMBException (e);
         }
         if (callback != null) {
             Platform.RunOnMainThread (delegate {
                 callback (error);
             });
         }
         return;
     });
 }
Example #27
0
 /// <summary>
 /// 非同期処理でメールアドレスとパスワードを指定して、ユーザのログインを行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="email">メールアドレス</param>
 /// <param name="password">パスワード</param>
 /// <param name="callback">コールバック</param>
 public static void LogInWithMailAddressAsync(string email, string password, NCMBCallback callback)
 {
     _ncmbLogIn(null, password, email, callback);
 }
Example #28
0
        /// <summary>
        /// 非同期処理でユーザのログアウトを行います。<br/>
        /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
        /// </summary>
        /// <param name="callback">コールバック</param>
        public static void LogOutAsync(NCMBCallback callback)
        {
            if (_currentUser != null) {
                //logOut通信を実施
                new AsyncDelegate (delegate {
                    _logOut (callback);
                }).BeginInvoke ((IAsyncResult r) => {
                }, null);
            } else {
                try {
                    _logOutEvent ();
                } catch (NCMBException e) {
                    if (callback != null) {
                        Platform.RunOnMainThread (delegate {
                            callback (e);
                        });
                    }
                    return;
                }
                if (callback != null) {
                    Platform.RunOnMainThread (delegate {
                        callback (null);
                    });
                }

            }
        }
Example #29
0
 /// <summary>
 /// 非同期処理でメールアドレスとパスワードを指定して、ユーザのログインを行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="email">メールアドレス</param>
 /// <param name="password">パスワード</param>
 /// <param name="callback">コールバック</param>
 public static void LogInWithMailAddressAsync(string email, string password, NCMBCallback callback)
 {
     new AsyncDelegate (delegate {
         _ncmbLogIn (null, password, email, callback);
     }).BeginInvoke ((IAsyncResult r) => {
     }, null);
 }
        /// <summary>
        /// yield return で待機可能なSaveAsync
        /// </summary>
        /// <param name="ncmbobj"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public static CustomYieldInstruction YieldableSaveAsync(this NCMBObject ncmbobj, NCMBCallback callback = null)
        {
            var isComplete = false;

            ncmbobj.SaveAsync(error =>
            {
                if (callback != null)
                {
                    callback(error);
                }
                isComplete = true;
            });
            return(new WaitUntil(() => isComplete));
        }
Example #31
0
 internal static void _requestPasswordReset(string email, NCMBCallback callback)
 {
     string url = _getRequestPasswordResetUrl ();//URL
     ConnectType type = ConnectType.POST;
     //set username, password
     NCMBUser pwresetUser = new NCMBUser ();
     pwresetUser.Email = email;
     string content = pwresetUser._toJSONObjectForSaving (pwresetUser.StartSave ());
     //ログを確認(通信前)
     NCMBDebug.Log ("【url】:" + url + Environment.NewLine + "【type】:" + type + Environment.NewLine + "【content】:" + content);
     //通信処理
     NCMBConnection con = new NCMBConnection (url, type, content, NCMBUser._getCurrentSessionToken ());
     con.Connect (delegate(int statusCode , string responseData, NCMBException error) {
         try {
             NCMBDebug.Log ("【StatusCode】:" + statusCode + Environment.NewLine + "【Error】:" + error + Environment.NewLine + "【ResponseData】:" + responseData);
             if (error != null) {
                 NCMBDebug.Log ("[DEBUG AFTER CONNECT] Error: " + error.ErrorMessage);
             } else {
                 NCMBDebug.Log ("[DEBUG AFTER CONNECT] Successful: ");
             }
         } catch (Exception e) {
             error = new NCMBException (e);
         }
         if (callback != null) {
             Platform.RunOnMainThread (delegate {
                 callback (error);
             });
         }
         return;
     });
 }