Compare commits

...

2 Commits

2 changed files with 8 additions and 10 deletions

View File

@ -1,15 +1,10 @@
using System; namespace Marco.Pms.Model.ViewModels.Employee
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Marco.Pms.Model.ViewModels.Employee
{ {
public class EmployeeProfile public class EmployeeProfile
{ {
public EmployeeVM EmployeeInfo { get; set; } public EmployeeVM EmployeeInfo { get; set; }
public string[] Projects { get; set; } public string[] Projects { get; set; }
public string[] FeaturePermissions { get; set; } public string[] FeaturePermissions { get; set; }
public string[] Features { get; set; }
} }
} }

View File

@ -43,7 +43,8 @@ namespace MarcoBMS.Services.Controllers
List<FeaturePermission> featurePermission = await _rolesHelper.GetFeaturePermissionByEmployeeID(emp.Id); List<FeaturePermission> featurePermission = await _rolesHelper.GetFeaturePermissionByEmployeeID(emp.Id);
string[] projectsId = []; string[] projectsId = [];
if (featurePermission != null && featurePermission.Exists(c => c.FeatureId.ToString() == "53176ebf-c75d-42e5-839f-4508ffac3def")) { /* User with permission manage project can see all projects */
if (featurePermission != null && featurePermission.Exists(c => c.Id.ToString() == "172fc9b6-755b-4f62-ab26-55c34a330614")) {
List<Project> projects = await _projectsHelper.GetAllProjectByTanentID(emp.TenantId); List<Project> projects = await _projectsHelper.GetAllProjectByTanentID(emp.TenantId);
projectsId = projects.Select(c=>c.Id.ToString()).ToArray(); projectsId = projects.Select(c=>c.Id.ToString()).ToArray();
} }
@ -59,9 +60,11 @@ namespace MarcoBMS.Services.Controllers
{ {
EmployeeInfo = employeeVM, EmployeeInfo = employeeVM,
Projects = projectsId, Projects = projectsId,
FeaturePermissions = featurePermission.Select(c => c.FeatureId.ToString()).ToArray(), FeaturePermissions = featurePermission.Select(c => c.Id.ToString()).Distinct().ToArray(),
Features = featurePermission.Select(c => c.FeatureId.ToString()).Distinct().ToArray(),
}; };
return Ok(profile); return Ok(profile);
} }
} }