public ActionResult Edit(Treasure treasure) { //验证视图模型 if (ModelState.IsValid) { //保存物品对象 repository.SaveTreasure(treasure); //重定向到我的物品页面 return(RedirectToAction("MyList", "Treasure")); } return(View(treasure)); }
public ActionResult MakeDeal(DealLogCreate dealLogCreate) { //验证不为空 if (string.IsNullOrEmpty(dealLogCreate.DealInTreasure.TreasureUID.ToString()) || string.IsNullOrEmpty(dealLogCreate.DealOutTreasure.TreasureUID.ToString())) { return(View("Error")); } else { Guid guid = Guid.NewGuid(); //插入数据库 using (var db = new LogDealDataContext()) { LogDeal logDeal = new LogDeal { DealBeginTime = DateTime.Now, DealStatus = "待确认", DLogUID = guid, //备注-发起人对接收人 RemarkSToR = dealLogCreate.Remark, //交易接收人ID TraderRecipientID = dealLogCreate.DealInTreasure.HolderID, //交易发起人ID TraderSponsorID = dealLogCreate.DealOutTreasure.HolderID, //交易给出物品ID TreasureSponsorID = dealLogCreate.DealOutTreasure.TreasureUID.ToString(), //交易接受物品ID TreasureRecipientID = dealLogCreate.DealInTreasure.TreasureUID.ToString() }; try { db.LogDeal.InsertOnSubmit(logDeal); //保存操作 db.SubmitChanges(); //更新当前物品交易记录 var treasure = repository.Treasures.Where(t => t.TreasureUID == dealLogCreate.DealOutTreasure.TreasureUID).FirstOrDefault(); treasure.DLogUID = guid.ToString(); repository.SaveTreasure(treasure); } catch (Exception ex) { return(View("Error", ex.Message)); } } return(RedirectToAction("InitiateDealLog", "Account")); } }
public ActionResult TreasureInfo(string TreasureUID = "") { //获取当前用户id string id = CurrentUser.Id; if (!string.IsNullOrEmpty(TreasureUID)) { Guid Treasureguid = Guid.Parse(TreasureUID); #region 增加一次浏览量 //判断当前用户,当前物品的浏览记录是否已经存在 using (var db = new LogDataContext()) { var logbrowse = db.LogBrowse.Where(b => (b.TreasureID == TreasureUID && b.BrowserID == id)).FirstOrDefault(); //不存在记录,则增加一条 if (logbrowse == null) { db.LogBrowse.InsertOnSubmit(new LogBrowse { BLogUID = Guid.NewGuid(), BrowserID = id, TreasureID = TreasureUID, BrowserTime = DateTime.Now }); //物品浏览量加一 var trea = repository.Treasures.Where(t => t.TreasureUID == Treasureguid).FirstOrDefault(); trea.BrowseNum++; repository.SaveTreasure(trea); } //若存在则修改访问时间 else { logbrowse.BrowserTime = DateTime.Now; } db.SubmitChanges(); } #endregion Treasure treasure = repository.Treasures.Where(t => t.TreasureUID == Treasureguid).FirstOrDefault(); var imgs = treasure.DetailPic.Split('|'); if (treasure != null) { //判断是否已经收藏 bool isFavarite = false; using (var db = new FavoriteDataContext()) { var fav = db.Favorite.Where(f => (f.UserID == id && f.TreasureID == TreasureUID)).FirstOrDefault(); //若不为空,即存在记录,则说明已经收藏 if (fav != null) { isFavarite = true; } } //获取浏览记录 List <BrowseLog> browses = new List <BrowseLog>(); using (var db = new LogDataContext()) { var logBrowses = db.LogBrowse.Where(b => b.TreasureID == TreasureUID).OrderByDescending(b => b.BrowserTime).Take(6); foreach (var log in logBrowses) { var user = UserManager.FindById(log.BrowserID); if (user != null) { browses.Add(new BrowseLog { Browser = new BasicUserInfo { HeadImg = user.HeadPortrait, UserID = user.Id, Gender = user.Gender, UserName = user.UserName }, BrowserTime = log.BrowserTime }); } } } //生成推荐信息 int DisRecommend = 0; int Recommend = 0; // 1.首先找出当前用户完成的订单 using (var db = new LogDealDataContext()) { var logs = db.LogDeal.Where(l => ((l.TraderRecipientID == id || l.TraderSponsorID == id) && (l.DealStatus == "交易成功"))); using (var db2 = new EvaluationDataContext()) { //遍历所有完成的订单 foreach (var log in logs) { var eva = db2.Evaluation.Where(e => e.DLogUID == log.DLogUID.ToString()).FirstOrDefault(); //本次交易用户是接收人,则需要发起人的评价 if (log.TraderRecipientID == id) { //推荐 if (eva.IsRecommendSToR == true) { Recommend++; } else if (eva.IsRecommendSToR == false) { DisRecommend++; } } else { if (eva.IsRecommendRToS == true) { Recommend++; } else if (eva.IsRecommendRToS == false) { DisRecommend++; } } } } } //定义一个视图模型 TreaInfo treaInfo = new TreaInfo { HolderInfo = GetLoginUserInfo(treasure.HolderID), LoginUserInfo = CurrentUser, treasureInfo = treasure, //108是生成图片路径的固定的长度 DetailImgs = imgs.Where(t => t.Length == 108), IsFavorite = isFavarite, CurrenUser = new BasicUserInfo { HeadImg = CurrentUser.HeadPortrait }, browseLogs = browses.AsEnumerable(), DisRecommend = DisRecommend, Recommend = Recommend }; return(View(treaInfo)); } } return(View("List")); }