Ejemplo n.º 1
0
        public void Logout()
        {
            if (!IsLogin)
            {
                return;
            }

            _isLogin             = false;
            IsStuff              = false;
            IsStudent            = false;
            NeedEnterNewPassword = false;
            LastError            = string.Empty;
            KadrFullName         = string.Empty;
            KadrName             = string.Empty;

            _googleUser = null;

            _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, $"Выход из сайта для кода '{_kadrPK}'", $"{_kadrPK}", "");

            OnChange?.Invoke();
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 3
0
        public bool SetCurrentUser(GoogleUserLogin user)
        {
            _isLogin             = false;
            IsStuff              = false;
            IsStudent            = false;
            _kadrPK              = 0;
            KadrFullName         = "";
            KadrName             = "";
            KadrBirthday         = null;
            NeedEnterNewPassword = false;
            _googleUser          = null;
            //GoogleLoginError = "";
            OnChange?.Invoke();

            if (string.IsNullOrEmpty(user.Email))
            {
                return(false);
            }

            string errMsg = string.Empty;

            var kadr = _uow.repoKadr.GetByGoogleEmail(user.Email);

            if (kadr == null)
            {
                errMsg = $"Неудачная попытка входа с аккаунтом Google '{user.Email}'. Пользователь '{user.FirstName} {user.LastName}' не найден.";
                _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, errMsg, $"{user.Email}", $"{user.FirstName} {user.LastName}");
                Log.Error(errMsg);

                GoogleLoginError = $"Ваш EMail {user.Email} не розпізнано системою. Зверніться, будь ласка, до відділу розробки, до {MyConstants.ResponsiblePerson}";
                LastError        = GoogleLoginError;
                OnChange?.Invoke();
                return(false);
            }

            errMsg = $"Успешный вход с аккаунтом Google '{user.Email}', #{_kadrPK} {kadr.NameFull}";
            _uow.repoLog.AddLog(_kadrPK, "BlazorSite", 0, $"Успешный вход с аккаунтом Google '{user.Email}', код '{_kadrPK}'", $"{_kadrPK}", $"{user.Email}");
            Log.Information(errMsg);

            _isLogin         = true;
            _kadrPK          = kadr.PK;
            KadrFullName     = kadr.NameFull;
            KadrName         = $"{kadr.Name} {kadr.Otch}";
            KadrBirthday     = kadr.Birthday;
            _googleUser      = user;
            GoogleLoginError = "";

            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 = false;
            }

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