/// <summary> /// 给小组作品评分 /// </summary> /// <param name="Gid"></param> /// <param name="Gscore"></param> public void UpdateGscore(int Gid, int Gscore, int Cobj, int Cterm) { string mysql = "update GroupWork set Gcheck=1,Gscore=" + Gscore + " where Gid=" + Gid; DbHelperSQL.ExecuteSql(mysql); string sqlstr = "select Gstudents from GroupWork where Gid=" + Gid; string findstr = DbHelperSQL.FindString(sqlstr); if (findstr != "") { BLL.Students sbll = new BLL.Students(); sbll.TotalSgscore(findstr, Cobj, Cterm);//同时给小组成员统计 } }
/// <summary> /// 创建教师模拟学生角色制作网页时的ftp空间和账号,每个班级一个 /// </summary> /// <returns></returns> public static int TeacherSlftp(string teapwd) { int initreg = 0; if (HttpContext.Current.Request.Cookies[LearnSite.Common.CookieHelp.teaCookieNname] != null) { int Rhid = Int32.Parse(HttpContext.Current.Request.Cookies[LearnSite.Common.CookieHelp.teaCookieNname].Values["Hid"].ToString()); LearnSite.BLL.Students stubll = new BLL.Students(); LearnSite.BLL.Webstudy wbll = new BLL.Webstudy(); DataSet ds = stubll.TeacherSyearSclass(Rhid); int rcount = ds.Tables[0].Rows.Count; if (rcount > 0) { for (int i = 0; i < rcount; i++) { if (ds.Tables[0].Rows[i]["Syear"].ToString() != "" && ds.Tables[0].Rows[i]["Sclass"].ToString() != "") { string Syear = ds.Tables[0].Rows[i]["Syear"].ToString(); string Sgrade = ds.Tables[0].Rows[i]["Sgrade"].ToString(); string Sclass = ds.Tables[0].Rows[i]["Sclass"].ToString(); string Snum = "s" + Rhid + Syear.ToString() + Sgrade.ToString() + Sclass.ToString(); string Wurl = "~/FtpSpace/" + Syear + "/" + Sgrade + "/" + Snum;//2008/1/201211006"; if (LearnSite.Ftp.Reg.RegsaveFtp(Snum, teapwd, Syear, Sclass)) { initreg++;//注册成功,则计数 } else { LearnSite.Ftp.Reg.Updatepwd(Snum, teapwd);//更新为新密码,为了兼容修正 } if (wbll.ExistsWnum(Snum)) { wbll.UpdateWpwd2(Snum, teapwd);//如果存在,则更新模拟密码 } else { wbll.AddSimulation(Snum, teapwd, Wurl);//在webstudy表中增加一个模拟账号 } LearnSite.Ftp.Disk.CreateOneDir(Syear, Sclass, Snum); } } } } return(initreg); }
/// <summary> /// 根据IP返回姓名 /// </summary> /// <param name="dtclass"></param> /// <param name="ip"></param> /// <returns></returns> private static StuMsg GetStuNameByIp(DataTable dtclass, string ip) { StuMsg mystu = new StuMsg(); int dcount = dtclass.Rows.Count; LearnSite.BLL.Students sbll = new BLL.Students(); for (int i = 0; i < dcount; i++) { string dtip = dtclass.Rows[i]["Qip"].ToString(); if (dtip.Equals(ip)) { mystu.Sname = dtclass.Rows[i]["Qname"].ToString(); mystu.Sleader = bool.Parse(dtclass.Rows[i]["Sleader"].ToString()); int sgroup = 0; if (dtclass.Rows[i]["Sgroup"] != null && dtclass.Rows[i]["Sgroup"].ToString() != "") { sgroup = Int32.Parse(dtclass.Rows[i]["Sgroup"].ToString()); } mystu.Sgroup = sgroup; if (mystu.Sleader) { mystu.Sgtitle = dtclass.Rows[i]["Sgtitle"].ToString(); } else { if (sgroup > 0) { mystu.Sgtitle = sbll.GetSgtitle(sgroup); } else { mystu.Sgtitle = ""; } } mystu.isOk = true; break; } } return(mystu); }
/// <summary> /// 模拟该班级学生登录cookies设置 /// </summary> /// <param name="Sgrade"></param> /// <param name="Sclass"></param> public static void SimulationStudentCookies(int Sgrade, int Sclass) { if (HttpContext.Current.Request.Cookies[teaCookieNname] != null) { string Rhid = HttpContext.Current.Request.Cookies[teaCookieNname].Values["Hid"].ToString(); LearnSite.BLL.Students stubll = new BLL.Students(); LearnSite.Model.Students sModel = new LearnSite.Model.Students(); string sss = Rhid + Sgrade.ToString() + Sclass.ToString(); sModel.Sid = 0 - Int32.Parse(sss); string Syear = stubll.GetYear(Sgrade); sModel.Syear = Int32.Parse(Syear); sModel.Snum = "s" + Rhid + Syear.ToString() + Sgrade.ToString() + Sclass.ToString(); sModel.Sgrade = Sgrade; sModel.Sclass = Sclass; sModel.Sname = "学生" + Sgrade.ToString() + Sclass.ToString(); sModel.Spwd = "12345678"; sModel.Sex = "男"; sModel.Sscore = 100; sModel.Squiz = 50; sModel.Sattitude = 25; sModel.Sape = "A"; sModel.Sgroup = 0; DateTime LoginTime = DateTime.Now; string LoginIp = LearnSite.Common.Computer.GetGuestIP(); string FtpPwd = LearnSite.Common.WordProcess.GetMD5_Nbit(Rhid, 18); string ThisTerm = LearnSite.Common.XmlHelp.GetTerm(); HttpCookie StuCookie = new HttpCookie(stuCookieNname); StuCookie.Values.Add("Sid", sModel.Sid.ToString()); StuCookie.Values.Add("Snum", UrlEncode(sModel.Snum)); StuCookie.Values.Add("Syear", sModel.Syear.ToString()); StuCookie.Values.Add("Sgrade", sModel.Sgrade.ToString()); StuCookie.Values.Add("Sclass", sModel.Sclass.ToString()); StuCookie.Values.Add("Sname", UrlEncode(sModel.Sname)); StuCookie.Values.Add("Spwd", sModel.Spwd.ToString()); StuCookie.Values.Add("Sex", UrlEncode(sModel.Sex)); StuCookie.Values.Add("Sscore", sModel.Sscore.ToString()); StuCookie.Values.Add("Squiz", sModel.Squiz.ToString()); StuCookie.Values.Add("Sattitude", sModel.Sattitude.ToString()); StuCookie.Values.Add("Sape", sModel.Sape.ToString()); StuCookie.Values.Add("Sgroup", sModel.Sgroup.ToString()); StuCookie.Values.Add("LoginTime", LoginTime.ToString()); StuCookie.Values.Add("LoginIp", LoginIp); StuCookie.Values.Add("Ftppwd", FtpPwd); StuCookie.Values.Add("ThisTerm", ThisTerm); StuCookie.Values.Add("Rhid", Rhid); StuCookie.Values.Add("RankImage", UrlEncode(LearnSite.Common.Rank.RankImage(sModel.Sscore.Value + sModel.Sattitude.Value, true))); StuCookie.Values.Add("Ss", Common.WordProcess.GetMD5_8bit(sModel.Snum)); string str = LearnSite.Common.XmlHelp.GetStudentCookiesPeriod(); if (str != "0") { StuCookie.Expires = StudentCookiesPeriod(str); StuCookie.Path = "/"; StuCookie.HttpOnly = true; } HttpContext.Current.Response.AppendCookie(StuCookie); LearnSite.Common.App.AppUserAdd(sModel.Snum); } }
/// <summary> /// 使用上传的分班表格,对原来的学生进行重新分班 /// </summary> /// <param name="upexcelpath"></param> public static string DivideClass(string filepath) { DataSet ds = DivideExcelToDS(filepath); string msg = ""; if (ds != null) { int count = ds.Tables[0].Rows.Count; int columnscount = ds.Tables[0].Columns.Count; int isright = 0; string[] strColumn = { "年级", "班级", "姓名" }; for (int k = 0; k < columnscount; k++) { string strname = ds.Tables[0].Columns[k].ColumnName; foreach (string str in strColumn) { if (strname == str) { isright++; } } } if (isright == strColumn.Length) { if (count > 0) { LearnSite.BLL.Students sbll = new BLL.Students(); int right = 0; int formatwrong = 0; for (int i = 0; i < count; i++) { string Sgrade = ds.Tables[0].Rows[i]["年级"].ToString().Trim(); string Sclass = ds.Tables[0].Rows[i]["班级"].ToString().Trim(); string Sname = ds.Tables[0].Rows[i]["姓名"].ToString().Trim(); if (LearnSite.Common.WordProcess.IsNum(Sgrade) && LearnSite.Common.WordProcess.IsNum(Sclass)) { if (sbll.UpdateDivide(Int32.Parse(Sgrade), Int32.Parse(Sclass), Sname)) { right++; } } else { formatwrong++; } } msg = "Excel表格数据共" + count + "位,重新分班成功共" + right + "位<br />年级和班级格式错误共" + formatwrong + "位"; } else { msg = "无数据!"; } } else { msg = "Excel数据格式不正确!"; } } else { msg = "没有上传分班表格divide.xls!"; } return(msg); }
/// <summary> /// 模拟该班级学生登录cookies设置 /// </summary> /// <param name="Sgrade"></param> /// <param name="Sclass"></param> public static void SimulationStudentCookies(int Sgrade, int Sclass) { if (HttpContext.Current.Request.Cookies[teaCookieNname] != null) { Model.TeaCook tcook = new Model.TeaCook(); string Rhid = tcook.Hid.ToString(); LearnSite.BLL.Students stubll = new BLL.Students(); LearnSite.Model.Students sModel = new LearnSite.Model.Students(); string sss = Rhid + Sgrade.ToString() + Sclass.ToString(); sModel.Sid = 0 - Int32.Parse(sss); string Syear = stubll.GetYear(Sgrade); sModel.Syear = Int32.Parse(Syear); sModel.Snum = "s" + Rhid + Syear.ToString() + Sgrade.ToString() + Sclass.ToString(); sModel.Sgrade = Sgrade; sModel.Sclass = Sclass; sModel.Sname = "学生" + Sgrade.ToString() + Sclass.ToString(); sModel.Spwd = "12345678"; sModel.Sex = "男"; sModel.Sscore = 100; sModel.Squiz = 50; sModel.Sattitude = 25; sModel.Sape = "A"; sModel.Sgroup = 0; DateTime LoginTime = DateTime.Now; string LoginIp = LearnSite.Common.Computer.GetGuestIP(); string ThisTerm = LearnSite.Common.XmlHelp.GetTerm(); HttpCookie StuCookie = new HttpCookie(stuCookieNname); Model.Cook Cook = new Model.Cook(); Cook.Sid = sModel.Sid; Cook.Snum = UrlEncode(sModel.Snum); Cook.Syear = sModel.Syear.Value; Cook.Sgrade = sModel.Sgrade.Value; Cook.Sclass = sModel.Sclass.Value; Cook.Sname = UrlEncode(sModel.Sname.Trim()); Cook.Spwd = Common.WordProcess.GetMD5_8bit(sModel.Spwd); Cook.Sex = UrlEncode(sModel.Sex); Cook.Sscore = sModel.Sscore.Value; Cook.Squiz = sModel.Squiz.Value; Cook.Sattitude = sModel.Sattitude.Value; Cook.Sape = UrlEncode(sModel.Sape); Cook.Sgroup = sModel.Sgroup.Value; Cook.LoginTime = LoginTime.ToString(); Cook.LoginIp = LoginIp; Cook.ThisTerm = Int32.Parse(ThisTerm); Cook.Rhid = Int32.Parse(Rhid); Cook.RankImage = UrlEncode(LearnSite.Common.Rank.RankImage(sModel.Sscore.Value + sModel.Sattitude.Value, true)); Cook.Ss = stuCookieNname;//cookie名称校验 Cook.SessionId = ""; StuCookie.Value = Cook.ToStr(); string str = LearnSite.Common.XmlHelp.GetStudentCookiesPeriod(); if (str != "0") { StuCookie.Expires = StudentCookiesPeriod(str); StuCookie.Path = "/"; StuCookie.HttpOnly = true; } HttpContext.Current.Response.AppendCookie(StuCookie); LearnSite.Common.App.AppUserAdd(sModel.Snum); } }