This commit is contained in:
mmrbnjd
2024-04-17 17:34:34 +03:30
parent 3f0a37a08b
commit 3f3c283fef
5 changed files with 115 additions and 78 deletions

View File

@@ -59,69 +59,76 @@ namespace Back.Services
ret.Token =await CerateToken(user.ID, user.Username);
ret.FullName = user.Fullname;
ret.Photo = user.Photo==null ? null : Convert.ToBase64String(user.Photo);
foreach (var rol in user.RolUsers)
//foreach (var rol in user.RolUsers)
//{
// if (!rol.Company.IsActive)
// continue;
// List<PermissionAuthenticationDTO> permissions = new List<PermissionAuthenticationDTO>();
// foreach (var per in rol.Company.PermissionPeriods)
// {
// bool _accessibility = await _checkPermission.AllowPermission(user.ID, rol.CompanyID, per.Permission.ID);
// #region Child
// List<Permission> Chidpermissions = _accessibility ? await _servPermission.GetChildPermission(per.Permission.ID):new List<Permission>();
// List<PermissionAuthenticationDTO> ChildpermissionAuthenticationDTOs = new List<PermissionAuthenticationDTO>();
// foreach (Permission childper in Chidpermissions)
// {
// bool _childaccessibility = await _checkPermission.AllowPermission(user.ID, rol.CompanyID, childper.ID);
// PermissionAuthenticationDTO ChildpermissionAuthenticationDTO = new PermissionAuthenticationDTO
// {
// ID = childper.ID,
// ParentID = childper.ParentID,
// Title = childper.Title,
// accessibility = _childaccessibility,
// //TODO
// ChildPermissions = null
// };
// ChildpermissionAuthenticationDTOs.Add(ChildpermissionAuthenticationDTO);
// }
// #endregion
// PermissionAuthenticationDTO permissionAuthenticationDTO = new PermissionAuthenticationDTO
// {
// ID = per.Permission.ID,
// ParentID = per.Permission.ParentID,
// Title = per.Permission.Title,
// accessibility = _accessibility,
// //TODO
// ChildPermissions = ChildpermissionAuthenticationDTOs
// //Period=new PeriodDTO()
// //{
// // CalculationTypeID = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.CalculationType.ID).FirstOrDefault(),
// // CalculationTypeTitle = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.CalculationType.Title).FirstOrDefault(),
// // RemainingAmount = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.RemainingAmount).FirstOrDefault(),
// // TotalAmount = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.TotalAmount).FirstOrDefault()
// //}
// };
// permissions.Add(permissionAuthenticationDTO);
// }
// ret.Companies.Add(new CompanyAuthenticationDTO
// {
// ID = rol.CompanyID,
// Name = rol.Company.Name,
// IsAdmin = rol.IsAdmin,
// Logo= rol.Company.Logo == null ? null : Convert.ToBase64String(rol.Company.Logo)
// /*, permissions = permissions*/
// });
//}
ret.Company = new CompanyAuthenticationDTO
{
if (!rol.Company.IsActive)
continue;
ID = user.RolUsers.First().ID,
Name = user.RolUsers.First().Company.Name,
IsAdmin = user.RolUsers.First().IsAdmin,
Logo = user.RolUsers.First().Company.Logo == null ? null : Convert.ToBase64String(user.RolUsers.First().Company.Logo)
List<PermissionAuthenticationDTO> permissions = new List<PermissionAuthenticationDTO>();
foreach (var per in rol.Company.PermissionPeriods)
{
bool _accessibility = await _checkPermission.AllowPermission(user.ID, rol.CompanyID, per.Permission.ID);
#region Child
List<Permission> Chidpermissions = _accessibility ? await _servPermission.GetChildPermission(per.Permission.ID):new List<Permission>();
List<PermissionAuthenticationDTO> ChildpermissionAuthenticationDTOs = new List<PermissionAuthenticationDTO>();
foreach (Permission childper in Chidpermissions)
{
bool _childaccessibility = await _checkPermission.AllowPermission(user.ID, rol.CompanyID, childper.ID);
PermissionAuthenticationDTO ChildpermissionAuthenticationDTO = new PermissionAuthenticationDTO
{
ID = childper.ID,
ParentID = childper.ParentID,
Title = childper.Title,
accessibility = _childaccessibility,
//TODO
ChildPermissions = null
};
ChildpermissionAuthenticationDTOs.Add(ChildpermissionAuthenticationDTO);
}
#endregion
PermissionAuthenticationDTO permissionAuthenticationDTO = new PermissionAuthenticationDTO
{
ID = per.Permission.ID,
ParentID = per.Permission.ParentID,
Title = per.Permission.Title,
accessibility = _accessibility,
//TODO
ChildPermissions = ChildpermissionAuthenticationDTOs
//Period=new PeriodDTO()
//{
// CalculationTypeID = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.CalculationType.ID).FirstOrDefault(),
// CalculationTypeTitle = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.CalculationType.Title).FirstOrDefault(),
// RemainingAmount = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.RemainingAmount).FirstOrDefault(),
// TotalAmount = rol.Company.PermissionPeriods.Where(w => w.PermissionID == per.ID).Select(s => s.TotalAmount).FirstOrDefault()
//}
};
permissions.Add(permissionAuthenticationDTO);
}
ret.Companies.Add(new CompanyAuthenticationDTO
{
ID = rol.CompanyID,
Name = rol.Company.Name,
IsAdmin = rol.IsAdmin,
Logo= rol.Company.Logo == null ? null : Convert.ToBase64String(rol.Company.Logo)
/*, permissions = permissions*/
});
}
};
return ret;
}
public async Task<User> AddUser(User item)