Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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));
            }
        }
Ejemplo n.º 4
0
        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"));
        }
Ejemplo n.º 5
0
        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"));
        }