1、public class UserRepository1public class UserRepository / / add new register / / / / public bool AddNewRegisterUser(db_UserInfo user, ref string msg) try using (GamdDataDbmlDataContext context = new GamdDataDbmlDataContext() user.UserPwd = Encrypt(user.UserPwd, true); context.db_UserInfos.InsertOnSu
2、bmit(user); context.SubmitChanges(); return true; catch (Exception ex) msg = ex.Message; return false; / / validate the users username and password / / / / / / / public bool ValidateUserLogin(String account, string password, ref string useremail, ref string userrole, ref string msg) if (String.IsNul
3、lOrEmpty(account) | String.IsNullOrEmpty(password) msg = Parameter is invalid.; return false; try using (GamdDataDbmlDataContext context = new GamdDataDbmlDataContext() password = Encrypt(password, true); var wusers = from u in context.db_UserInfos where u.UserName = account & u.UserPwd = password s
4、elect u; if (wusers.Count() 0) useremail = wusers.FirstOrDefault().UserEmail; userrole = wusers.FirstOrDefault().UserRole; return true; return false; catch (Exception ex) msg = ex.Message; return false; / / get all the users / / public List GetAllUsers() return new GamdDataDbmlDataContext().db_UserI
5、nfos.ToList(); public void SetUserAsAdmin(string userName) try using (GamdDataDbmlDataContext db = new GamdDataDbmlDataContext() var us = from u in db.db_UserInfos where u.UserName = userName select u; if (us.FirstOrDefault() != null) us.FirstOrDefault().UserRole = admin; db.SubmitChanges(); catch (
6、Exception e) / / the users password is saved in the database, and the password should be encryption / #region=Encryption= private static string key = Game is interesting; / / encryption / / / / public static string Encrypt(string toEncrypt, bool useHashing) byte keyArray; byte toEncryptArray = UTF8E
7、ncoding.UTF8.GetBytes(toEncrypt); if (useHashing) MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key); hashmd5.Clear(); else keyArray = UTF8Encoding.UTF8.GetBytes(key); TripleDESCryptoServiceProvider tdes = new TripleDESCr
8、yptoServiceProvider(); tdes.Key = keyArray; tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = tdes.CreateEncryptor(); byte resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); tdes.Clear(); return Convert.ToBase64String(res
9、ultArray, 0, resultArray.Length); / / decryption / / / / public static string Decrypt(string cipherString, bool useHashing) byte keyArray; byte toEncryptArray = Convert.FromBase64String(cipherString); if (useHashing) MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider(); keyArray = hashm
10、d5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key); hashmd5.Clear(); else keyArray = UTF8Encoding.UTF8.GetBytes(key); TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider(); tdes.Key = keyArray; tdes.Mode = CipherMode.ECB; tdes.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform
11、 = tdes.CreateDecryptor(); byte resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); tdes.Clear(); return UTF8Encoding.UTF8.GetString(resultArray); #endregion public class GameRepository / / add new game / / / / public bool AddNewGame(db_GameInfo game, ref string m
12、sg) try using (GamdDataDbmlDataContext context = new GamdDataDbmlDataContext() context.db_GameInfos.InsertOnSubmit(game); context.SubmitChanges(); return true; catch (Exception ex) msg = ex.Message; return false; / / get all games / / public List GetAllGames() try return new GamdDataDbmlDataContext(
13、).db_GameInfos.ToList(); catch (Exception ex) return null; / / search the games of a user / / / public List GetNameByCreater(string gameCreater) try using (GamdDataDbmlDataContext context = new GamdDataDbmlDataContext() var games = from u in context.db_GameInfos where u.GameCreater = gameCreater sel
14、ect u; return games.ToList(); catch (Exception e) return null; / / update game information / / public void UpdateGame(string gamename,string cor,double size,DateTime time) using (GamdDataDbmlDataContext context = new GamdDataDbmlDataContext() var games = from u in context.db_GameInfos where u.GameNa
15、me = gamename select u; if (games.FirstOrDefault() != null) games.FirstOrDefault().GameCor=cor; games.FirstOrDefault().GameSize=size; games.FirstOrDefault().GameTime=time; context.SubmitChanges(); / / delete a game / / public void DeleteGame(string gamename) using (GamdDataDbmlDataContext context =
16、new GamdDataDbmlDataContext() var games = from u in context.db_GameInfos where u.GameName = gamename select u; if (games.FirstOrDefault() != null) context.db_GameInfos.DeleteOnSubmit(games.FirstOrDefault(); context.SubmitChanges(); / / search game which is accordance with some condition / / / / / /
17、/ / / public List SearchGame(string gamename,double gamesize,double gamesizeUp,string gameCor,DateTime dtFrom,DateTime dtTo,string gameCreater) try using (GamdDataDbmlDataContext context = new GamdDataDbmlDataContext() var games = from u in context.db_GameInfos where u.GameName.Contains(gamename) &
18、u.GameSizegamesize&u.GameSizedtFrom&u.GameTimedtTo&u.GameCreater.Contains(gameCreater) select u; return games.ToList(); catch(Exception e) return null; /log in as a common user or admin protected void LoginButton_Click(object sender, EventArgs e) string name = UserName.Text; string pwd = Password.Te
19、xt; UserRepository ur = new UserRepository(); string email=; string role=; string msg=; if (ur.ValidateUserLogin(name, pwd, ref email, ref role, ref msg) SessionCurrentUserName = name; SessionCurrentUserEmail = email; SessionCurrentUserRole = role; Response.Redirect(/Default.aspx); else /log in the
20、system as a guest protected void GuestButton_Click(object sender, EventArgs e) SessionCurrentUserRole =guest; Response.Redirect(/Default.aspx); /log out protected void Page_Load(object sender, EventArgs e) Session.Clear(); Session.RemoveAll(); Session.Abandon(); Response.Redirect(/Default.aspx); Add
21、 New Game Game Management User Management Log out Add New Game Game Management Log out Log in Home Page /create a user protected void CreateUserButton_Click(object sender, EventArgs e) db_UserInfo userTemp=new db_UserInfo(); userTemp.UserName=UserName.Text; userTemp.UserPwd=Password.Text; userTemp.UserRole=user; userTemp.UserEmail=Email.Text; string msg=; UserRepository ur=new UserRepository(); if (ur.AddNewRegisterUser(userTemp, ref msg) Response.Write(alert(success.);); /SessionCurrentUserName = UserName.Text; /Session