public LoginMessageOutputDTO CheckLoginCredential(LoginMessageInputDTO loginMessageInput)
        {
            var person = _personRepository.GetWithUsernameAndPassword(loginMessageInput.Username,
                                                                      loginMessageInput.Password);

            if (person == null)
            {
                return(new LoginMessageOutputDTO(false,
                                                 new PersonCredentialDTO(L("Wrong_UsernameOrPassword"), "", null)));
            }

            //If username and password are correct -> get user information

            #region Check the author token of user. If user already have token -> update token, else -> create a new token for this user

            PersonCredentialDTO personCredentialDto = new PersonCredentialDTO();
            UserTokenDTO        userTokenDto        = _tokenAppService.CheckUserTokenByUsername(loginMessageInput.Username);
            personCredentialDto.Name      = person.Name;
            personCredentialDto.AuthToken = userTokenDto.AuthToken;


            #endregion

            #region Get list activities that user have permission to act with system

            if (person.RoleId.HasValue)
            {
                personCredentialDto.Activities = new List <string>();

                foreach (var roleDistribution in person.Role.RoleDistributions)
                {
                    personCredentialDto.Activities.Add(roleDistribution.Activity.ActivityName);
                }
            }


            #endregion

            return(new LoginMessageOutputDTO(true, personCredentialDto));
        }
Beispiel #2
0
 public LoginMessageOutputDTO(bool status, PersonCredentialDTO userData)
 {
     Status   = status;
     UserData = userData;
 }