Beispiel #1
0
        /// <summary>
        /// 保存用户教学地图数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private SyncResponse SaveUserTeachMap(SyncRequest request)
        {
            BookMap  submitData = JsonHelper.DecodeJson <BookMap>(request.Data);
            UserInfo userData   = JsonHelper.DecodeJson <UserInfo>(request.Data);

            if (userData.Type == 4)//管理员
            {
                HttpClient myHttpClient = new HttpClient();
                myHttpClient.BaseAddress = new Uri(webapi_url); //webapi_url
                string json    = JsonHelper.DeepEncodeJson(submitData);
                var    content = new StringContent(json, Encoding.UTF8);
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                HttpResponseMessage response = myHttpClient.PostAsync("GetTextBookMap", content).Result;
                return(SyncResponse.GetResponse(request, response.IsSuccessStatusCode));
            }
            else
            {
                using (var db = new fz_wisdomcampusEntities())
                {
                    var map = db.clr_teachmap.FirstOrDefault(m => m.UserID == userData.UserID && m.BookID == submitData.bookId && m.UnitID == submitData.unitId);
                    if (map != null)
                    {
                        map.Map        = submitData.MapContent;
                        map.CreateTime = DateTime.Now;
                        db.SaveChanges();
                    }
                    else
                    {
                        clr_teachmap model = new clr_teachmap();
                        model.ID         = Guid.NewGuid();
                        model.UserID     = userData.UserID;
                        model.BookID     = submitData.bookId;
                        model.UnitID     = submitData.unitId;
                        model.Map        = submitData.MapContent;
                        model.CreateTime = DateTime.Now;
                        db.clr_teachmap.Add(model);
                        db.SaveChanges();
                    }
                }
                return(SyncResponse.GetResponse(request, true));
            }
        }
Beispiel #2
0
        /// <summary>
        /// 获取用户教学地图数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private SyncResponse GetUserTeachMapJsonByWhere(SyncRequest request)
        {
            clr_teachmap submitData = JsonHelper.DecodeJson <clr_teachmap>(request.Data);

            using (var db = new fz_wisdomcampusEntities())
            {
                var map = db.clr_teachmap.FirstOrDefault(m => m.UserID == submitData.UserID && m.BookID == submitData.BookID && m.UnitID == submitData.UnitID);
                if (map == null)
                {
                    HttpClient myHttpClient = new HttpClient();
                    myHttpClient.BaseAddress = new Uri(webapi_url); //webapi_url
                    HttpResponseMessage response = myHttpClient.GetAsync("GetTextBookMap?BookID=" + submitData.BookID + "&unitId=" + submitData.UnitID).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        string json = response.Content.ReadAsStringAsync().Result;
                        if (json.IndexOf("\"[") != -1)
                        {
                            json = json.Substring(1, json.Length - 2);
                        }
                        if (json.Length > 2 && json != "null")
                        {
                            json = json.Replace("/", "").Replace("\\", "");
                            return(SyncResponse.GetResponse(request, json));
                        }
                        else
                        {
                            return(SyncResponse.GetResponse(request, ""));
                        }
                    }
                    else
                    {
                        return(SyncResponse.GetResponse(request, null));
                    }
                }
                else
                {
                    return(SyncResponse.GetResponse(request, map.Map));
                }
            }
        }