Changed file structure in model project
This commit is contained in:
parent
2b7a7190c7
commit
0c49d8d05c
@ -1,7 +1,7 @@
|
|||||||
using Marco.Pms.DataAccess.Data;
|
using Marco.Pms.DataAccess.Data;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
using Marco.Pms.Model.ViewModels;
|
using Marco.Pms.Model.ViewModels.Projects;
|
||||||
using Marco.Pms.Utility;
|
using Marco.Pms.Utility;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Dtos.Forum
|
namespace Marco.Pms.Model.Dtos.Master
|
||||||
{
|
{
|
||||||
public class TicketPriorityMasterDto
|
public class TicketPriorityMasterDto
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Dtos.Forum
|
namespace Marco.Pms.Model.Dtos.Master
|
||||||
{
|
{
|
||||||
public class TicketStatusMasterDto
|
public class TicketStatusMasterDto
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Dtos.Forum
|
namespace Marco.Pms.Model.Dtos.Master
|
||||||
{
|
{
|
||||||
public class TicketTagMasterDto
|
public class TicketTagMasterDto
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Dtos.Forum
|
namespace Marco.Pms.Model.Dtos.Master
|
||||||
{
|
{
|
||||||
public class TicketTypeMasterDto
|
public class TicketTypeMasterDto
|
||||||
{
|
{
|
@ -1,5 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
|
using Marco.Pms.Model.Roles;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Roles;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Employees
|
||||||
{
|
{
|
||||||
public class EmployeeRoleMapping : TenantRelation
|
public class EmployeeRoleMapping : TenantRelation
|
||||||
{
|
{
|
@ -1,5 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Marco.Pms.Model.Industries;
|
using Marco.Pms.Model.Master;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Entitlements
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Entitlements
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
namespace Marco.Pms.Model.Forum
|
using Marco.Pms.Model.Master;
|
||||||
|
|
||||||
|
namespace Marco.Pms.Model.Forum
|
||||||
{
|
{
|
||||||
public class TicketTag
|
public class TicketTag
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Marco.Pms.Model.Activities;
|
using Marco.Pms.Model.Activities;
|
||||||
using Marco.Pms.Model.Dtos.Activities;
|
using Marco.Pms.Model.Dtos.Activities;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.ViewModels.Activities;
|
using Marco.Pms.Model.ViewModels.Activities;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Mapper
|
namespace Marco.Pms.Model.Mapper
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Marco.Pms.Model.Dtos.Roles;
|
using Marco.Pms.Model.Dtos.Roles;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Roles;
|
||||||
using Marco.Pms.Model.ViewModels;
|
using Marco.Pms.Model.ViewModels;
|
||||||
|
using Marco.Pms.Model.ViewModels.Roles;
|
||||||
#nullable disable
|
#nullable disable
|
||||||
namespace Marco.Pms.Model.Mapper
|
namespace Marco.Pms.Model.Mapper
|
||||||
{
|
{
|
||||||
@ -12,7 +13,6 @@ namespace Marco.Pms.Model.Mapper
|
|||||||
{
|
{
|
||||||
Id = model.Id,
|
Id = model.Id,
|
||||||
Role = model.Role,
|
Role = model.Role,
|
||||||
IsSystem = model.IsSystem,
|
|
||||||
Description = model.Description,
|
Description = model.Description,
|
||||||
//FeaturePermission = model.FeaturePermissions
|
//FeaturePermission = model.FeaturePermissions
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Marco.Pms.Model.Dtos.Employees;
|
using Marco.Pms.Model.Dtos.Employees;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Employees;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Mapper
|
namespace Marco.Pms.Model.Mapper
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
using Marco.Pms.Model.ViewModels;
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Mapper
|
namespace Marco.Pms.Model.Mapper
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
using Marco.Pms.Model.DocumentManager;
|
using Marco.Pms.Model.DocumentManager;
|
||||||
using Marco.Pms.Model.Dtos.Forum;
|
using Marco.Pms.Model.Dtos.Forum;
|
||||||
|
using Marco.Pms.Model.Dtos.Master;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Forum;
|
using Marco.Pms.Model.Forum;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.ViewModels.Forum;
|
using Marco.Pms.Model.ViewModels.Forum;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Mapper
|
namespace Marco.Pms.Model.Mapper
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using Marco.Pms.Model.Dtos.Project;
|
using Marco.Pms.Model.Dtos.Project;
|
||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
using Marco.Pms.Model.ViewModels;
|
using Marco.Pms.Model.ViewModels.Projects;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Mapper
|
namespace Marco.Pms.Model.Mapper
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class ActivityMaster : TenantRelation
|
public class ActivityMaster : TenantRelation
|
||||||
{
|
{
|
@ -1,7 +1,8 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Marco.Pms.Model.Entitlements;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class Feature
|
public class Feature
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Industries
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class Industry
|
public class Industry
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class Module
|
public class Module
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class StatusMaster : TenantRelation
|
public class StatusMaster : TenantRelation
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Forum
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class TicketPriorityMaster
|
public class TicketPriorityMaster
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Forum
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class TicketStatusMaster
|
public class TicketStatusMaster
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Forum
|
namespace Marco.Pms.Model.Master
|
||||||
{
|
{
|
||||||
public class TicketTagMaster
|
public class TicketTagMaster
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Roles
|
||||||
{
|
{
|
||||||
public class ApplicationRole
|
public class ApplicationRole
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Entitlements
|
namespace Marco.Pms.Model.Roles
|
||||||
{
|
{
|
||||||
public class JobRole : TenantRelation
|
public class JobRole : TenantRelation
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.ViewModels
|
namespace Marco.Pms.Model.ViewModels.Employee
|
||||||
{
|
{
|
||||||
public class EmployeeRolesVM
|
public class EmployeeRolesVM
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.ViewModels
|
namespace Marco.Pms.Model.ViewModels.Master
|
||||||
{
|
{
|
||||||
public class FeaturePermissionVM
|
public class FeaturePermissionVM
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.ViewModels
|
namespace Marco.Pms.Model.ViewModels.Master
|
||||||
{
|
{
|
||||||
public class FeatureVM
|
public class FeatureVM
|
||||||
{
|
{
|
@ -1,6 +1,4 @@
|
|||||||
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Dtos.Project
|
|
||||||
{
|
{
|
||||||
public class BuildingVM
|
public class BuildingVM
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Dtos.Project
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class FloorsVM
|
public class FloorsVM
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.ViewModels
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class InfraVM
|
public class InfraVM
|
||||||
{
|
{
|
@ -2,7 +2,7 @@
|
|||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.ViewModels
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class ProjectDetailsVM
|
public class ProjectDetailsVM
|
||||||
{
|
{
|
@ -1,4 +1,4 @@
|
|||||||
namespace Marco.Pms.Model.ViewModels
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class ProjectListVM
|
public class ProjectListVM
|
||||||
{
|
{
|
@ -1,4 +1,6 @@
|
|||||||
namespace Marco.Pms.Model.Dtos.Project
|
using Marco.Pms.Model.Dtos.Project;
|
||||||
|
|
||||||
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class ProjectVM : ProjectDto
|
public class ProjectVM : ProjectDto
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Dtos.Project
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class WorkAreaVM
|
public class WorkAreaVM
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
|
|
||||||
namespace Marco.Pms.Model.Dtos.Project
|
namespace Marco.Pms.Model.ViewModels.Projects
|
||||||
{
|
{
|
||||||
public class WorkItemVM
|
public class WorkItemVM
|
||||||
{
|
{
|
@ -1,4 +1,6 @@
|
|||||||
namespace Marco.Pms.Model.ViewModels
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
|
|
||||||
|
namespace Marco.Pms.Model.ViewModels.Roles
|
||||||
{
|
{
|
||||||
public class ApplicationRolesVM
|
public class ApplicationRolesVM
|
||||||
{
|
{
|
@ -1,4 +1,6 @@
|
|||||||
namespace Marco.Pms.Model.ViewModels
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
|
|
||||||
|
namespace Marco.Pms.Model.ViewModels.Roles
|
||||||
{
|
{
|
||||||
|
|
||||||
public class RolesVM
|
public class RolesVM
|
@ -8,7 +8,6 @@ using Marco.Pms.Model.Entitlements;
|
|||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels;
|
|
||||||
using Marco.Pms.Model.ViewModels.Employee;
|
using Marco.Pms.Model.ViewModels.Employee;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
using MarcoBMS.Services.Service;
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
using Marco.Pms.DataAccess.Data;
|
using Marco.Pms.DataAccess.Data;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels;
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using Marco.Pms.Model.Dtos.Forum;
|
|||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Forum;
|
using Marco.Pms.Model.Forum;
|
||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels.Forum;
|
using Marco.Pms.Model.ViewModels.Forum;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using Marco.Pms.DataAccess.Data;
|
using Marco.Pms.DataAccess.Data;
|
||||||
using Marco.Pms.Model.Dtos.Util;
|
using Marco.Pms.Model.Dtos.Util;
|
||||||
using Marco.Pms.Model.Industries;
|
|
||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
|
using Marco.Pms.Model.Master;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
using MarcoBMS.Services.Service;
|
||||||
|
@ -5,8 +5,8 @@ using Marco.Pms.Model.Entitlements;
|
|||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels;
|
|
||||||
using Marco.Pms.Model.ViewModels.Employee;
|
using Marco.Pms.Model.ViewModels.Employee;
|
||||||
|
using Marco.Pms.Model.ViewModels.Projects;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
using MarcoBMS.Services.Service;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
@ -493,7 +493,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
{
|
{
|
||||||
Guid tenantId = GetTenantId();
|
Guid tenantId = GetTenantId();
|
||||||
List<WorkItemVM> workItems = new List<WorkItemVM> { };
|
List<WorkItemVM> workItems = new List<WorkItemVM> { };
|
||||||
string responseMessage = "";
|
|
||||||
if (workItemDot != null)
|
if (workItemDot != null)
|
||||||
{
|
{
|
||||||
foreach (var item in workItemDot)
|
foreach (var item in workItemDot)
|
||||||
@ -505,14 +504,12 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
//update
|
//update
|
||||||
_context.WorkItems.Update(workItem);
|
_context.WorkItems.Update(workItem);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseMessage = "Task Added Successfully";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//create
|
//create
|
||||||
_context.WorkItems.Add(workItem);
|
_context.WorkItems.Add(workItem);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseMessage = "Task Updated Successfully";
|
|
||||||
}
|
}
|
||||||
var result = new WorkItemVM
|
var result = new WorkItemVM
|
||||||
{
|
{
|
||||||
@ -522,7 +519,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
workItems.Add(result);
|
workItems.Add(result);
|
||||||
}
|
}
|
||||||
var activity = await _context.ActivityMasters.ToListAsync();
|
var activity = await _context.ActivityMasters.ToListAsync();
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(workItems, responseMessage, 200));
|
return Ok(ApiResponse<object>.SuccessResponse(workItems, "Data saved successfully.", 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid details.", "Work Item Details are not valid.", 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid details.", "Work Item Details are not valid.", 400));
|
||||||
@ -572,7 +569,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
{
|
{
|
||||||
Guid tenantId = GetTenantId();
|
Guid tenantId = GetTenantId();
|
||||||
var responseData = new InfraVM { };
|
var responseData = new InfraVM { };
|
||||||
string responseMessage = "";
|
|
||||||
if (infraDots != null)
|
if (infraDots != null)
|
||||||
{
|
{
|
||||||
foreach (var item in infraDots)
|
foreach (var item in infraDots)
|
||||||
@ -589,7 +585,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.Buildings.Add(building);
|
_context.Buildings.Add(building);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseData.building = building;
|
responseData.building = building;
|
||||||
responseMessage = "Buliding Added Successfully";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -597,7 +592,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.Buildings.Update(building);
|
_context.Buildings.Update(building);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseData.building = building;
|
responseData.building = building;
|
||||||
responseMessage = "Buliding Updated Successfully";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -612,7 +606,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.Floor.Add(floor);
|
_context.Floor.Add(floor);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseData.floor = floor;
|
responseData.floor = floor;
|
||||||
responseMessage = "Floor Added Successfully";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -620,7 +613,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.Floor.Update(floor);
|
_context.Floor.Update(floor);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseData.floor = floor;
|
responseData.floor = floor;
|
||||||
responseMessage = "Floor Updated Successfully";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (item.WorkArea != null)
|
if (item.WorkArea != null)
|
||||||
@ -634,7 +626,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.WorkAreas.Add(workArea);
|
_context.WorkAreas.Add(workArea);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseData.workArea = workArea;
|
responseData.workArea = workArea;
|
||||||
responseMessage = "Work Area Added Successfully";
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -642,11 +633,10 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
_context.WorkAreas.Update(workArea);
|
_context.WorkAreas.Update(workArea);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
responseData.workArea = workArea;
|
responseData.workArea = workArea;
|
||||||
responseMessage = "Work Area Updated Successfully";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(responseData, responseMessage, 200));
|
return Ok(ApiResponse<object>.SuccessResponse(responseData, "Data saved successfully.", 200));
|
||||||
}
|
}
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid details.", "Infra Details are not valid.", 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid details.", "Infra Details are not valid.", 400));
|
||||||
|
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using Marco.Pms.DataAccess.Data;
|
using Marco.Pms.DataAccess.Data;
|
||||||
using Marco.Pms.Model.Dtos.Employees;
|
|
||||||
using Marco.Pms.Model.Dtos.Roles;
|
using Marco.Pms.Model.Dtos.Roles;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
using Marco.Pms.Model.Mapper;
|
using Marco.Pms.Model.Mapper;
|
||||||
|
using Marco.Pms.Model.Roles;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Model.ViewModels;
|
using Marco.Pms.Model.ViewModels;
|
||||||
|
using Marco.Pms.Model.ViewModels.Master;
|
||||||
|
using Marco.Pms.Model.ViewModels.Roles;
|
||||||
using MarcoBMS.Services.Helpers;
|
using MarcoBMS.Services.Helpers;
|
||||||
using MarcoBMS.Services.Service;
|
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@ -23,16 +24,16 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
private readonly ApplicationDbContext _context;
|
private readonly ApplicationDbContext _context;
|
||||||
private readonly RolesHelper _rolesHelper;
|
private readonly RolesHelper _rolesHelper;
|
||||||
private readonly UserHelper _userHelper;
|
private readonly UserHelper _userHelper;
|
||||||
private readonly UserManager<ApplicationUser> _userManager;
|
|
||||||
private readonly ILoggingService _logger;
|
|
||||||
|
|
||||||
public RolesController(UserManager<ApplicationUser> userManager, ApplicationDbContext context, RolesHelper rolesHelper, UserHelper userHelper, ILoggingService logger)
|
|
||||||
|
private readonly UserManager<ApplicationUser> _userManager;
|
||||||
|
|
||||||
|
public RolesController(UserManager<ApplicationUser> userManager, ApplicationDbContext context, RolesHelper rolesHelper, UserHelper userHelper)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_rolesHelper = rolesHelper;
|
_rolesHelper = rolesHelper;
|
||||||
_userHelper = userHelper;
|
_userHelper = userHelper;
|
||||||
_logger = logger;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Guid GetTenantId()
|
private Guid GetTenantId()
|
||||||
@ -101,30 +102,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
return BadRequest(ApiResponse<object>.ErrorResponse(ex.Message, ex, 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse(ex.Message, ex, 400));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[HttpDelete("jobrole/{id}")]
|
|
||||||
public async Task<IActionResult> DeleteJobRole(Guid id)
|
|
||||||
{
|
|
||||||
Guid tenantId = GetTenantId();
|
|
||||||
var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
|
||||||
var jobRole = await _context.JobRoles.FirstOrDefaultAsync(r => r.Id == id && r.TenantId == tenantId);
|
|
||||||
if (jobRole != null)
|
|
||||||
{
|
|
||||||
var employee = await _context.Employees.Where(e => e.JobRoleId == jobRole.Id).ToListAsync();
|
|
||||||
if (employee.Any())
|
|
||||||
{
|
|
||||||
_logger.LogWarning("Employee with ID {LoggedEmployeeId} tries to delete the job role with ID {JobRoleId} which is assigned to one or more employees", LoggedEmployee.Id, jobRole.Id);
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Cannot delete the job role because it is assigned to one or more employees.", "Cannot delete the job role because it is assigned to one or more employees.", 400));
|
|
||||||
}
|
|
||||||
_context.JobRoles.Remove(jobRole);
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
_logger.LogInfo("Employee with ID {LoggedEmployeeId} deleted the job role with ID {JobRoleId}", LoggedEmployee.Id, jobRole.Id);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_logger.LogWarning("Job role with ID {JobRoleId} not found in database", id);
|
|
||||||
}
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(new { }, "Job role deleted successfully", 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> GetAllRoles()
|
public async Task<IActionResult> GetAllRoles()
|
||||||
@ -162,7 +140,6 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
{
|
{
|
||||||
Id = item.Id,
|
Id = item.Id,
|
||||||
Role = item.Role,
|
Role = item.Role,
|
||||||
IsSystem = item.IsSystem,
|
|
||||||
Description = item.Description,
|
Description = item.Description,
|
||||||
FeaturePermission = []
|
FeaturePermission = []
|
||||||
};
|
};
|
||||||
@ -251,21 +228,17 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Guid TenantId = GetTenantId();
|
Guid TenantId = GetTenantId();
|
||||||
var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
|
||||||
var existingRole = await _context.ApplicationRoles.AsNoTracking().FirstOrDefaultAsync(r => r.Id == id);
|
|
||||||
if (existingRole != null && existingRole.IsSystem)
|
|
||||||
{
|
|
||||||
_logger.LogWarning("Employee with ID {LoggedEmployeeId} tries to update System-defined application roles {AppcationRoleId}", LoggedEmployee.Id, existingRole.Id);
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("System-defined roles cannot be updated", "System-defined roles cannot be updated", 400));
|
|
||||||
}
|
|
||||||
ApplicationRole role = updateRoleDto.ToApplicationRoleFromUpdateDto(TenantId);
|
ApplicationRole role = updateRoleDto.ToApplicationRoleFromUpdateDto(TenantId);
|
||||||
|
|
||||||
if (role.TenantId != TenantId)
|
if (role.TenantId != TenantId)
|
||||||
return Unauthorized(ApiResponse<object>.ErrorResponse("You don't have any authority to update role", "You don't have any authority to update role", 401));
|
return Unauthorized(ApiResponse<object>.ErrorResponse("You don't have any authority to update role", "You don't have any authority to update role", 401));
|
||||||
if (existingRole != null)
|
|
||||||
|
var projectModel = _context.ApplicationRoles.Update(role);
|
||||||
|
|
||||||
|
if (projectModel == null)
|
||||||
{
|
{
|
||||||
_context.ApplicationRoles.Update(role);
|
return NotFound(ApiResponse<object>.ErrorResponse("Project not found", "Project not found", 404));
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool modified = false;
|
bool modified = false;
|
||||||
@ -295,13 +268,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
var response = new
|
return BadRequest(ApiResponse<object>.ErrorResponse(ex.Message, ex, 400));
|
||||||
{
|
|
||||||
message = ex.Message,
|
|
||||||
detail = ex.StackTrace,
|
|
||||||
statusCode = StatusCodes.Status500InternalServerError
|
|
||||||
};
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse(ex.Message, response, 400));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,101 +306,11 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
{
|
{
|
||||||
Id = role.Id,
|
Id = role.Id,
|
||||||
Role = role.Role,
|
Role = role.Role,
|
||||||
IsSystem = role.IsSystem,
|
|
||||||
FeaturePermission = featurePermissions
|
FeaturePermission = featurePermissions
|
||||||
};
|
};
|
||||||
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(vm, "Roles Perimssions fetched successfully.", 200));
|
return Ok(ApiResponse<object>.SuccessResponse(vm, "Roles Perimssions fetched successfully.", 200));
|
||||||
|
|
||||||
}
|
}
|
||||||
[HttpDelete("{id}")]
|
|
||||||
public async Task<IActionResult> DeleteApplicationRole(Guid id)
|
|
||||||
{
|
|
||||||
Guid tenantId = GetTenantId();
|
|
||||||
var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
|
||||||
var role = await _context.ApplicationRoles.AsNoTracking().FirstOrDefaultAsync(r => r.Id == id && r.TenantId == tenantId);
|
|
||||||
if (role != null)
|
|
||||||
{
|
|
||||||
if (role.IsSystem)
|
|
||||||
{
|
|
||||||
_logger.LogInfo("Employee with ID {LoggedEmployeeId} tries to delete system-defined application role with ID {ApplicationRoleId}", LoggedEmployee.Id, role.Id);
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("This role cannot be deleted because it is system-defined.", "This role cannot be deleted because it is system-defined.", 400));
|
|
||||||
}
|
|
||||||
var employeeRoleMapping = await _context.EmployeeRoleMappings.Where(erm => erm.RoleId == role.Id).ToListAsync();
|
|
||||||
if (employeeRoleMapping.Count != 0)
|
|
||||||
{
|
|
||||||
_logger.LogInfo("Employee with ID {LoggedEmployeeId} tries to delete application role with ID {ApplicationRoleId} with is assigned to an employee", LoggedEmployee.Id, role.Id);
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("This role cannot be deleted because it is currently assigned to employees.", "This role cannot be deleted because it is currently assigned to employees.", 400));
|
|
||||||
}
|
|
||||||
_context.ApplicationRoles.Remove(role);
|
|
||||||
var rolePermissionMapping = await _context.RolePermissionMappings.Where(r => r.ApplicationRoleId == role.Id).ToListAsync();
|
|
||||||
if (rolePermissionMapping.Count != 0)
|
|
||||||
{
|
|
||||||
_context.RolePermissionMappings.RemoveRange(rolePermissionMapping);
|
|
||||||
_logger.LogInfo("All permissions assigned to the application role with ID {ApplicationRoleId} have been removed.", role.Id);
|
|
||||||
}
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
_logger.LogInfo("Employee with ID {LoggedEmployeeId} deleted application role with ID {ApplicationRoleId}", LoggedEmployee.Id, role.Id);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_logger.LogWarning("Application role with ID {ApplicationRoleId} not found in database", id);
|
|
||||||
}
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(new { }, "Application role is deleted successfully", 200));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[HttpPost]
|
|
||||||
[Route("assign-roles")]
|
|
||||||
public async Task<IActionResult> ManageRoles([FromBody] List<EmployeeRoleDot> employeeRoleDots)
|
|
||||||
{
|
|
||||||
if (!ModelState.IsValid)
|
|
||||||
{
|
|
||||||
var errors = ModelState.Values
|
|
||||||
.SelectMany(v => v.Errors)
|
|
||||||
.Select(e => e.ErrorMessage)
|
|
||||||
.ToList();
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
|
||||||
}
|
|
||||||
var employeesIds = employeeRoleDots.Select(e => e.EmployeeId).Distinct().ToList();
|
|
||||||
var LoggedEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
|
||||||
var employees = await _context.Employees.Where(e => employeesIds.Contains(e.Id)).ToListAsync();
|
|
||||||
|
|
||||||
Guid TenantId = GetTenantId();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
foreach (EmployeeRoleDot role in employeeRoleDots)
|
|
||||||
{
|
|
||||||
var employee = employees.Find(e => e.Id == role.EmployeeId && e.IsSystem);
|
|
||||||
if (employee != null)
|
|
||||||
{
|
|
||||||
_logger.LogWarning("Employee with ID {LoggedEmployeeId} tries to assign or remove the application role to System-defined employee with ID {EmployeeId}", LoggedEmployee.Id, employee.Id);
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse("System-defined employee cannot have application roles assigned or removed.", "System-defined employee cannot have application roles assigned or removed.", 400));
|
|
||||||
}
|
|
||||||
EmployeeRoleMapping mapping = role.ToEmployeeRoleMappingFromEmployeeRoleDot(TenantId);
|
|
||||||
|
|
||||||
var existingItem = await _context.EmployeeRoleMappings.AsNoTracking().SingleOrDefaultAsync(c => c.Id == mapping.Id);
|
|
||||||
|
|
||||||
if (existingItem == null)
|
|
||||||
{
|
|
||||||
if (role.IsEnabled == true)
|
|
||||||
{
|
|
||||||
_context.EmployeeRoleMappings.Add(mapping);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (role.IsEnabled == false)
|
|
||||||
{
|
|
||||||
_context.EmployeeRoleMappings.Remove(existingItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
await _context.SaveChangesAsync();
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
return BadRequest(ApiResponse<object>.ErrorResponse(ex.Message, ex, 400));
|
|
||||||
}
|
|
||||||
return Ok(ApiResponse<object>.SuccessResponse("success", "Roles modified.", 200));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Marco.Pms.DataAccess.Data;
|
using Marco.Pms.DataAccess.Data;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Entitlements;
|
using Marco.Pms.Model.Entitlements;
|
||||||
|
using Marco.Pms.Model.Roles;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user