Exemplo n.º 1
0
        /*
         * 引数 accountID:ユーザID
         * 返値 return:作成された付箋のJSON out:HTTPのステータスコード
         * クライアント側から付箋作成要求が出されたときに呼ばれる
         * 空の付箋を生成、そのfusenIDを設定して、DBに保存、JSONにして送信
         */
        public static JObject CreateFusen(string accountID, out int statusCode)
        {
            //DBに接続してアカウントID,付箋IDを持つ行を追加
            //成功したらそのまま返す/失敗したらJObjectに入れて返す
            //fusenidが一意になるように
            try
            {
                JObject jobj = new JObject();
                using (var db = new KyomuDbContext())
                {
                    //accountがあるかの関数
                    if (!sAccount.accountIDExist(accountID))
                    {
                        statusCode = 404;
                        return(ServerMain.messagejson("存在しないアカウントIDです"));
                    }
                    //fusenidの発行をする)
                    string FusenID;
                    bool   same = false;
                    do
                    {
                        same    = false;
                        FusenID = Guid.NewGuid().ToString("N").Substring(0, 20);
                        foreach (var fusen in db.Fusens)
                        {
                            if (fusen.fusenID.Equals(FusenID))
                            {
                                same = true;
                            }
                        }
                    } while (same);

                    var newfusen = new Models.Fusen
                    {
                        userID  = accountID,
                        fusenID = FusenID,
                        title   = "",
                        tag     = new string[] { "" },
                        text    = "",
                        color   = ""
                    };
                    jobj = Util.FusenToJobj(newfusen);
                    db.Fusens.Add(newfusen);
                    db.SaveChanges();
                    statusCode = 200;
                }
                return(jobj);
            }catch (Exception e)
            {
                Console.WriteLine(e.Message);
                statusCode = 500;
                return(ServerMain.messagejson("データベースで異常が発生しました"));
            }
        }
Exemplo n.º 2
0
        // 付箋データをJSONに変換する関数
        public static JObject FusenToJobj(Models.Fusen fusen)
        {
            var json = new JObject();

            json.Add("userID", new JValue(fusen.userID));
            json.Add("fusenID", new JValue(fusen.fusenID));
            json.Add("title", new JValue(fusen.title));
            json.Add("tag", new JArray(fusen.tag));
            json.Add("text", new JValue(fusen.text));
            json.Add("color", new JValue(fusen.color));
            return(json);
        }