Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }