예제 #1
0
        public IDtoOutObjects Login(string loginName, string password, string deviceName)
        {
            Credential credential = _credentialRepository.FindBy(x => x.LoginName == loginName && x.IsDeleted == false && x.ObjectUser.IsDeleted == false).FirstOrDefault();

            if (credential != null && credential.Password == password)
            {
                Token       t           = TokenTools.CreateToken(credential.ObjectUser, deviceName);
                var         config      = new MapperConfiguration(cfg => { cfg.CreateMap <Token, DtoOutToken>(); });
                IMapper     mapper      = config.CreateMapper();
                DtoOutToken dtoOutToken = new DtoOutToken();
                mapper.Map(t, dtoOutToken);
                dtoOutToken.IdUser = TokenTools.getUserFromToken(dtoOutToken.TokenString).Id;
                return(dtoOutToken);
            }
            else
            {
                DtoOutError error = new DtoOutError();
                error.Exception = new CredentialAreNotValidException();
                error.Message   = "Credentials are not assign to account";
                return(error);
            }
        }
예제 #2
0
        public IDtoOutObjects ChangePassword(DtoInChangePassword dtoInChangePassword)
        {
            DtoOutError error = new DtoOutError();

            if (TokenTools.Authentication(dtoInChangePassword.Token, dtoInChangePassword.DeviceName))
            {
                User       user       = TokenTools.getUserFromToken(dtoInChangePassword.Token);
                Credential credential = _credentialsRepository.FindBy(x => x.IdUser == user.Id && x.IsDeleted == false && x.ObjectUser.IsDeleted == false).FirstOrDefault(); // toto zanmená že každý user může mít jen jedny credentials
                credential.Password = dtoInChangePassword.Password;
                _credentialsRepository.Edit(credential);
                _credentialsRepository.Save();
                DtoOutComplete dtoOutComplete = new DtoOutComplete();
                dtoOutComplete.Completed = true;
                return(dtoOutComplete);
            }
            else
            {
                NotAuthenticatedException ex = new NotAuthenticatedException();
                error.Exception = ex;
                return(error);
            }
        }