public bool Register(string username, string password, int clear) { string hash = password + "a6s8d"; var konto = new DBKonto() { Login = username, Haslo = md5Hash.GetMD5Hash(hash), Salt = "a6s8d", Clear = clear, Class_Haslo = 1, Class = 1, Class_Login = 1, Class_salt = 1 }; ctx.Konto.Add(konto); ctx.SaveChanges(); int?id = ctx.Konto.Where(c => c.Login.Equals(username)).First().ID; var kl = new DBKlient() { Imie = username, Nazwisko = username, Adres = username + " 11", Class_Adres = 1, Class_Imie = 1, Class_Nazwisko = 1, Class = 1, ID_Konto = id }; ctx.Klient.Add(kl); DBPracownik p; if (clear > 1) { p = new DBPracownik() { Imie = username, Nazwisko = username, Class_Imie = 1, Class_Nazwisko = 1, Class = 1, ID_Konto = id, Data_zaczecia = DateTime.Now, Class_Data_zaczecia = 1, Stanowisko = "Test", Class_Stanowisko = 1 }; ctx.Pracownik.Add(p); } ctx.SaveChanges(); return(true); }
private Konto RestrictReadKonto(DBKonto account) { int?clear = this.konto.Clear; var resultKonto = new Konto(); if (IsRead(account.Class, clear)) { resultKonto.ID = account.ID; resultKonto.Login = IsRead(account.Class_Login, clear) ? account.Login : null; resultKonto.Clear = account.Clear; return(resultKonto); } return(null); }
public void LoginTest() { //Arrange string login = "******"; string haslo = "1234"; string salt = "salt"; var konto1 = new DBKonto() { Login = "******", Haslo = "12345", Salt = "salt" }; var konto2 = new DBKonto() { Login = login, Haslo = haslo, Salt = salt }; var kontos = new List <DBKonto>() { konto1, konto2 }; var kontoMock = MockDbSet <DBKonto>(kontos); var ctxMock = new Mock <DataBaseModel>(); ctxMock.Setup(m => m.Konto).Returns(kontoMock.Object); var md5Mock = new Mock <MD5Hash>(); md5Mock.Setup(m => m.VerifyMd5Hash(It.IsAny <String>(), It.IsAny <String>(), It.IsAny <String>())).Returns(false); md5Mock.Setup(m => m.VerifyMd5Hash(It.IsAny <String>(), It.IsAny <String>(), haslo)).Returns(true); var accesService = new AccessService(ctxMock.Object, md5Mock.Object); //Act bool success = accesService.Login(login, haslo); bool fail = accesService.Login("Adam3", "12345"); bool fail2 = accesService.Login("Adam", "123456"); //Assert Assert.IsTrue(success); Assert.IsFalse(fail); Assert.IsFalse(fail2); }
public bool SetKonto(Konto input, int[] classes, string pass) { if (this.konto == null) { return(false); } string hash = pass + "a6s8d"; DBKonto newKon = new DBKonto() { Login = input.Login, Haslo = md5Hash.GetMD5Hash(hash), Salt = "a6s8d", Clear = input.Clear, Class_Haslo = classes[1], Class = classes[3], Class_Login = classes[0], Class_salt = classes[2] }; if (Locker <DBKonto> .Lock(newKon, LockWriteKonta)) { ctx.Konto.Add(newKon); ctx.SaveChanges(); return(true); } return(false); }
public bool Login(string username, string password) { if (String.IsNullOrEmpty(username) || String.IsNullOrEmpty(password)) { return(false); } //this.konto = (from ctxKonto in ctx.Konto // where ctxKonto.Login.Equals(username) // && md5Hash.VerifyMd5Hash(password, ctxKonto.Salt, ctxKonto.Haslo) // select (ctxKonto)).FirstOrDefault(); foreach (var ctxKonto in ctx.Konto) { if (ctxKonto.Login.Equals(username) && md5Hash.VerifyMd5Hash(password, ctxKonto.Salt, ctxKonto.Haslo)) { this.konto = ctxKonto; } } return(this.konto != null); }
private bool LockWriteKonta(DBKonto input) { int?clear = this.konto.Clear; if (IsWrite(input.Class, clear)) { if (!IsWrite(input.Class_Haslo, clear)) { return(false); } if (!IsWrite(input.Class_Login, clear)) { return(false); } if (!IsWrite(input.Class_salt, clear)) { return(false); } return(true); } return(false); }
public void GetKlientyTest() { //Arrange string login = "******"; string haslo = "1234"; string salt = "salt"; int clear = 4; var konto1 = new DBKonto() { Login = "******", Haslo = "12345", Salt = "salt" }; var konto2 = new DBKonto() { Login = login, Haslo = haslo, Salt = salt, Clear = clear }; var kontos = new List <DBKonto>() { konto1, konto2 }; var kontoMock = MockDbSet <DBKonto>(kontos); var klient1 = new DBKlient() { Imie = "Adam", Nazwisko = "NazwAdam", Adres = "AdresAdam" }; var klient2 = new DBKlient() { Imie = "Adam", Nazwisko = "NazwAdam", Adres = "AdresAdam", Class = clear + 1 }; var klientos = new List <DBKlient>() { klient1, klient2 }; var klientMock = MockDbSet <DBKlient>(klientos); var ctxMock = new Mock <DataBaseModel>(); ctxMock.Setup(m => m.Konto).Returns(kontoMock.Object); ctxMock.Setup(m => m.Klient).Returns(klientMock.Object); var md5Mock = new Mock <MD5Hash>(); md5Mock.Setup(m => m.VerifyMd5Hash(It.IsAny <String>(), It.IsAny <String>(), It.IsAny <String>())).Returns(false); md5Mock.Setup(m => m.VerifyMd5Hash(It.IsAny <String>(), It.IsAny <String>(), haslo)).Returns(true); var accesService = new AccessService(ctxMock.Object, md5Mock.Object); accesService.Login(login, haslo); //Act List <Klient> result = accesService.GetKlienty(); //Assert Assert.AreEqual(1, result.Count); Assert.AreEqual("Adam", result[0].Imie); Assert.AreEqual("NazwAdam", result[0].Nazwisko); Assert.AreEqual("AdresAdam", result[0].Adres); }