Example #1
0
        public LoginResult LoginUser(string login, string psw)
        {
            if (string.IsNullOrEmpty(login))
            {
                return(new LoginResult(false, "Empty login"));
            }

            if (string.IsNullOrEmpty(psw))
            {
                return(new LoginResult(false, "Empty password"));
            }

            string errMsg = string.Empty;

            if (!long.TryParse(login, out var kadrId))
            {
                errMsg = $"Попытка входа с некорректным логином '{login}'";
                _uow.repoLog.AddLog(kadrId, "BlazorSite", 0, errMsg, "", "");
                Log.Error(errMsg);

                return(new LoginResult(false, "Код ПДАА повинен бути числом!"));
            }

            var kadr = _uow.repoKadr.Get(kadrId);

            if (kadr == null)
            {
                errMsg = $"Попытка входа с кодом '{kadrId}'. Код не найден.";
                _uow.repoLog.AddLog(kadrId, "BlazorSite", 0, errMsg, $"{kadrId}", psw);
                Log.Error(errMsg);

                return(new LoginResult(false, "Особу не знайдено!"));
            }

            MD5 md5Hash = MD5.Create();

            if (((ServiceCommon.VerifyMd5Hash(md5Hash, psw, kadr.Psw_md5)) && (psw != "")))
            {
                errMsg = $"Успешный вход #{kadrId} {kadr.NameFull}";
                _uow.repoLog.AddLog(kadrId, "BlazorSite", 0, $"Успешный вход с кодом '{kadrId}'", $"{kadrId}", "");
                Log.Information(errMsg);

                var loginResult = new LoginResult(true, "");
                loginResult.KadrFullName = kadr.NameFull;
                return(loginResult);
            }

            errMsg = $"Неправильный пароль для кода '{kadrId}'";
            _uow.repoLog.AddLog(kadrId, "BlazorSite", 0, errMsg, $"{kadrId}", psw);
            Log.Error(errMsg);
            return(new LoginResult(false, "Невірний код або пароль!"));
        }
Example #2
0
        public bool SetCurrentUser(string login, string psw)
        {
            _isLogin             = false;
            IsStuff              = false;
            IsStudent            = false;
            _kadrPK              = 0;
            KadrFullName         = "";
            KadrName             = "";
            KadrBirthday         = null;
            NeedEnterNewPassword = false;
            _googleUser          = null;
            OnChange?.Invoke();

            if (string.IsNullOrEmpty(login))
            {
                return(false);
            }

            if (string.IsNullOrEmpty(psw))
            {
                return(false);
            }

            string errMsg = string.Empty;

            if (!long.TryParse(login, out _kadrPK))
            {
                errMsg = $"Попытка входа с некорректным логином '{login}'";
                _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, errMsg, "", "");
                Log.Error(errMsg);

                LastError = "Код ПДАА повинен бути числом!";
                return(false);
            }

            var kadr = _uow.repoKadr.Get(_kadrPK);

            if (kadr == null)
            {
                errMsg = $"Попытка входа с кодом '{_kadrPK}'. Код не найден.";
                _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, errMsg, $"{_kadrPK}", psw);
                Log.Error(errMsg);

                _kadrPK   = 0;
                LastError = "Особу не знайдено!";
                return(false);
            }

            MD5 md5Hash = MD5.Create();

            if (((ServiceCommon.VerifyMd5Hash(md5Hash, psw, kadr.Psw_md5)) && (psw != "")))
            {
                errMsg = $"Успешный вход #{_kadrPK} {kadr.NameFull}";
                _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, $"Успешный вход с кодом '{_kadrPK}'", $"{_kadrPK}", "");
                Log.Information(errMsg);

                _isLogin     = true;
                KadrFullName = kadr.NameFull;
                KadrName     = $"{kadr.Name} {kadr.Otch}";
                KadrBirthday = kadr.Birthday;

                var kadrMovingList = GetUserMoving();
                if (kadrMovingList != null)
                {
                    var allMovingsIsStudent = kadrMovingList.Any() && kadrMovingList.All(x => x.PosadaFK == 3);
                    IsStuff   = !allMovingsIsStudent;
                    IsStudent = kadrMovingList.Any(x => x.PosadaFK == 3);

                    NeedEnterNewPassword = NeedChangeDefaultStudentPassword(psw);
                }

                OnChange?.Invoke();
                return(true);
            }

            errMsg = $"Неправильный пароль для кода '{_kadrPK}'";
            _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, errMsg, $"{_kadrPK}", psw);
            Log.Error(errMsg);
            LastError = "Невірний код або пароль!";
            return(false);
        }