267 lines
9.1 KiB
C#
267 lines
9.1 KiB
C#
using System.Runtime.InteropServices.JavaScript;
|
|
using _0_Framework.Application;
|
|
using AccountManagement.Application.Contracts.Media;
|
|
using Company.Domain.WorkshopAccountAgg;
|
|
using CompanyManagment.App.Contracts.Employee;
|
|
using CompanyManagment.App.Contracts.EmployeeDocuments;
|
|
using CompanyManagment.App.Contracts.Error;
|
|
using CompanyManagment.App.Contracts.Workshop;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
using WorkFlow.Application.Contracts.AdminWorkFlow;
|
|
|
|
namespace ServiceHost.Areas.AdminNew.Pages.Company.WorkFlow
|
|
{
|
|
[Authorize]
|
|
public class EmployeesDocumentsModel : PageModel
|
|
{
|
|
private readonly IWorkshopApplication _workshopApplication;
|
|
private readonly IEmployeeDocumentsApplication _employeeDocumentsApplication;
|
|
private readonly IAdminWorkFlowApplication _adminWorkFlowApplication;
|
|
private readonly IWorkshopAccountRepository _workshopAccountRepository;
|
|
private readonly IMediaApplication _mediaApplication;
|
|
private readonly IAuthHelper _authHelper;
|
|
private long _roleId;
|
|
|
|
public EmployeesDocumentsModel(IAdminWorkFlowApplication adminWorkFlowApplication,
|
|
IWorkshopApplication workshopApplication, IEmployeeDocumentsApplication employeeDocumentsApplication,
|
|
IWorkshopAccountRepository workshopAccountRepository, IAuthHelper authHelper,
|
|
IMediaApplication mediaApplication)
|
|
{
|
|
_adminWorkFlowApplication = adminWorkFlowApplication;
|
|
_workshopApplication = workshopApplication;
|
|
_employeeDocumentsApplication = employeeDocumentsApplication;
|
|
_workshopAccountRepository = workshopAccountRepository;
|
|
_authHelper = authHelper;
|
|
_mediaApplication = mediaApplication;
|
|
_roleId = authHelper.CurrentAccountInfo().RoleId;
|
|
}
|
|
|
|
public void OnGet()
|
|
{
|
|
}
|
|
|
|
public IActionResult OnGetWorkshopsWithDocumentsAwaitingUploadAjax()
|
|
{
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList();
|
|
var resultData = _adminWorkFlowApplication.GetWorkshopsWithDocumentsAwaitingUploadForAdmin(accountWorkshops);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetByWorkshopIdWithItemsForAdminWorkFlow(long workshopId)
|
|
{
|
|
var resultData = _employeeDocumentsApplication.GetByWorkshopIdWithItemsForAdminWorkFlow(workshopId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
|
|
public async Task<IActionResult> OnGetClientRejectedDocumentWorkshopsForAdmin()
|
|
{
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList();
|
|
var resultData = await _employeeDocumentsApplication.GetClientRejectedDocumentWorkshopsForAdmin(accountWorkshops,_roleId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
public async Task<IActionResult> OnGetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId)
|
|
{
|
|
var resultData = await _employeeDocumentsApplication.GetClientRejectedDocumentByWorkshopIdForAdmin(workshopId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
|
|
public async Task<IActionResult> OnGetCreatedEmployeesWorkshopDocumentForAdmin()
|
|
{
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList();
|
|
var resultData = await _employeeDocumentsApplication.GetCreatedEmployeesWorkshopDocumentForAdmin(accountWorkshops, _roleId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
public async Task<IActionResult> OnGetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId)
|
|
{
|
|
var resultData = await _employeeDocumentsApplication.GetCreatedEmployeesDocumentByWorkshopIdForAdmin(workshopId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
public async Task<IActionResult> OnGetWorkshopDocumentRejectedForAdmin()
|
|
{
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList();
|
|
var resultData =
|
|
await _employeeDocumentsApplication.GetWorkshopDocumentRejectedForAdmin(accountWorkshops,
|
|
_roleId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
public async Task<IActionResult> OnGetGetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId)
|
|
{
|
|
var resultData =
|
|
await _employeeDocumentsApplication
|
|
.GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(workshopId, _roleId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = resultData
|
|
});
|
|
}
|
|
|
|
public async Task<IActionResult> OnGetCountWorkFlowUploadDocument()
|
|
{
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var accountWorkshops = _workshopAccountRepository.GetList(accountId).Select(x => x.WorkshopId).ToList();
|
|
|
|
var resultDataWorkshopDocumentRejectedForAdmin = await _employeeDocumentsApplication.GetWorkshopDocumentRejectedForAdmin(accountWorkshops, _roleId);
|
|
var resultDataCreatedEmployeesWorkshopDocumentForAdmin = await _employeeDocumentsApplication.GetCreatedEmployeesWorkshopDocumentForAdmin(accountWorkshops, _roleId);
|
|
var resultCountClientRejectedDocumentWorkshopsForAdmin = await _employeeDocumentsApplication.GetClientRejectedDocumentWorkshopsForAdmin(accountWorkshops,_roleId);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
WorkshopDocumentRejectedForAdmin = resultDataWorkshopDocumentRejectedForAdmin.Count,
|
|
CreatedEmployeesWorkshopDocumentForAdmin = resultDataCreatedEmployeesWorkshopDocumentForAdmin.Count,
|
|
ClientRejectedDocumentWorkshopsForAdmin = resultCountClientRejectedDocumentWorkshopsForAdmin.Count
|
|
});
|
|
}
|
|
|
|
|
|
public IActionResult OnGetCreateUploadDocument(long workshopId, long employeeId)
|
|
{
|
|
var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(employeeId, workshopId);
|
|
return Partial("_ModalEmployeeDocuments/ModalUploadDocument", employeeDocument);
|
|
}
|
|
|
|
public IActionResult OnPostCreateUploadDocument(AddEmployeeDocumentItem command)
|
|
{
|
|
var result = _employeeDocumentsApplication.AddEmployeeDocumentItemForClient(command);
|
|
var employeeDocument = _employeeDocumentsApplication.GetDetailsForAdmin(command.EmployeeId, command.WorkshopId);
|
|
return new JsonResult(new
|
|
{
|
|
isSuccedded = result.IsSuccedded,
|
|
message = result.Message,
|
|
imageSrc = employeeDocument
|
|
});
|
|
}
|
|
|
|
public IActionResult OnPostRemoveEmployeeDocumentByLabel(long workshopId, long employeeId, DocumentItemLabel label)
|
|
{
|
|
var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdminTemp(workshopId, employeeId, label);
|
|
return new JsonResult(new
|
|
{
|
|
isSuccedded = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
public IActionResult OnPostRemoveClientEmployeeDocumentItemsByLabels(long workshopId, long employeeId, List<DocumentItemLabel> labels)
|
|
{
|
|
var result = _employeeDocumentsApplication.RemoveClientDocumentItemsByAdmin(workshopId, employeeId, labels);
|
|
return new JsonResult(new
|
|
{
|
|
isSuccedded = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnPostSaveSubmit(SubmitEmployeeDocuments cmd)
|
|
{
|
|
|
|
var result = _employeeDocumentsApplication.SubmitDocumentItemsByAdminInWorkFlow(cmd);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
isSuccedded = result.IsSuccedded,
|
|
message = result.Message,
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetShowPicture(string filePath)
|
|
{
|
|
if (string.IsNullOrEmpty(filePath))
|
|
return NotFound();
|
|
|
|
|
|
if (!System.IO.File.Exists(filePath))
|
|
return NotFound();
|
|
|
|
var contentType = Tools.GetContentTypeImage(Path.GetExtension(filePath));
|
|
return PhysicalFile(filePath, contentType);
|
|
}
|
|
|
|
public IActionResult OnPostCancelOperation(long workshopId, long employeeId)
|
|
{
|
|
var result = _employeeDocumentsApplication.DeleteUnsubmittedItems(workshopId, employeeId);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public async Task<IActionResult> OnGetEditEmployeeModal(long employeeId, long workshopId, long mediaId)
|
|
{
|
|
var media = _mediaApplication.Get(mediaId);
|
|
var command = await _adminWorkFlowApplication.GetEmployeeEditInEmployeeDocumentWorkFlow(employeeId, workshopId);
|
|
command.Media = media;
|
|
return Partial("_ModalEmployeeDocuments/ModalEmployeeEdit", command);
|
|
}
|
|
|
|
public async Task<IActionResult> OnPostEditEmployeeModal(EditEmployeeInEmployeeDocument command)
|
|
{
|
|
var result = await _adminWorkFlowApplication.EditEmployeeInEmployeeDocumentWorkFlow(command);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnPostGroupSave(long workshopId, long employeeId, List<AddEmployeeDocumentItem> command)
|
|
{
|
|
var result = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByAdmin(workshopId, employeeId, command);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
}
|
|
}
|