added collaborator view.

This commit is contained in:
DESKTOP-GENO133\IvanPlex
2024-01-13 18:19:52 -07:00
parent 90fa6ad5fc
commit c972f9c8a2
6 changed files with 52 additions and 3 deletions

View File

@@ -672,6 +672,9 @@ namespace CarCareTracker.Controllers
{
viewModel.Years.Add(DateTime.Now.AddYears(i * -1).Year);
}
//get collaborators
var collaborators = _userLogic.GetCollaboratorsForVehicle(vehicleId);
viewModel.Collaborators = collaborators;
return PartialView("_Report", viewModel);
}
[HttpGet]

View File

@@ -6,6 +6,7 @@ namespace CarCareTracker.Logic
{
public interface IUserLogic
{
List<UserCollaborator> GetCollaboratorsForVehicle(int vehicleId);
bool AddUserAccessToVehicle(int userId, int vehicleId, UserAccessType accessType);
List<Vehicle> FilterUserVehicles(List<Vehicle> results, int userId);
bool UserCanAccessVehicle(int userId, int vehicleId);
@@ -16,8 +17,28 @@ namespace CarCareTracker.Logic
public class UserLogic: IUserLogic
{
private readonly IUserAccessDataAccess _userAccess;
public UserLogic(IUserAccessDataAccess userAccess) {
private readonly IUserRecordDataAccess _userData;
public UserLogic(IUserAccessDataAccess userAccess,
IUserRecordDataAccess userData) {
_userAccess = userAccess;
_userData = userData;
}
public List<UserCollaborator> GetCollaboratorsForVehicle(int vehicleId)
{
var result = _userAccess.GetUserAccessByVehicleId(vehicleId);
var convertedResult = new List<UserCollaborator>();
//convert useraccess to usercollaborator
foreach(UserAccess userAccess in result)
{
var userCollaborator = new UserCollaborator
{
UserName = _userData.GetUserRecordById(userAccess.Id.UserId).UserName,
AccessType = userAccess.AccessType,
UserVehicle = userAccess.Id
};
convertedResult.Add(userCollaborator);
}
return convertedResult;
}
public bool AddUserAccessToVehicle(int userId, int vehicleId, UserAccessType accessType)
{

View File

@@ -6,5 +6,6 @@
public CostMakeUpForVehicle CostMakeUpForVehicle { get; set; } = new CostMakeUpForVehicle();
public ReminderMakeUpForVehicle ReminderMakeUpForVehicle { get; set; } = new ReminderMakeUpForVehicle();
public List<int> Years { get; set; } = new List<int>();
public List<UserCollaborator> Collaborators { get; set; } = new List<UserCollaborator>();
}
}

View File

@@ -0,0 +1,9 @@
namespace CarCareTracker.Models
{
public class UserCollaborator
{
public string UserName { get; set; }
public UserAccessType AccessType { get; set; }
public UserVehicle UserVehicle { get; set; }
}
}

View File

@@ -0,0 +1,7 @@
@model List<UserCollaborator>
<ul>
@foreach (UserCollaborator user in Model)
{
<li>@user.UserName</li>
}
</ul>

View File

@@ -69,10 +69,18 @@
</div>
<hr />
<div class="row hideOnPrint">
<div class="col-md-3 col-12">
</div>
<div class="col-md-6 col-12">
<div class="d-flex justify-content-center">
<button onclick="generateVehicleHistoryReport()" class="btn btn-secondary btn-md mt-1 mb-1"><i class="bi bi-pencil-square me-2"></i>Generate and Print Vehicle Maintenance Report</button>
</div>
</div>
<div class="col-md-3 col-12">
@await Html.PartialAsync("_Collaborators", Model.Collaborators)
</div>
</div>
<div id="vehicleHistoryReport" class="showOnPrint"></div>
<script>
function getYear() {