|
@ -1,4 +1,5 @@ |
|
|
using Biskilog_Accounting.Shared.ClientContractModels; |
|
|
using BCrypt.Net; |
|
|
|
|
|
using Biskilog_Accounting.Shared.ClientContractModels; |
|
|
using Biskilog_Accounting.Shared.Enums; |
|
|
using Biskilog_Accounting.Shared.Enums; |
|
|
using Biskilog_Accounting.Shared.Interfaces; |
|
|
using Biskilog_Accounting.Shared.Interfaces; |
|
|
using Microsoft.EntityFrameworkCore; |
|
|
using Microsoft.EntityFrameworkCore; |
|
@ -55,7 +56,7 @@ namespace Biskilog_Accounting.Server.Services |
|
|
|
|
|
|
|
|
List<int> businessIds = GetSiteaccesspermission(user.ClientId, user.UserId).Select(t => t.BusinessId).ToList(); |
|
|
List<int> businessIds = GetSiteaccesspermission(user.ClientId, user.UserId).Select(t => t.BusinessId).ToList(); |
|
|
Contract? contract = GetContract(user.ClientId, businessIds); |
|
|
Contract? contract = GetContract(user.ClientId, businessIds); |
|
|
List<string> businesses = GetClientbusiness(user.ClientId, user.UserId).Select(t=>t.BusinessExternalId).ToList(); |
|
|
List<string> businesses = GetClientbusiness(user.ClientId, user.UserId).Select(t => t.BusinessExternalId).ToList(); |
|
|
|
|
|
|
|
|
if (contract == null) |
|
|
if (contract == null) |
|
|
return AuthEnums.Invalid.ToString(); |
|
|
return AuthEnums.Invalid.ToString(); |
|
@ -98,9 +99,9 @@ namespace Biskilog_Accounting.Server.Services |
|
|
public List<Clientbusiness> GetClientbusiness(int a_clientId, int userId) |
|
|
public List<Clientbusiness> GetClientbusiness(int a_clientId, int userId) |
|
|
{ |
|
|
{ |
|
|
return (from b in m_context.Clientbusinesses |
|
|
return (from b in m_context.Clientbusinesses |
|
|
join p in m_context.Siteaccesspermissions on new {b.ClientId, b.BusinessId} equals new {p.ClientId, p.BusinessId} |
|
|
join p in m_context.Siteaccesspermissions on new { b.ClientId, b.BusinessId } equals new { p.ClientId, p.BusinessId } |
|
|
where p.UserId == userId && p.ClientId == a_clientId |
|
|
where p.UserId == userId && p.ClientId == a_clientId |
|
|
select b).ToList(); |
|
|
select b).ToList(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Databasemap GetClientDB(int a_clientId) |
|
|
public Databasemap GetClientDB(int a_clientId) |
|
@ -118,28 +119,33 @@ namespace Biskilog_Accounting.Server.Services |
|
|
return m_context.Siteaccesspermissions.Where(t => t.ClientId == a_clientId && t.UserId == a_userId).ToList(); |
|
|
return m_context.Siteaccesspermissions.Where(t => t.ClientId == a_clientId && t.UserId == a_userId).ToList(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private async Task<Userauth> GetUserAsync(string username, string password) |
|
|
private async Task<Userauth?> GetUserAsync(string username, string password) |
|
|
{ |
|
|
{ |
|
|
//Todo have complete implementation after means of creating user is done
|
|
|
//Todo have complete implementation after means of creating user is done
|
|
|
//try
|
|
|
try |
|
|
//{
|
|
|
{ |
|
|
// string pa = await m_context.Userauths.Where(u => u.Username == username).Select(u => u.Password).FirstAsync();
|
|
|
string? pa = await m_context.Userauths.Where(u => u.Username == username || u.Email == username).Select(u => u.Passsword).FirstOrDefaultAsync(); |
|
|
// bool verified = BCrypt.Net.BCrypt.Verify(password, pa);
|
|
|
|
|
|
// if (verified)
|
|
|
if (String.IsNullOrEmpty(pa)) |
|
|
// {
|
|
|
{ |
|
|
|
|
|
return null; |
|
|
//TODO have a complete implementation
|
|
|
} |
|
|
return await m_context.Userauths.FirstAsync(u => u.Username == username && u.Passsword == password); |
|
|
bool verified = BCrypt.Net.BCrypt.Verify(password, pa); |
|
|
// }
|
|
|
if (verified) |
|
|
// else
|
|
|
{ |
|
|
// {
|
|
|
|
|
|
// return null;
|
|
|
return await m_context.Userauths.FirstAsync(u => u.Username == username || u.Email == username); |
|
|
// }
|
|
|
} |
|
|
//}catch(Exception ex)
|
|
|
else |
|
|
//{
|
|
|
{ |
|
|
// //possible is user not found
|
|
|
return null; |
|
|
// return null;
|
|
|
} |
|
|
//}
|
|
|
} |
|
|
|
|
|
catch (Exception ex) |
|
|
|
|
|
{ |
|
|
|
|
|
//possible is user not found
|
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|