예제 #1
0
 public void SetBodyData(MsgData data)
 {
     this.Body = JsonConvert.SerializeObject(data);
 }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public MsgData GetBodyData()
        {
            MsgData msgdata = null;

            try
            {
                Newtonsoft.Json.Linq.JContainer data = JsonConvert.DeserializeObject <Newtonsoft.Json.Linq.JContainer>(this.Body);

                msgdata      = new MsgData();
                msgdata.from = data["from"].ToString();
                msgdata.to   = data["to"].ToString();
                msgdata.ext  = data["ext"];

                Newtonsoft.Json.Linq.JContainer bodies = data.Value <Newtonsoft.Json.Linq.JContainer>("bodies");

                msgdata.bodies = new BodyBase[bodies.Count];

                for (int i = 0; i < bodies.Count; i++)
                {
                    string type = bodies[i]["type"].ToString();

                    switch (type)
                    {
                    case "img":
                        msgdata.bodies[i] = JsonConvert.DeserializeObject <ImageBody>(bodies[i].ToString());
                        break;

                    case "txt":
                        msgdata.bodies[i] = JsonConvert.DeserializeObject <TextBody>(bodies[i].ToString());
                        break;

                    case "audio":
                        msgdata.bodies[i] = JsonConvert.DeserializeObject <AudioBody>(bodies[i].ToString());
                        break;

                    case "video":
                        msgdata.bodies[i] = JsonConvert.DeserializeObject <VideoBody>(bodies[i].ToString());
                        break;

                    case "loc":
                        msgdata.bodies[i] = JsonConvert.DeserializeObject <LocationBody>(bodies[i].ToString());
                        break;

                    case "file":
                        msgdata.bodies[i] = JsonConvert.DeserializeObject <FileBody>(bodies[i].ToString());
                        break;

                    default:
                        //msgdata.bodies[i] = JsonConvert.DeserializeObject<FileBody>(bodies[i].ToString());
                        break;
                    }
                }


                //msgdata = JsonConvert.DeserializeObject<MsgData>(this.Body);
            }
            catch (Exception ex)
            {
            }

            if (msgdata != null)
            {
            }

            return(msgdata);
        }