diff --git a/Marco.Pms.Model/Mapper/TenantMapper.cs b/Marco.Pms.Model/Mapper/TenantMapper.cs index 35659a5..3c6318d 100644 --- a/Marco.Pms.Model/Mapper/TenantMapper.cs +++ b/Marco.Pms.Model/Mapper/TenantMapper.cs @@ -19,6 +19,19 @@ namespace Marco.Pms.Model.Mapper OnBoardingDate = createTenant.OnBoardingDate, }; } - + public static TenantVM ToTenantVMFromTenant(this Tenant tenant) + { + return new TenantVM + { + OrganizationName = tenant.Name, + About = tenant.Description, + Website = tenant.DomainName, + Name = tenant.ContactName, + //OragnizationSize = OragnizationSize, + ContactNumber = tenant.ContactNumber, + OnBoardingDate = tenant.OnBoardingDate, + }; + } + } } diff --git a/Marco.Pms.Model/ViewModels/Tenant/TenantVM.cs b/Marco.Pms.Model/ViewModels/Tenant/TenantVM.cs new file mode 100644 index 0000000..6e7ed86 --- /dev/null +++ b/Marco.Pms.Model/ViewModels/Tenant/TenantVM.cs @@ -0,0 +1,15 @@ +namespace Marco.Pms.Model.ViewModels.Tenant +{ + public class TenantVM + { + public string OrganizationName { get; set; } + public string About { get; set; } + public string Website { get; set; } + public string Name { get; set; } + public string ContactNumber { get; set; } + + //public string? OragnizationSize { get; set; } + //public int IndustryId { get; set; } + public DateTime OnBoardingDate { get; set; } + } +} diff --git a/Marco.Pms.Services/Controllers/TenantController.cs b/Marco.Pms.Services/Controllers/TenantController.cs index ea4f300..09e2ef7 100644 --- a/Marco.Pms.Services/Controllers/TenantController.cs +++ b/Marco.Pms.Services/Controllers/TenantController.cs @@ -5,6 +5,7 @@ using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; using Marco.Pms.Model.Mapper; using Marco.Pms.Model.Utilities; +using Marco.Pms.Model.ViewModels.Tenant; using MarcoBMS.Services.Service; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; @@ -67,6 +68,7 @@ namespace Marco.Pms.Services.Controllers _context.ApplicationRoles.Add(role); await _context.SaveChangesAsync(); + List permissions = await _context.FeaturePermissions.AsNoTracking().ToListAsync(); List rolePermissionMappings = new List(); @@ -106,7 +108,7 @@ namespace Marco.Pms.Services.Controllers }; _context.EmployeeRoleMappings.Add(employeeRoleMapping); await _context.SaveChangesAsync(); - return Ok(newEmployee); + return Ok(ApiResponse.SuccessResponse(result.Succeeded, "Tenant created successfully.", 200)); } else { @@ -122,6 +124,22 @@ namespace Marco.Pms.Services.Controllers return BadRequest("Falied to create Tenant"); } + + [HttpGet("profile/{tenantId}")] + public async Task GetTenantProfile(int tenantId) + { + if (tenantId <= 0) + { + return BadRequest("Tenant Id is required and must be greater than zero."); + } + var tenant = await _context.Tenants.FirstOrDefaultAsync(t => t.Id == tenantId); + if (tenant == null) + { + return NotFound("Tenant Not Found"); + } + TenantVM tenantVM = tenant.ToTenantVMFromTenant(); + return Ok(ApiResponse.SuccessResponse(tenantVM, "Tenant Profile.", 200)); + } [HttpPost("edit/{tenantId}")] public async Task SuspendTenant(int tenantId,UpdateTenantDto model) {