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); }
public bool SetKlient(Klient input, int[] classes) { if (this.konto == null) { return(false); } DBKlient newKli = new DBKlient() { Imie = input.Imie, Class_Imie = classes[0], Nazwisko = input.Nazwisko, Class_Nazwisko = classes[1], Adres = input.Adres, Class_Adres = classes[2], ID_Konto = input.ID_Konto, Class = classes[3] }; if (Locker <DBKlient> .Lock(newKli, LockWriteKlient)) { ctx.Klient.Add(newKli); ctx.SaveChanges(); return(true); } return(false); }
private Klient RestrictReadKlient(DBKlient client) { int?clear = this.konto.Clear; var resultClient = new Klient(); if (IsRead(client.Class, clear)) { resultClient.ID = client.ID; resultClient.Imie = IsRead(client.Class_Imie, clear) ? client.Imie : null; resultClient.Nazwisko = IsRead(client.Class_Nazwisko, clear) ? client.Nazwisko : null; resultClient.Adres = IsRead(client.Class_Adres, clear) ? client.Adres : null; resultClient.ID_Konto = client.ID_Konto; return(resultClient); } return(null); }
private bool LockWriteKlient(DBKlient input) { int?clear = this.konto.Clear; if (IsWrite(input.Class, clear)) { if (!IsWrite(input.Class_Adres, clear)) { return(false); } if (!IsWrite(input.Class_Imie, clear)) { return(false); } if (!IsWrite(input.Class_Nazwisko, 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); }