Files
reallife-gamemode/Server/Events/Register.cs

61 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
/**
* @overview Life of German Reallife - Event Register (Register.cs)
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/
namespace reallife_gamemode.Server.Events
{
class Register : Script
{
[RemoteEvent("OnPlayerRegister")]
public void OnPlayerRegister(Client player, string password)
{
using (var checkUser = new Model.DatabaseContext())
{
var checkedUser = checkUser.Users.SingleOrDefault(b => b.Name == player.Name);
if (checkedUser == null)
{
using (var registerUser = new Model.DatabaseContext())
{
var user = new Entities.User
{
Name = player.Name,
SocialClubName = player.SocialClubName,
Password = NAPI.Util.GetHashSha256(password)
};
registerUser.Users.Add(user);
registerUser.SaveChanges();
var userBankAccount = new Entities.UserBankAccount
{
UserId = user.Id,
Balance = 5000,
Active = true
};
registerUser.UserBankAccounts.Add(userBankAccount);
registerUser.SaveChanges();
}
player.TriggerEvent("registerSuccess");
NAPI.Player.SpawnPlayer(player, Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING);
player.SetData("isLoggedIn", true);
player.TriggerEvent("draw", player.Name, player.Handle.Value);
}
else if (player.SocialClubName == checkedUser.SocialClubName)
{
player.TriggerEvent("registerFail", "Dieser SocialClubAccount ist schon registriert!");
}
else if (checkedUser.Name == player.Name)
{
player.TriggerEvent("registerFail", "Benutzername existiert schon!");
}
}
}
}
}