日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过获取客户端Json数据字符串,反序列化为实体对象的一段代码

發布時間:2024/1/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过获取客户端Json数据字符串,反序列化为实体对象的一段代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#region 保存候選人數據/// <summary>/// 保存候選人數據/// </summary>/// <param name="entity"></param>/// <returns></returns> [AdminAuthorize][ValidateInput(false)][AcceptVerbs(HttpVerbs.Post)]public ActionResult Save(matchjob.Domain.Candidate entity){if (entity.Id == 0){entity.CreateTime = DateTime.Now;this.CandidateManager.Save(entity);var json = Request.Form["candidateItemsJsonValue"];if (String.IsNullOrEmpty(json)){goto LABEL_END;}using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))){DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(matchjob.Web.UI.Models.TTTT_A));var a = (matchjob.Web.UI.Models.TTTT_A)serializer.ReadObject(ms);foreach (var p in a.Positions){var item = new matchjob.Domain.CandidateItem();item.Position = p.Name;item.Candidate = entity;item.CreateTime = DateTime.Now;item.UpdateTime = item.CreateTime;CandidateItemManager.Save(item);foreach (var u in p.Users){int Score, Experience, Interest, Salary;Int32.TryParse(u.Score, out Score);Int32.TryParse(u.Experience, out Experience);Int32.TryParse(u.Interest, out Interest);Int32.TryParse(u.Salary, out Salary);var item2 = new matchjob.Domain.CandidateUser();item2.CandidateItem = item;item2.Remark = u.Remark;item2.Score = Score;item2.UserInfo = new UserInfo();item2.UserInfo.Id = u.UserInfoId;item2.Experience = Experience;item2.Interest = Interest;item2.Salary = Salary;item2.CreateTime = DateTime.Now;item2.UpdateTime = item.CreateTime;CandidateUserManager.Save(item2);}}}LABEL_END:{}}else{var model = this.CandidateManager.Get(entity.Id);model.CompanyName = entity.CompanyName;model.ValidateCode = entity.ValidateCode;this.CandidateManager.Update(model);var json = Request.Form["candidateItemsJsonValue"];if (String.IsNullOrEmpty(json)){goto LABEL_DEL;}using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))){DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(matchjob.Web.UI.Models.TTTT_A));var a = serializer.ReadObject(ms) as matchjob.Web.UI.Models.TTTT_A;foreach (var p in a.Positions){var item = new matchjob.Domain.CandidateItem();var delUsers = new List<matchjob.Domain.CandidateUser>();item.Id = p.Id;item.Position = p.Name;item.Candidate = model;if (p.Id != 0){item = CandidateItemManager.Get(p.Id);item.Position = p.Name;}if (p.Id != 0){item.UpdateTime = DateTime.Now;CandidateItemManager.Update(item);delUsers = item.CandidateUsers.Where(CUser => !p.Users.Contains(new Models.TTTT_C { UserInfoId = CUser.UserInfo.Id }, new CandidateUserComparer())).ToList();}else{item.CreateTime = DateTime.Now;item.UpdateTime = item.CreateTime;CandidateItemManager.Save(item);}///更新和增加Userforeach (var u in p.Users){int Score, Experience, Interest, Salary;Int32.TryParse(u.Score, out Score);Int32.TryParse(u.Experience, out Experience);Int32.TryParse(u.Interest, out Interest);Int32.TryParse(u.Salary, out Salary);var item2 = new matchjob.Domain.CandidateUser();item2.CandidateItem = item;item2.Remark = u.Remark;item2.Score = Score;item2.UserInfo = new UserInfo();item2.UserInfo.Id = u.UserInfoId;item2.Id = u.Id;item2.Experience = Experience;item2.Interest = Interest;item2.Salary = Salary;if (u.Id != 0){item2 = CandidateUserManager.Get(u.Id);item2.CandidateItem = item;item2.Remark = u.Remark;item2.Score = Score;item2.Experience = Experience;item2.Interest = Interest;item2.Salary = Salary;}if (u.Id != 0){item2.UpdateTime = DateTime.Now;CandidateUserManager.Update(item2);}else{item2.CreateTime = DateTime.Now;item2.UpdateTime = item2.CreateTime;CandidateUserManager.Save(item2);}}///刪除Userforeach (var u in delUsers){foreach(var f in CandidateForwardUserManager.GetByCandidateUserId(u.Id)){CandidateForwardUserManager.Delete(f.Id);}CandidateUserManager.Delete(u.Id);}}}LABEL_DEL:///刪除已經移出的職位數據foreach (var itemid in Request.Form["candidateItemsDel"].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)){var users = CandidateUserManager.GetsByCandidateItemId(Convert.ToInt64(itemid));for (int k = 0; k < users.Count; k++){///先刪除關聯對象foreach (var f in CandidateForwardUserManager.GetByCandidateUserId(users[k].Id)){CandidateForwardUserManager.Delete(f.Id);}CandidateUserManager.Delete(users[k].Id);}///先刪除關聯對象foreach (var f in CandidateForwardManager.GetByCandidateItemId(Convert.ToInt64(itemid))){CandidateForwardManager.Delete(f.Id);}CandidateItemManager.Delete(Convert.ToInt64(itemid));}}return Json(new { IsSuccess = true, Message = "保存成功" }, "text/plain", JsonRequestBehavior.AllowGet);}#endregion

public class TTTT_e{public TTTT_B[] Positions { get; set; }}public class TTTT_B{public long Id { get; set; }public String Name { get; set; }public TTTT_C[] Users { get; set; }}public class TTTT_C{public long Id { get; set; }public long UserInfoId { get; set; }public String Score { get; set; }public String Remark { get; set; }public String Name { get; set; }public String Experience { get; set; }public String Interest { get; set; }public String Salary { get; set; }}

?

?

?

轉載于:https://www.cnblogs.com/hznet/p/4331714.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的通过获取客户端Json数据字符串,反序列化为实体对象的一段代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。