protected override void DataOperation() { try { using (var db = new retrospyContext()) { var result = from u in db.Users join p in db.Profiles on u.Userid equals p.Userid join n in db.Subprofiles on p.Profileid equals n.Profileid //According to FSW partnerid is not nessesary where u.Email == _recv["email"] && n.Gamename == _recv["gamename"] && n.Namespaceid == _namespaceid select p.Profileid; if (result.Count() == 0) { _sendingBuffer = @"\vr\0\final\"; } else if (result.Count() == 1) { _sendingBuffer = @"\vr\1\final\"; } } } catch { _errorCode = GPErrorCode.DatabaseError; } }
protected override void DataOperation(GStatsSession session, Dictionary <string, string> recv) { using (var db = new retrospyContext()) { var result = from p in db.Pstorage where p.Profileid == _profileid && p.Dindex == _dindex && p.Ptype == _ptype select p; Pstorage ps; if (result.Count() == 0) { //insert a new record in database ps = new Pstorage(); ps.Dindex = _dindex; ps.Profileid = _profileid; ps.Ptype = _ptype; ps.Data = _keyValueStr; db.Pstorage.Add(ps); } else if (result.Count() == 1) { //update an existed record in database ps = result.First(); ps.Data = _keyValueStr; } db.SaveChanges(); } }
protected override void DataOperation() { uint[] opids = _recv["opids"].TrimStart('|').Split('|').Select(uint.Parse).ToArray(); try { using (var db = new retrospyContext()) { _sendingBuffer = @"\otherslist\"; foreach (var pid in opids) { var result = from n in db.Subprofiles where n.Profileid == pid && n.Namespaceid == _namespaceid select new { uniquenick = n.Uniquenick }; var info = result.FirstOrDefault(); _sendingBuffer += $@"\o\{pid}"; _sendingBuffer += $@"\uniquenick\{info.uniquenick}"; } _sendingBuffer += @"oldone\final\"; } } catch { _errorCode = GPErrorCode.DatabaseError; } }
private void AuthtokenLogin() { using (var db = new retrospyContext()) { var info = from u in db.Users join p in db.Profiles on u.Userid equals p.Userid join n in db.Subprofiles on p.Profileid equals n.Profileid where n.Authtoken == _session.UserData.AuthToken && n.Partnerid == _session.UserData.PartnerID && n.Namespaceid == _session.UserData.NamespaceID select new LoginDBResult { Email = u.Email, UserID = u.Userid, ProfileID = p.Profileid, SubProfileID = n.Subprofileid, Nick = p.Nick, UniqueNick = n.Uniquenick, PasswordHash = u.Password, NamespaceID = n.Namespaceid, EmailVerifiedFlag = (bool)u.Emailverified, BannedFlag = u.Banned }; if (info.Count() != 1) { _errorCode = GPError.LoginBadPreAuth; return; } _result = info.First(); } }
private void UniquenickLogin() { using (var db = new retrospyContext()) { var info = from n in db.Subprofiles join p in db.Profiles on n.Profileid equals p.Profileid join u in db.Users on p.Userid equals u.Userid where n.Uniquenick == _session.UserInfo.UniqueNick && n.Namespaceid == _session.UserInfo.NamespaceID select new { userid = u.Userid, profileid = p.Profileid, uniquenick = n.Uniquenick, password = u.Password, emailVerified = u.Emailverified, blocked = u.Banned }; if (info.Count() != 1) { _errorCode = GPErrorCode.LoginBadUniquenick; return; } _session.UserInfo.Userid = info.First().userid; _session.UserInfo.Profileid = info.First().profileid; _session.UserInfo.UniqueNick = info.First().uniquenick; _session.UserInfo.PasswordHash = info.First().password; _session.UserInfo.IsEmailVerified = (bool)info.First().emailVerified; _session.UserInfo.IsBlocked = info.First().blocked; } }
protected override void DataOperation() { if (_session.UserInfo.BlockListSent) { return; } _session.UserInfo.BlockListSent = true; using (var db = new retrospyContext()) { var buddies = db.Blocked.Where( f => f.Profileid == _session.UserInfo.Profileid && f.Namespaceid == _session.UserInfo.NamespaceID); //if (buddies.Count() == 0) //{ // _sendingBuffer = @"\blk\0\list\\final\"; // return; //} _sendingBuffer = @"\blk\" + buddies.Count() + @"\list\"; foreach (var b in buddies) { _sendingBuffer += b.Profileid; if (b != buddies.Last()) { _sendingBuffer += @","; } } _sendingBuffer += @"\final\"; } }
protected override void DataOperation() { using (var db = new retrospyContext()) { var result = from b in db.Friends where b.Profileid == _request.ProfileID && b.Namespaceid == _request.NamespaceID select b.Targetid; foreach (var info in result) { var b = from p in db.Profiles join n in db.Subprofiles on p.Profileid equals n.Profileid join u in db.Users on p.Userid equals u.Userid where n.Namespaceid == _request.NamespaceID && n.Profileid == info && n.Gamename == _request.GameName select new OthersHandlerDataModel { Profileid = p.Profileid, Nick = p.Nick, Uniquenick = n.Uniquenick, Lastname = p.Lastname, Firstname = p.Firstname, Userid = u.Userid, Email = u.Email }; _result.Add(b.First()); } } }
public void NickAndEmailLogin() { using (var db = new retrospyContext()) { var result = from u in db.Users join p in db.Profiles on u.Userid equals p.Userid where u.Email == _request.Email && p.Nick == _request.NickName && u.Password == _password select new { userid = u.Userid, profileid = p.Profileid, emailVerified = u.Emailverified, banned = u.Banned }; if (result.Count() != 1) { _errorCode = ChatError.DataOperation; return; } _profileid = result.First().profileid; _userid = result.First().userid; } }
protected override void DataOperation() { using (var db = new retrospyContext()) { if (db.Users.Where(e => e.Email == _recv["email"]).Count() < 1) { _errorCode = GPErrorCode.CheckBadMail; return; } if (db.Users.Where(u => u.Email == _recv["email"] && u.Password == _recv["passenc"]).Count() < 1) { _errorCode = GPErrorCode.CheckBadPassword; return; } var result = from p in db.Profiles join u in db.Users on p.Userid equals u.Userid where u.Email.Equals(_recv["email"]) && u.Password.Equals(_recv["passenc"]) && p.Nick.Equals(_recv["nick"]) select p.Profileid; if (result.Count() == 1) { _sendingBuffer = @$"\cur\0\pid\{result.FirstOrDefault()}\final\"; }
protected override void DataOperation() { try { using (var db = new retrospyContext()) { var result = from u in db.Users join p in db.Profiles on u.Userid equals p.Userid join n in db.Subprofiles on p.Profileid equals n.Profileid where u.Email == _request.Email && u.Password == _request.Password && n.Namespaceid == _request.NamespaceID select new NickHandlerDataModel { Nick = p.Nick, Uniquenick = n.Uniquenick }; //we store data in strong type so we can use in next step _result = result.ToList(); } } catch { _errorCode = GPError.DatabaseError; } }
protected override void DataOperation() { using (var db = new retrospyContext()) { Profiles profile = db.Profiles.Where( p => p.Userid == _session.UserData.UserID && p.Profileid == _session.UserData.ProfileID && p.Nick == p.Nick).First(); Users user = db.Users.Where( u => u.Userid == _session.UserData.UserID).First(); Subprofiles subprofile = db.Subprofiles.Where( s => s.Profileid == _session.UserData.ProfileID && s.Namespaceid == _session.UserData.NamespaceID && s.Uniquenick == _session.UserData.UniqueNick).First(); if (_request.HasPublicMaskFlag) { profile.Publicmask = (int)_request.PublicMask; } if (_request.HasFirstNameFlag) { profile.Firstname = _request.FirstName; } if (_request.HasLastNameFlag) { profile.Lastname = _request.LastName; } if (_request.HasICQFlag) { profile.Icquin = _request.ICQUIN; } if (_request.HasHomePageFlag) { profile.Homepage = _request.HomePage; } if (_request.HasBirthdayFlag) { profile.Birthday = _request.BirthDay; profile.Birthmonth = _request.BirthMonth; profile.Birthyear = _request.BirthYear; } if (_request.HasSexFlag) { profile.Sex = _request.Sex; } if (_request.HasZipCode) { profile.Zipcode = _request.ZipCode; } if (_request.HasCountryCode) { profile.Countrycode = _request.CountryCode; } db.Update(profile); } }
protected override void DataOperation() { using (var db = new retrospyContext()) { foreach (var id in _request.Namespaces) { var result = from p in db.Profiles join n in db.Subprofiles on p.Profileid equals n.Profileid join u in db.Users on p.Userid equals u.Userid where n.Uniquenick == _request.Uniquenick && n.Namespaceid == id select new SearchUniqueDBResult { Profileid = n.Profileid, Nick = p.Nick, Uniquenick = n.Uniquenick, Email = u.Email, Firstname = p.Firstname, Lastname = p.Lastname, NamespaceID = n.Namespaceid }; _result = result.ToList(); } } }
protected override void DataOperation() { try { using (var db = new retrospyContext()) { var players = from u in db.Users join p in db.Profiles on u.Userid equals p.Userid join n in db.Subprofiles on p.Profileid equals n.Profileid where u.Email == _recv["email"] && u.Password == _recv["passenc"] && n.Namespaceid == _namespaceid select new { nick = p.Nick, uniquenick = n.Uniquenick }; if (players.Count() == 0) { _errorCode = GPErrorCode.CheckBadPassword; } _sendingBuffer = @"\nr\"; foreach (var info in players) { _sendingBuffer += @"\nick\"; _sendingBuffer += info.nick; _sendingBuffer += @"\uniquenick\"; _sendingBuffer += info.uniquenick; } _sendingBuffer += @"\ndone\final\"; } } catch { _errorCode = GPErrorCode.DatabaseError; } }
private void UpdateOtherInfo() { using (var db = new retrospyContext()) { if (_request.HasPartnerIDFlag) { _subProfile.Partnerid = _request.PartnerID; } if (_request.HasProductIDFlag) { _subProfile.Productid = _request.ProductID; } if (_request.HasGameNameFlag) { _subProfile.Gamename = _request.GameName; } if (_request.HasGamePortFlag) { _subProfile.Port = _request.GamePort; } if (_request.HasCDKeyEncFlag) { _subProfile.Cdkeyenc = _request.CDKeyEnc; } db.Subprofiles.Update(_subProfile); db.SaveChanges(); } }
protected override void DataOperation() { using (var db = new retrospyContext()) { if (db.Users.Where(e => e.Email == _request.Email).Count() < 1) { _errorCode = GPError.CheckBadMail; return; } if (db.Users.Where(u => u.Email == _request.Email && u.Password == _request.Password).Count() < 1) { _errorCode = GPError.CheckBadPassword; return; } var result = from p in db.Profiles join u in db.Users on p.Userid equals u.Userid where u.Email.Equals(_request.Email) && u.Password.Equals(_request.Password) && p.Nick.Equals(_request.Nick) select p.Profileid; if (result.Count() == 1) { _profileid = result.First(); } else { _errorCode = GPError.CheckBadNick; } } }
protected override void DataOperation() { using (var db = new retrospyContext()) { var result = from p in db.Pstorage where p.Profileid == _request.ProfileID && p.Dindex == _request.DataIndex && p.Ptype == (uint)_request.StorageType select p; Pstorage ps; if (result.Count() == 0) { //insert a new record in database ps = new Pstorage(); ps.Dindex = _request.DataIndex; ps.Profileid = _request.ProfileID; ps.Ptype = (uint)_request.StorageType; ps.Data = _request.KeyValueString; db.Pstorage.Add(ps); } else if (result.Count() == 1) { //update an existed record in database ps = result.First(); ps.Data = _request.KeyValueString; } db.SaveChanges(); } }
protected override void DataOperation() { //search database for user's password //We do not store user's plaintext password, so we can not check this response using (var db = new retrospyContext()) { switch (_request.RequestType) { case AuthMethod.PartnerIDAuth: FindProfileByAuthtoken(); break; case AuthMethod.ProfileIDAuth: //even if we do not check response challenge //we have to check the pid is in our databse FindProfileByProfileid(); break; case AuthMethod.CDkeyAuth: FrindProfileByCDKeyHash(); break; default: _errorCode = GSError.Database; break; } } }
public void UniqueNickLogin() { using (var db = new retrospyContext()) { var result = from n in db.Subprofiles join p in db.Profiles on n.Profileid equals p.Profileid join u in db.Users on p.Userid equals u.Userid where n.Uniquenick == _request.UniqueNick && n.Namespaceid == _request.NameSpaceID select new { userid = u.Userid, profileid = p.Profileid, uniquenick = n.Uniquenick, emailVerified = u.Emailverified, banned = u.Banned }; if (result.Count() != 1) { _errorCode = ChatError.DataOperation; return; } _profileid = result.First().profileid; _userid = result.First().userid; } }
private void UpdateOtherInfo(Dictionary <string, string> _recv) { using (var db = new retrospyContext()) { uint partnerid; if (_recv.ContainsKey("partnerid")) { if (uint.TryParse(_recv["partnerid"], out partnerid)) { _subProfiles.Partnerid = partnerid; } else { _errorCode = GPErrorCode.Parse; } } uint productid; if (_recv.ContainsKey("productid")) { if (uint.TryParse(_recv["productid"], out productid)) { _subProfiles.Productid = productid; } else { _errorCode = GPErrorCode.Parse; } } if (_recv.ContainsKey("gamename")) { _subProfiles.Gamename = _recv["gamename"]; } uint port; if (_recv.ContainsKey("port")) { if (uint.TryParse(_recv["port"], out port)) { _subProfiles.Port = port; } else { _errorCode = GPErrorCode.Parse; } } if (_recv.ContainsKey("cdkeyenc")) { _subProfiles.Cdkeyenc = _recv["cdkeyenc"]; } db.Subprofiles.Update(_subProfiles); db.SaveChanges(); } }
protected override void DataOperation() { base.DataOperation(); using (var db = new retrospyContext()) { _profileIDList = db.Blocked .Where(f => f.Profileid == _session.UserData.ProfileID && f.Namespaceid == _session.UserData.NamespaceID) .Select(f => f.Targetid).ToList(); } }
protected override void DataOperation() { using (var db = new retrospyContext()) { //we have to make sure the search target has the same namespaceID var result = from p in db.Profiles join s in db.Subprofiles on p.Profileid equals s.Profileid join u in db.Users on p.Userid equals u.Userid where p.Profileid == _request.ProfileID && s.Namespaceid == _session.UserData.NamespaceID select new GetProfileDBResult { Nick = p.Nick, ProfileID = p.Profileid, UniqueNick = s.Uniquenick, Email = u.Email, Firstname = p.Firstname, Lastname = p.Lastname, Icquin = p.Icquin, Homepage = p.Homepage, Zipcode = p.Zipcode, Countrycode = p.Countrycode, Longitude = p.Longitude, Latitude = p.Latitude, Location = p.Location, Birthday = p.Birthday, Birthmonth = p.Birthmonth, Birthyear = p.Birthyear, Sex = p.Sex, Publicmask = p.Publicmask, Aim = p.Aim, Picture = p.Picture, Occupationid = p.Occupationid, Industryid = p.Industryid, Incomeid = p.Incomeid, Marriedid = p.Marriedid, Childcount = p.Childcount, Interests1 = p.Interests1, Ownership1 = p.Ownership1, Connectiontype = p.Connectiontype, }; if (result.Count() == 0) { _errorCode = GPError.DatabaseError; return; } _result = result.First(); } }
private void FindProfileByProfileid(Dictionary <string, string> recv) { using (var db = new retrospyContext()) { var result = from p in db.Profiles where p.Profileid == _profileid select p.Profileid; if (result.Count() != 1) { _errorCode = GstatsErrorCode.Database; return; } _profileid = result.First(); } }
private void FindProfileByAuthtoken(Dictionary <string, string> recv) { using (var db = new retrospyContext()) { var result = from s in db.Subprofiles where s.Authtoken == recv["authtoken"] select s.Profileid; if (result.Count() != 1) { _errorCode = GstatsErrorCode.Database; return; } _profileid = result.First(); } }
protected override void DataOperation() { using (var db = new retrospyContext()) { var result = from f in db.Friends where f.Profileid == _request.DeleteProfileID && f.Namespaceid == _session.UserData.NamespaceID select f; if (result.Count() != 1) { _errorCode = GPError.DatabaseError; return; } db.Friends.Remove(result.FirstOrDefault()); } }
private void FindProfileByProfileid() { using (var db = new retrospyContext()) { var result = from p in db.Profiles where p.Profileid == _request.ProfileID select p.Profileid; if (result.Count() != 1) { _errorCode = GSError.Database; return; } _profileID = result.First(); } }
private void FindProfileByAuthtoken() { using (var db = new retrospyContext()) { var result = from s in db.Subprofiles where s.Authtoken == _request.AuthToken select s.Profileid; if (result.Count() != 1) { _errorCode = GSError.Database; return; } _profileID = result.First(); } }
protected override void DataOperation() { try { using (var db = new retrospyContext()) { db.Subprofiles.Where(s => s.Profileid == _session.UserInfo.Profileid && s.Namespaceid == _session.UserInfo.NamespaceID) .First().Uniquenick = _recv["uniquenick"]; db.SaveChanges(); } } catch (Exception) { _errorCode = GPErrorCode.DatabaseError; } }
protected override void DataOperation() { using (var db = new retrospyContext()) { var result = from p in db.Profiles join s in db.Subprofiles on p.Profileid equals s.Profileid where s.Cdkeyenc == _request.KeyHash && p.Nick == _request.Nick select s.Profileid; if (result.Count() != 1) { _errorCode = GSError.Database; return; } _protileid = result.First(); } }
protected override void DataOperation() { try { using (var db = new retrospyContext()) { db.Subprofiles.Where(s => s.Subprofileid == _session.UserData.SubProfileID) .FirstOrDefault().Uniquenick = _request.UniqueNick; db.SaveChanges(); } } catch { _errorCode = GPError.DatabaseError; } }
private void FrindProfileByCDKeyHash() { using (var db = new retrospyContext()) { var result = from s in db.Subprofiles join p in db.Profiles on s.Profileid equals p.Profileid where s.Cdkeyenc == _request.KeyHash && p.Nick == _request.Nick select s.Profileid; if (result.Count() != 1) { _errorCode = GSError.Database; return; } _profileID = result.First(); } }