//===================================================================================== public EmployeeLoggedInDTO LogOut() { this._inloggedEmployee = null; return(null); }
//===================================================================================== public EmployeeLoggedInDTO LogIn(string aUsername, string aPassword) { //EmployeeLoggedInDTO terug = null; Console.WriteLine(aUsername + " " + aPassword); EmpAppAccount gevonden = null; using (KfsContext ctx = new KfsContext(_constring)) { gevonden = ctx.Set <EmpAppAccount>() .Include(nameof(EmpAppAccount.Employee)) .FirstOrDefault(u => u.UserName == aUsername && u.Employee.IsActive); } if (gevonden != null) { Console.WriteLine("gebruiker gevonden"); //kijken of pw overeen komt, zoniet null returnen string decryptydPw = encrypter.DecriptString(gevonden.Password, aUsername); if (decryptydPw != aPassword) { _inloggedEmployee = null; return(null); } //permissies inladen //------------------ // de lsb is is de meest rechtse bit // de hsb is de meest linkse bit, maar deze gaat maar tot 63, van een UInt64 maakt // EF6 geen tabel, de msb kon ook niet geset worden, daarom hebben we nu maar 63 // mogelijkheden ipv 64 :-( List <int> tmpPersmisses = new List <int>(); for (int i = 0; i < 64; i++) { if (((gevonden.AppPermissions >> i) & 1) != 0) { tmpPersmisses.Add(i + 1); } } List <EmployeeLoggedInDTO.Permissions> tmptest = new List <EmployeeLoggedInDTO.Permissions>(); for (int i = 0; i < 64; i++) { if (((gevonden.AppPermissions >> i) & 1) != 0) { Console.WriteLine(i + 1); if (Enum.IsDefined(typeof(EmployeeLoggedInDTO.Permissions), (i + 1))) { //tmptest.Add(i + 1); tmptest.Add((EmployeeLoggedInDTO.Permissions)Enum.ToObject(typeof(EmployeeLoggedInDTO.Permissions), i + 1)); } } } foreach (var item in tmptest) { Console.WriteLine(item); } //bool IsBitSet(byte b, int pos) //{ // return ((b >> pos) & 1) != 0; //} foreach (var item in tmpPersmisses) { Console.Write(item + ", "); } Console.WriteLine("========================" + tmpPersmisses.Count + "======" + gevonden.AppPermissions); _inloggedEmployee = new EmployeeLoggedInDTO() { AppPermissions = tmptest, FirstName = gevonden.Employee.FirstName, NameAddition = gevonden.Employee.NameAddition, LastName = gevonden.Employee.LastName, Id = gevonden.Employee.Id, UserName = gevonden.UserName, }; } else { _inloggedEmployee = null; } return(_inloggedEmployee); }