Files
reallife-gamemode/Server/Events/Login.cs
2018-09-20 18:54:30 +02:00

61 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
/**
* @overview Life of German Reallife - Event Login (Login.cs)
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/
namespace reallife_gamemode.Server.Events
{
public class Login : Script
{
[RemoteEvent("OnPlayerLogin")]
public void OnPlayerLogin(Client player, string password)
{
string checkPassword = null;
using (var loginContext = new Model.DatabaseContext())
{
var user = loginContext.Users.SingleOrDefault(b => b.Name == player.Name);
if(user.Password == null)
{
player.TriggerEvent("loginFail", "Benutzer existiert nicht! Registriere dich zuerst!");
}
else
{
checkPassword = user.Password;
}
}
if(checkPassword == NAPI.Util.GetHashSha256(password))
{
player.TriggerEvent("loginSuccess");
}
else
{
player.TriggerEvent("loginFail","Passwort inkorrekt!");
}
}
[Command("login")]
public void CmdLogin(Client player)
{
player.TriggerEvent("showLogin",player);
}
[RemoteEvent("OnPlayerRegister")]
public void OnPlayerRegister(Client player, string password)
{
using (var registerContext = new Model.DatabaseContext())
{
var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) };
registerContext.Users.Add(user);
registerContext.SaveChanges();
}
player.TriggerEvent("registerSuccess");
}
}
}