public ActionResult QuestsDetail(int id, string action, int ThingId = 0) { using (SSDBEntities db = new SSDBEntities()) { //找到id对应的Quests Quests q = db.Quests.Where(x => x.Id == id).FirstOrDefault(); switch (action) { case "确认送达": //找到匹配的ThingId ThingsQuests tq = db.ThingsQuests.Where(x => x.QuestId == id).FirstOrDefault(); var tId = tq.ThingId; //找到ThingId对应的Things Things t = db.Things.Where(x => x.Id == tId).FirstOrDefault(); //修改Things状态 t.Status = "捐赠已成功"; db.Entry(t).State = EntityState.Modified; //修改Quests状态 q.Status = "受助已成功"; db.Entry(q).State = EntityState.Modified; //修改信誉评价 Assess tu = db.Assess.Where(x => x.UserId == t.DonatorId).FirstOrDefault(); Assess qu = db.Assess.Where(x => x.UserId == q.ReceiverId).FirstOrDefault(); tu.CreditPoint += 5; tu.CreditLevel = CreditFunction.GetCreditLevel(tu.CreditPoint.Value); tu.DonateNum++; qu.CreditPoint += 1; qu.CreditLevel = CreditFunction.GetCreditLevel(qu.CreditPoint.Value); qu.ReceiveNum++; //执行操作 db.SaveChanges(); return(RedirectToAction("UploadComment", new { id = t.Id })); case "删除": //修改受助方信誉评价 if (q.Status == "等待受助中") { var a = db.Assess.Where(x => x.UserId == q.ReceiverId).FirstOrDefault(); a.CreditPoint -= 2; a.CreditLevel = CreditFunction.GetCreditLevel(a.CreditPoint.Value); db.Entry(a).State = EntityState.Modified; } //从数据库中移除Quests元组 db.Quests.Remove(q); db.SaveChanges(); return(RedirectToAction("MyQuestsList")); case "评价物品": return(RedirectToAction("UploadComment", new { id = ThingId })); case "返回": //跳转至“我的受助请求” return(RedirectToAction("MyQuestsList")); } return(View(q)); } }
public ActionResult Register(RegisterViewModel model) { //模型错误返回错误模型的Register视图 if (!ModelState.IsValid) { return(View(model)); } //获取注册表单的用户名和密码 string username = model.Username; string password = model.Password; using (SSDBEntities db = new SSDBEntities()) { //若用户名重复,则返回用户名已注册报错 if (db.Users.Where(x => x.Username == username).FirstOrDefault() != null) { ModelState.AddModelError("", "用户名已注册"); return(View(model)); } //新建Users元组 var u = new Users(); u.Username = username; u.Password = password; u.RegTime = DateTime.Now; u.QQ = model.QQ; u.Province = model.Province; u.School = model.School; u.Sex = model.Sex; u.IsAdmin = model.isAdmin; u.Email = model.Email; db.Users.Add(u); db.SaveChanges(); //新建Assess元组 var a = new Assess(); a.UserId = u.UserId; a.CreditLevel = 1; a.CheckedNum = 0; a.CreditPoint = 0; a.DonateNum = 0; a.ReceiveNum = 0; a.Limit = 1; db.Assess.Add(a); db.SaveChanges(); } //注册成功跳转至登录页面 return(RedirectToAction("Login")); }
public ActionResult UploadComment(UploadCommentViewModel model, int id) { int usrId = (int)HttpContext.Session["usrId"]; if (ModelState.IsValid) { using (SSDBEntities db = new SSDBEntities()) { Comments c = new Comments(); c.CommentTime = DateTime.Now; c.NewScore = model.NewScore; c.ReceiverId = usrId; c.SimilarScore = model.SimilarScore; c.Text = model.Text; c.ThingId = id; c.UsefulScore = model.UsefulScore; c.BeautifulScore = model.BeautifulScore; c.SpeedScore = model.SpeedScore; db.Comments.Add(c); Assess a = db.Assess.Where(x => x.UserId == usrId).FirstOrDefault(); a.CreditPoint += 1; a.CreditLevel = CreditFunction.GetCreditLevel(a.CreditPoint.Value); db.Entry(a).State = EntityState.Modified; db.SaveChanges(); } } else { return(View(model)); } return(RedirectToAction("MyQuestsList")); }
public ActionResult ThingsDetail(int id, string action) { using (SSDBEntities db = new SSDBEntities()) { //找出对应id的捐赠物品 Things t = db.Things.Where(x => x.Id == id).FirstOrDefault(); switch (action) { case "删除": //修改捐赠者信誉评价 if (t.Status == "等待受助中") { var tu = db.Assess.Where(x => x.UserId == t.DonatorId).FirstOrDefault(); tu.CreditPoint -= 2; tu.CreditLevel = CreditFunction.GetCreditLevel(tu.CreditPoint.Value); db.Entry(tu).State = EntityState.Modified; } //移除Things元组 db.Things.Remove(t); db.SaveChanges(); return(RedirectToAction("MyThingsList")); case "返回": //跳转至“我的捐赠物品” return(RedirectToAction("MyThingsList"));; } return(View(t)); } }
public ActionResult UploadQuests(UploadQuestsViewModel model, int?tId) { //获取当前用户的Id int usrId = (int)HttpContext.Session["usrId"]; int qId = 0; if (ModelState.IsValid) { //新建Quests Quests q = new Quests(); q.ReceiverId = usrId; q.Name = model.qName; q.Type = model.qType; q.Detail = model.qDetail; q.ReleaseTime = DateTime.Now; q.Status = tId != null ? "已接受受助" : "正在审核中"; //向数据库新建元组,并获取新Quests的id using (SSDBEntities db = new SSDBEntities()) { db.Quests.Add(q); db.SaveChanges(); qId = q.Id; } //如果当前有匹配捐赠物品,再新建一条匹配元组 if (tId != null) { //新建ThingsQuests ThingsQuests tq = new ThingsQuests(); tq.ThingId = tId.Value; tq.QuestId = qId; tq.Time = DateTime.Now; //向数据库新建元组 using (SSDBEntities db = new SSDBEntities()) { db.ThingsQuests.Add(tq); Things t = db.Things.Where(x => x.Id == tId.Value).FirstOrDefault(); t.Status = "已接受捐赠"; db.Entry(t).State = EntityState.Modified; db.SaveChanges(); } } //提交成功,跳转至用户主页 return(RedirectToAction("MyQuestsList")); } //模型报错,返回当前页面 return(RedirectToAction("UploadQuests", new { id = tId })); }
public ActionResult EditManage(EditManageViewModel model) { if (ModelState.IsValid) { //获取当前用户id int usrId = (int)HttpContext.Session["usrId"]; using (SSDBEntities db = new SSDBEntities()) { var u = db.Users.Where(x => x.UserId == usrId).FirstOrDefault(); u.Province = model.Province; u.School = model.School; u.QQ = model.QQ; u.Sex = model.Sex; u.Email = model.Email; db.Entry(u).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Manage")); } return(View(model)); }
public ActionResult QuestsDetail(int id, string action, string reason) { int usrId = (int)HttpContext.Session["usrId"]; using (SSDBEntities db = new SSDBEntities()) { switch (action) { case "通过": //新建Check元组 Checks c1 = new Checks(); c1.AdminId = usrId; c1.CheckedTime = DateTime.Now; c1.RefuseReason = ""; c1.Result = 1; db.Checks.Add(c1); db.SaveChanges(); //找出对应id的受助请求 var q1 = db.Quests.Where(x => x.Id == id).FirstOrDefault(); //修改受助请求的状态 q1.Status = "等待受助中"; q1.CheckId = c1.Id; db.Entry(q1).State = EntityState.Modified; //修改受助方的信誉评价 var u1 = db.Assess.Where(x => x.UserId == q1.ReceiverId).FirstOrDefault(); u1.CreditPoint += 2; //信誉点数+2 u1.CreditLevel = CreditFunction.GetCreditLevel(u1.CreditPoint.Value); u1.CheckedNum++; db.Entry(u1).State = EntityState.Modified; db.SaveChanges(); break; case "提交": //新建Check元组 Checks c2 = new Checks(); c2.AdminId = usrId; c2.CheckedTime = DateTime.Now; c2.RefuseReason = reason; c2.Result = 0; db.Checks.Add(c2); db.SaveChanges(); //找出对应id的受助请求 var q2 = db.Quests.Where(x => x.Id == id).FirstOrDefault(); //修改受助请求的状态 q2.Status = "审核未通过"; q2.CheckId = c2.Id; db.Entry(q2).State = EntityState.Modified; //修改受助方的信誉评价 var u2 = db.Assess.Where(x => x.UserId == q2.ReceiverId).FirstOrDefault(); u2.CreditPoint -= 2; //信誉点数-2 u2.CreditLevel = CreditFunction.GetCreditLevel(u2.CreditPoint.Value); db.Entry(u2).State = EntityState.Modified; db.SaveChanges(); break; case "取消": break; } } //跳转至请求列表 return(RedirectToAction("CheckQuests")); }
public ActionResult ThingsDetail(int id, string action, string reason) { int usrId = (int)HttpContext.Session["usrId"]; using (SSDBEntities db = new SSDBEntities()) { switch (action) { case "通过": //新建Check元组 Checks c1 = new Checks(); c1.AdminId = usrId; c1.CheckedTime = DateTime.Now; c1.RefuseReason = ""; c1.Result = 1; db.Checks.Add(c1); db.SaveChanges(); //找出对应id的捐赠物品 var t1 = db.Things.Where(x => x.Id == id).FirstOrDefault(); //修改捐赠物品的状态 t1.Status = "物品闲置中"; t1.CheckId = c1.Id; db.Entry(t1).State = EntityState.Modified; //修改捐赠者的信誉评价 var u1 = db.Assess.Where(x => x.UserId == t1.DonatorId).FirstOrDefault(); u1.CreditPoint += 2; //信誉点数+2 u1.CreditLevel = CreditFunction.GetCreditLevel(u1.CreditPoint.Value); u1.CheckedNum++; db.Entry(u1).State = EntityState.Modified; db.SaveChanges(); break; case "提交": //新建Check元组 Checks c2 = new Checks(); c2.AdminId = usrId; c2.CheckedTime = DateTime.Now; c2.RefuseReason = reason; c2.Result = 0; db.Checks.Add(c2); db.SaveChanges(); //找出对应id的捐赠物品 var t2 = db.Things.Where(x => x.Id == id).FirstOrDefault(); //修改捐赠物品的状态 t2.Status = "审核未通过"; t2.CheckId = c2.Id; db.Entry(t2).State = EntityState.Modified; //修改捐赠者的信誉评价 var u2 = db.Assess.Where(x => x.UserId == t2.DonatorId).FirstOrDefault(); u2.CreditPoint -= 2; //信誉点数-2 u2.CreditLevel = CreditFunction.GetCreditLevel(u2.CreditPoint.Value); db.Entry(u2).State = EntityState.Modified; db.SaveChanges(); break; case "取消": break; } } //跳转至物品列表 return(RedirectToAction("CheckThings")); }
public ActionResult UploadThings(UploadThingsViewModel model, int?qId) { //获取当前用户的Id int usrId = (int)HttpContext.Session["usrId"]; int tId = 0; if (ModelState.IsValid) { //新建Things Things t = new Things(); t.DonatorId = usrId; t.Name = model.tName; t.Type = model.tType; t.Detail = model.tDetail; t.ReleaseTime = DateTime.Now; t.Status = qId != null ? "已接受捐赠" : "正在审核中";//如果当前有匹配受助请求,则跳过审核 //文件存储到目录下 foreach (var imgFile in model.Image) { if (imgFile != null && imgFile.ContentLength > 0) { string extension = Path.GetExtension(imgFile.FileName); if (extension == ".jpg" || extension == ".png" || extension == ".gif") { string phicyPath = PublicFunction.GetPhicyPath(); //创建Upload文件夹,如果有则不创建 Directory.CreateDirectory(phicyPath); //文件名与路径 var fileName = Path.GetFileName(imgFile.FileName); var filePath = phicyPath + fileName; //防止文件重名 while (System.IO.File.Exists(filePath)) { Random rand = new Random(); fileName = rand.Next().ToString() + "-" + fileName; filePath = phicyPath + fileName; } //存储文件到文件目录 imgFile.SaveAs(filePath); //计算图片的哈希值 t.ImageHash = MainHash(filePath); //保存提交的图片URL至数据库 t.ImageUrl = fileName; } else { ModelState.AddModelError("Image", "请上传正确格式的图片(.jpg .png .gif)"); return(View(model)); } } } //向数据库新建元组,并获取新Things的id using (SSDBEntities db = new SSDBEntities()) { db.Things.Add(t); db.SaveChanges(); tId = t.Id; } //如果当前有匹配受助请求,再新建一条匹配元组 //并改变受助请求状态 if (qId != null) { //新建ThingsQuests ThingsQuests tq = new ThingsQuests(); tq.ThingId = tId; tq.QuestId = qId.Value; tq.Time = DateTime.Now; //向数据库新建元组,改变受助请求状态 using (SSDBEntities db = new SSDBEntities()) { db.ThingsQuests.Add(tq); Quests q = db.Quests.Where(x => x.Id == qId.Value).FirstOrDefault(); q.Status = "已接受受助"; db.Entry(q).State = EntityState.Modified; db.SaveChanges(); } } //提交成功,跳转至用户主页 return(RedirectToAction("MyThingsList")); } //模型报错,返回当前页面 return(RedirectToAction("UploadThings", new { id = qId })); }