upgrade to v8 remove automap too.

This commit is contained in:
Kham
2025-11-10 11:32:00 +11:00
parent d6bf268167
commit e318260acd
7 changed files with 116 additions and 370 deletions
+83 -57
View File
@@ -112,22 +112,70 @@ namespace CarParkValidationAPI.Repository
{
User myUser = null;
AuthenticateResponse retval = null;
string error = "user name is not in DB or user Name profile is not generic";
int statuscode = 0;
ADConfig adConfig = new ADConfig()
string webAPIUrl = _appSettings.LoginWebAPI;
//KCO, D204KCO
//now check the adminuser table
//ward clerk
try
{
LDAPPassword = _appSettings.LDAPPassword,
LDAPPath = _appSettings.LDAPPath,
LDAPUser = _appSettings.LDAPUser,
ADTimeOutStr = _appSettings.ADTimeOut
};
myUser = await Task.Run(() => LoginADStaff(adConfig,model.Username, model.Password));
if (!string.IsNullOrEmpty(myUser.Username))
{
statuscode = 1;
// authentication successful so generate jwt token
var jwtToken = _jwtUtils.GenerateJwtToken(myUser);
retval = new AuthenticateResponse(myUser, jwtToken);
var loginInfo = await CommonAD.WebAPIUtil.PostLoginADAsync(webAPIUrl, "CheckCredentials", model.Username, model.Password);
if (loginInfo != null && loginInfo.result)
{
myUser = new User();
myUser.Email = loginInfo.email;
myUser.FirstName = loginInfo.firstName;
myUser.LastName = loginInfo.lastName;
myUser.Username = loginInfo.stafflinkNo;
//myUser.Department = loginInfo.department;
//myUser.Position = loginInfo.jobTitle;
//myUser.ManagerEmail = loginInfo.managerEmail;
//myUser.Phone = loginInfo.phone;
//now check the adminuser table
var user = _context.AdminUsers.
SingleOrDefault(x => x.StafflinkNo == model.Username
&& true == x.Active);
if (user != null)
{
// myUser.Role = user.RoleType;
myUser.Id = user.UserID;
myUser.Role = user.RoleType;
//myUser.ValidationPointId = user.ValidationPointID ?? 0;
statuscode = 1;
}
else // allow
{
statuscode = 1;
myUser.Role = AdminRole.Normal;
myUser.Id = -1;
//error = "user name does not exist in adminUser";
}
// validate
// if (user == null || !BCryptNet.Verify(model.Password, user.PasswordHash))
// authentication successful so generate jwt token
if (statuscode == 1)
{
var jwtToken = _jwtUtils.GenerateJwtToken(myUser);
retval = new AuthenticateResponse(myUser, jwtToken);
error = "";
}
}
else
{
error = "user name or password is not correct";
}
}
catch (Exception ex)
{
retval = null;
error = ex.ToString();
statuscode = 0;
throw ex;
}
return new ResultModel<AuthenticateResponse>()
{
@@ -185,58 +233,36 @@ namespace CarParkValidationAPI.Repository
public async Task<ResultModel<User>> SearchADStaff(string staffLinkNo)
{
int statuscode = 0;
ADConfig adConfig = new ADConfig()
User myUser = null;
AuthenticateResponse retval = null;
string webAPIUrl = _appSettings.LoginWebAPI;
var loginInfo = await CommonAD.WebAPIUtil.SearchStaffAsync(webAPIUrl, "SearchStaff", staffLinkNo);
if (!string.IsNullOrEmpty(loginInfo.firstName))
{
LDAPPassword = _appSettings.LDAPPassword,
LDAPPath = _appSettings.LDAPPath,
LDAPUser = _appSettings.LDAPUser,
ADTimeOutStr = _appSettings.ADTimeOut
};
User myUser = await Task.Run(() => SearchADStaff(adConfig, staffLinkNo));
if (!string.IsNullOrEmpty(myUser.Username))
myUser = new();
myUser.FirstName = loginInfo.firstName;
myUser.LastName = loginInfo.lastName;
myUser.Username = staffLinkNo;
myUser.Email = loginInfo.email;
/*
myUser.Department = loginInfo.department;
myUser.Position = loginInfo.jobTitle;
myUser.Phone = loginInfo.phone;
myUser.ManagerEmail = loginInfo.managerEmail;
*/
statuscode = 1;
}
return new ResultModel<User>()
{
Data = myUser,
StatusCode = statuscode
};
}
private User SearchADStaff(ADConfig adConfig, string username)
{
ADStaffLink staffLink = new ADStaffLink(adConfig);
MyADObject myADObj = staffLink.SearchStaff(username);
User user = new()
{
Username = myADObj.stafflinkNo,
Email = myADObj.email,
FirstName = myADObj.firstName,
LastName = myADObj.lastName
};
// myADObj.JobTitle;
return user;
// return null;
}
private User LoginADStaff(ADConfig adConfig, string username, string password)
{
ADStaffLink staffLink = new ADStaffLink(adConfig);
MyADObject myADObj = staffLink.CheckADCredentials(username,password);
User user = new()
{
Username = myADObj.stafflinkNo,
Email = myADObj.email,
FirstName = myADObj.firstName,
LastName = myADObj.lastName
};
// myADObj.JobTitle;
return user;
// return null;
}
private string GetVPDesc(int? idn)
{
string result = "";