コード例 #1
0
        public async Task <SecurityToken> TokenGenerator(Profiliai user, JwtSecurityTokenHandler tokenHandler)
        {
            var databaseId = _context.Profiliai.Where(x => x.Pastas == user.Pastas).Single();

            var jwtSettings = new JwtSettings();
            var key         = Encoding.ASCII.GetBytes(jwtSettings.secretKey);
            var level       = await GetLevelAsync(user);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim("id", databaseId.Id.ToString()),
                    new Claim("name", user.Vardas),
                    new Claim("surname", user.Pavarde),
                    new Claim("username", user.Username),
                    new Claim("email", user.Pastas),
                    new Claim("level", level),
                    new Claim("phoneNumber", user.TelefonoNr),
                    new Claim("adresas", user.Adresas)
                }),
                SigningCredentials =
                    new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(token);
        }
コード例 #2
0
        public void RemoveWorker(int id)
        {
            Darbuotojai user      = _context.Darbuotojai.Where(x => x.IdDarbuotojai == id).FirstOrDefault();
            Profiliai   profiliai = _context.Darbuotojai.Where(x => x.IdDarbuotojai == id).Select(x => x.FkProfiliai).FirstOrDefault();

            _context.Darbuotojai.Remove(user);
            _context.Profiliai.Remove(profiliai);
            _context.SaveChanges();
        }
コード例 #3
0
        public void RemoveUser(int id)
        {
            Klientai  user      = _context.Klientai.Where(x => x.IdKlientai == id).FirstOrDefault();
            Profiliai profiliai = _context.Klientai.Where(x => x.IdKlientai == id).Select(x => x.FkProfiliai).FirstOrDefault();

            _context.Klientai.Remove(user);
            _context.Profiliai.Remove(profiliai);
            _context.SaveChanges();
        }
コード例 #4
0
        public Profiliai BuildLoginRequest(AuthLoginRequest request)
        {
            var profilis = new Profiliai
            {
                Password = request.Password,
                Pastas   = request.Pastas,
            };

            return(profilis);
        }
コード例 #5
0
        public Profiliai BuildRegisterUserRequest(AuthRegisterUserRequest request)
        {
            var profilis = new Profiliai
            {
                Adresas     = request.Adresas,
                AsmensKodas = request.AsmensKodas,
                Password    = request.Password,
                Pastas      = request.Pastas,
                Pavarde     = request.Pavarde,
                TelefonoNr  = request.TelefonoNr,
                Username    = request.Username,
                Vardas      = request.Vardas
            };

            return(profilis);
        }
コード例 #6
0
        public async Task <Profiliai> UpdateWorker(AuthRegisterWorkerRequest request, int id)
        {
            Profiliai user = await _context.Darbuotojai.Where(x => x.IdDarbuotojai == id).Include(x => x.FkProfiliai).Select(x => x.FkProfiliai).FirstOrDefaultAsync();

            if (request.Adresas != null)
            {
                user.Adresas = request.Adresas;
            }
            if (request.AsmensKodas != null)
            {
                user.AsmensKodas = request.AsmensKodas;
            }
            if (request.Pastas != null)
            {
                user.Pastas = request.Pastas;
            }
            if (request.Pavarde != null)
            {
                user.Pavarde = request.Pavarde;
            }
            if (request.TelefonoNr != null)
            {
                user.TelefonoNr = request.TelefonoNr;
            }
            if (request.Username != null)
            {
                user.Username = request.Username;
            }
            if (request.Vardas != null)
            {
                user.Vardas = request.Vardas;
            }
            if (request.Pozicija != null)
            {
                user.Darbuotojai.Pozicija = request.Pozicija;
            }
            if (request.IsAdmin != null)
            {
                user.Darbuotojai.IsAdmin = request.IsAdmin;
            }
            _context.Update(user);
            await _context.SaveChangesAsync();

            return(user);
        }
コード例 #7
0
        private async Task <string> GetLevelAsync(Profiliai user)
        {
            var    isWorker = _context.Darbuotojai.Any(darbuotojas => user.Id == darbuotojas.FkProfiliaiid);
            string level    = "1";

            if (isWorker)
            {
                var Worker = await _context.Darbuotojai.Where(darbuotojas => user.Id == darbuotojas.FkProfiliaiid).FirstAsync();

                if (Worker.IsAdmin == true)
                {
                    level = "3";
                }
                if (Worker.IsAdmin == false)
                {
                    level = "2";
                }
            }

            return(level);
        }
コード例 #8
0
        public async Task <Profiliai> UpdateUser(AuthRegisterUserRequest request, int id)
        {
            Profiliai user = await _context.Klientai.Where(x => x.IdKlientai == id).Select(x => x.FkProfiliai).FirstOrDefaultAsync();

            if (request.Adresas != null)
            {
                user.Adresas = request.Adresas;
            }
            if (request.AsmensKodas != null)
            {
                user.AsmensKodas = request.AsmensKodas;
            }
            if (request.Pastas != null)
            {
                user.Pastas = request.Pastas;
            }
            if (request.Pavarde != null)
            {
                user.Pavarde = request.Pavarde;
            }
            if (request.TelefonoNr != null)
            {
                user.TelefonoNr = request.TelefonoNr;
            }
            if (request.Username != null)
            {
                user.Username = request.Username;
            }
            if (request.Vardas != null)
            {
                user.Vardas = request.Vardas;
            }
            _context.Update(user);
            await _context.SaveChangesAsync();

            return(user);
        }