private int ProEval_Trans(IDbHelp thelp, object obj) { ProEval_TransM tmod = (ProEval_TransM)obj; Pro_EvaluateM mod = tmod.mod; string sql = "insert into Pro_Evaluate(FK_User,FK_Pro,Fraction,Detail,Purview,IP) values(@FK_User,@FK_Pro,@Fraction,@Detail,@Purview,@IP)"; IDataParameter[] dp = { DbHelp.Def.AddParam("@FK_User", mod.FK_User), DbHelp.Def.AddParam("@FK_Pro", mod.FK_Pro), DbHelp.Def.AddParam("@Fraction", mod.Fraction), DbHelp.Def.AddParam("@Detail", mod.Detail), DbHelp.Def.AddParam("@Purview", mod.Purview), DbHelp.Def.AddParam("@IP", mod.IP), }; if (thelp.Update(sql, dp) > 0) { banH.Add(); //增加积分或经验 string sname = DbHelp.First("select ProName from Pro_Info where ProSN=" + mod.FK_Pro); User_FractHandler.FractHandlerParam ufParam = new User_FractHandler.FractHandlerParam(mod.FK_User, "system", 1, "pro_eval", "pro_eval", "产品评价 \"" + sname + "\""); ufParam.FK_All = mod.FK_Pro; string slog = new User_FractHandler(thelp).SetFract(ufParam); //string slog = new User_FractHandler(thelp).SetFract(mod.FK_User, "system", 1, "pro_eval", "pro_eval", "产品评价 \"" + sname + "\""); if (slog != "1") { tmod.returnValue = slog; return(0); } tmod.returnValue = "1"; return(1); } else { tmod.returnValue = "nosubmit"; return(0); } }
private void Add() { if (banH.IsBan()) { msgAjax.Error("ban"); return; } if (LoginInfo.NoLogin1(msgAjax)) { return; } int fraction = Fn.IsInt(Req.GetQueryString("star"), 3); if (fraction < 0 || fraction > 5) { fraction = 3; } string sDetail = Server.HtmlEncode(Req.GetForm("content")); if (sDetail.Length > 600) { msgAjax.Error("above"); return; } if (sDetail.Length == 0) { msgAjax.Error("input"); return; } int userID = LoginInfo.UserID; string sql = "select (select count(0) from (Ord_Pro op inner join Pro_Info pi on op.FK_Pro=pi.ProSN) left join Ord_Info oi on op.FK_Order=oi.OrdSN where op.FK_Pro={1} and op.FK_User={0} and oi.Status=50) as ordProCount," + "(select count(0) from Pro_Evaluate where FK_User={0} and FK_Pro={1}) as proEvalCount"; using (IDataReader dr = DbHelp.Read(string.Format(sql, userID, id))) { if (dr.Read()) { int ordProCount = int.Parse(dr["ordProCount"].ToString()); if (ordProCount == 0) { msgAjax.Error("nobuy");//未订购此产品 return; } int proEvalCount = int.Parse(dr["proEvalCount"].ToString()); if (proEvalCount >= ordProCount) { msgAjax.Error("has");//已评论此产品 return; } } else { msgAjax.Error("error"); return; } } Pro_EvaluateM mod = new Pro_EvaluateM(); mod.FK_User = userID; mod.FK_Pro = id; mod.Fraction = fraction; mod.Detail = sDetail; mod.Purview = 0; mod.IP = Request.UserHostAddress; ProEval_TransM tmod = new ProEval_TransM(); tmod.mod = mod; DbHelp.ExecuteTrans(new DbHelpParam(), this.ProEval_Trans, tmod); if (tmod.returnValue == "1") { msgAjax.Success("1"); } else { msgAjax.Error(tmod.returnValue); } }