public int UpdateATest(string uid, string id, int order, int time, string result) { OxcoderIFactory.IFactory factory = new OxcoderFactory.SqlSeverFactory(); OxcoderIDAL.TestInfoIDAL test = factory.getTestInstance(); OxcoderIDAL.UserIDAL user = factory.getUserInstance(); string tid = test.GetTestID(id); Model.Quiz p1 = searchQuizInfo(id, order); if (result.Equals(p1.output) || p1.output == "") { test.UpdateATest(tid, order, time); SqlDataReader rd = user.UserInfo(uid); if (rd.Read()) { int price1 = Convert.ToInt32(rd["User_Level"].ToString()); int price = Convert.ToInt32(rd["User_Price"].ToString()) + time / 10; if ((price - 4000) / 1000 > 0) { user.UpdateUserLevel((price1 + 1).ToString(), price.ToString(), uid); } user.UpdateUserLevel(rd["User_Level"].ToString(), price.ToString(), uid); } } if (order == 2) { DataRow dr = test.GetTestDetail(tid).Tables[0].Rows[0]; if (dr["Test_Quiz0_State"].ToString().Equals("-1") && dr["Test_Quiz1_State"].ToString().Equals("-1") && dr["Test_Quiz2_State"].ToString().Equals("-1")) { test.SetTestState(tid); } } return(1); }
public double[] GetUserAbility(string userID) { OxcoderIFactory.IFactory factory = new OxcoderFactory.SqlSeverFactory(); OxcoderIDAL.TestInfoIDAL dalTest = factory.getTestInstance(); string[] abilityTemp = dalTest.GetUserAbility(userID); double AvaTime = 500.00; double AvaTime1 = 100.00; double AvaTime2 = 100.00; double AvaTime3 = 100.00; double avarage = 5.00; double home = 5.00; double[] ability = new double[8]; //专注度 ability[0] = Convert.ToDouble(abilityTemp[0]) / AvaTime1 + Convert.ToDouble(abilityTemp[1]) / AvaTime2 + Convert.ToDouble(abilityTemp[1]) / AvaTime3; //熟练度 ability[1] = (Convert.ToDouble(abilityTemp[0]) + Convert.ToDouble(abilityTemp[1]) + Convert.ToDouble(abilityTemp[2])) / AvaTime; //偏差值 ability[2] = ability[1] - avarage; ability[3] = home; return(ability); }