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); } }
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); } }