464 lines
14 KiB
C#
464 lines
14 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Serilog;
|
|
using WorkFlowCheck.BL.Services;
|
|
using WorkFlowCheck.BL.Services.Interfaces;
|
|
using WorkFlowCheck.Common.DataTables;
|
|
using WorkFlowCheck.Common.DTO;
|
|
|
|
namespace WorkFlowCheck.API.Controllers
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class CheckListController : ControllerBase
|
|
{
|
|
private ICheckListService _checkListService;
|
|
public CheckListController(ICheckListService checkListService)
|
|
{
|
|
_checkListService = checkListService;
|
|
}
|
|
|
|
[HttpGet("GetCheckListHeader/{id}")]
|
|
public async Task<ApiResponseDTO<CheckListHeaderDTO>> GetCheckListHeader(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListHeaderDTO>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var checkListHeaderDTO = await _checkListService.GetCheckListHeaderAsync(id);
|
|
|
|
if (checkListHeaderDTO != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = checkListHeaderDTO;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpPost("GetFilteredCheckListHeader")]
|
|
public async Task<ApiResponseListDTO<List<CheckListHeaderDTO>>> GetFilteredCheckListHeader([FromBody] DataTablesRequest dataTablesRequest)
|
|
{
|
|
var retVal = new ApiResponseListDTO<List<CheckListHeaderDTO>>()
|
|
{
|
|
IsSuccess = true
|
|
};
|
|
|
|
try
|
|
{
|
|
var result = await _checkListService.GetFilteredCheckListHeaderAsync(dataTablesRequest);
|
|
retVal.Data = result.Data;
|
|
retVal.Total = result.Total;
|
|
retVal.Filtered = result.Filtered;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retVal.IsSuccess = false;
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
[HttpGet("CreatePDF/{id}")]
|
|
public async Task<ApiResponseDTO<byte[]>> CreatePDF(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<byte[]>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var checkListHeader = await _checkListService.GetCheckListHeaderAsync(id);
|
|
var response = await _checkListService.CreateCheckListHeaderPDFAsync(id);
|
|
|
|
if (response != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = response;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpGet("GetAllCheckListHeaders/{mode}")]
|
|
public async Task<ApiResponseDTO<List<CheckListHeaderDTO>>> GetAllCheckListHeadersAsync(int mode = 0)
|
|
{
|
|
var retVal = new ApiResponseDTO<List<CheckListHeaderDTO>>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var checkPointListDTO = await _checkListService.GetAllCheckListHeaderAsync(mode);
|
|
|
|
if (checkPointListDTO != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = checkPointListDTO;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpPost("UpdateCheckListHeader")]
|
|
public async Task<ApiResponseDTO<CheckListHeaderDTO>> UpdateCheckListHeader([FromBody] CheckListHeaderDTO checkListHeaderDTO)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListHeaderDTO>()
|
|
{
|
|
IsSuccess = true
|
|
};
|
|
|
|
try
|
|
{
|
|
var result = await _checkListService.UpdateCheckListHeaderAsync(checkListHeaderDTO);
|
|
retVal.Data = result;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retVal.IsSuccess = false;
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
[HttpPost("StartNewCheckList")]
|
|
public async Task<ApiResponseDTO<CheckListHeaderDTO>> StartNew([FromBody] CheckListHeaderNewDTO checkListHeaderNewDTO)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListHeaderDTO>()
|
|
{
|
|
IsSuccess = true
|
|
};
|
|
|
|
try
|
|
{
|
|
var response = await _checkListService.StartNewCheckListAsync(checkListHeaderNewDTO);
|
|
if (response != null)
|
|
{
|
|
retVal.Data = response;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
[HttpPost("CloseCheckListHeader")]
|
|
public async Task<ApiResponseDTO<bool>> CloseCheckListHeader([FromBody] CheckListHeaderCloseDTO checkListHeaderCloseDTO)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool>() { IsSuccess = false };
|
|
|
|
try
|
|
{
|
|
var result = await _checkListService.CloseCheckListHeader(checkListHeaderCloseDTO);
|
|
retVal.Data = result;
|
|
retVal.IsSuccess = result;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retVal.IsSuccess = false;
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
|
|
[HttpGet("AcceptCheckListHeader/{id}/{userId}")]
|
|
public async Task<ApiResponseDTO<bool>> AcceptCheckListHeader(int id, int userId)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool> { IsSuccess = false };
|
|
|
|
var response = await _checkListService.AcceptCheckListHeaderAsync(id, userId);
|
|
|
|
if (response)
|
|
{
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = response;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpGet("BlockCheckListHeader/{id}/{userId}")]
|
|
public async Task<ApiResponseDTO<bool>> BlockCheckListHeader(int id, int userId)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool> { IsSuccess = false };
|
|
|
|
var response = await _checkListService.BlockCheckListHeaderAsync(id, userId);
|
|
|
|
if (response)
|
|
{
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = response;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpGet("UnBlockCheckListHeader/{id}/{userId}")]
|
|
public async Task<ApiResponseDTO<bool>> UnBlockCheckListHeader(int id, int userId)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool> { IsSuccess = false };
|
|
|
|
var response = await _checkListService.UnBlockCheckListHeaderAsync(id, userId);
|
|
|
|
if (response)
|
|
{
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = response;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
|
|
|
|
[HttpGet("GetCheckListTemplateHeader/{id}")]
|
|
public async Task<ApiResponseDTO<CheckListTemplateHeaderDTO>> GetCheckListTemplateHeader(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListTemplateHeaderDTO>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var CheckListTemplateHeaderDTO = await _checkListService.GetCheckListTemplateHeaderAsync(id);
|
|
|
|
if (CheckListTemplateHeaderDTO != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = CheckListTemplateHeaderDTO;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpGet("GetAllCheckListTemplateHeaders")]
|
|
public async Task<ApiResponseDTO<List<CheckListTemplateHeaderDTO>>> GetAllCheckListTemplateHeadersAsync()
|
|
{
|
|
var retVal = new ApiResponseDTO<List<CheckListTemplateHeaderDTO>>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var checkPointListDTO = await _checkListService.GetAllCheckListTemplateHeaderAsync();
|
|
|
|
if (checkPointListDTO != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = checkPointListDTO;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpPost("UpdateCheckListTemplateHeader")]
|
|
public async Task<ApiResponseDTO<CheckListTemplateHeaderDTO>> UpdateCheckListTemplateHeader([FromBody] CheckListTemplateHeaderDTO CheckListTemplateHeaderDTO)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListTemplateHeaderDTO>()
|
|
{
|
|
IsSuccess = true
|
|
};
|
|
|
|
try
|
|
{
|
|
var result = await _checkListService.UpdateCheckListTemplateHeaderAsync(CheckListTemplateHeaderDTO);
|
|
retVal.Data = result;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retVal.IsSuccess = false;
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
[HttpGet("DeleteCheckListTemplateHeader/{id}")]
|
|
public async Task<ApiResponseDTO<bool>> DeleteCheckListTemplateHeader(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var result = await _checkListService.DeleteCheckListTemplateHeaderAsync(id);
|
|
|
|
if (result != null)
|
|
{
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = result;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
|
|
[HttpGet("CloneCheckListTemplateHeader/{id}")]
|
|
public async Task<ApiResponseDTO<bool>> CloneCheckListTemplateHeader(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var result = await _checkListService.CloneCheckListTemplateHeaderAsync(id);
|
|
|
|
if (result != null)
|
|
{
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = result;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
|
|
[HttpGet("GetCheckListTemplateRow/{id}")]
|
|
public async Task<ApiResponseDTO<CheckListTemplateRowDTO>> GetCheckListTemplateRow(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListTemplateRowDTO>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var checkListTemplateRowDTO = await _checkListService.GetCheckListTemplateRowAsync(id);
|
|
|
|
if (checkListTemplateRowDTO != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = checkListTemplateRowDTO;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpGet("DeleteCheckListTemplateRow/{id}")]
|
|
public async Task<ApiResponseDTO<bool>> DeleteCheckListTemplateRow(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<bool>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var result = await _checkListService.DeleteCheckListTemplateRowAsync(id);
|
|
|
|
if (result != null)
|
|
{
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = result;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpPost("UpdateCheckListTemplateRow")]
|
|
public async Task<ApiResponseDTO<CheckListTemplateRowDTO>> UpdateCheckListTemplateRow([FromBody] CheckListTemplateRowDTO CheckListTemplateRowDTO)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListTemplateRowDTO>()
|
|
{
|
|
IsSuccess = true
|
|
};
|
|
|
|
try
|
|
{
|
|
var result = await _checkListService.UpdateCheckListTemplateRowAsync(CheckListTemplateRowDTO);
|
|
retVal.Data = result;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retVal.IsSuccess = false;
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
|
|
[HttpGet("GetCheckListRow/{id}")]
|
|
public async Task<ApiResponseDTO<CheckListRowDTO>> GetCheckListRow(int id)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListRowDTO>()
|
|
{
|
|
IsSuccess = true,
|
|
};
|
|
var checkListRowDTO = await _checkListService.GetCheckListRowAsync(id);
|
|
|
|
if (checkListRowDTO != null)
|
|
{
|
|
|
|
retVal.IsSuccess = true;
|
|
retVal.Data = checkListRowDTO;
|
|
}
|
|
else
|
|
{
|
|
retVal.IsSuccess = false;
|
|
retVal.Errors.Add("No data!");
|
|
}
|
|
|
|
return retVal;
|
|
}
|
|
[HttpPost("UpdateCheckListRow")]
|
|
public async Task<ApiResponseDTO<CheckListRowDTO>> UpdateCheckListRow([FromBody] CheckListRowDTO CheckListRowDTO)
|
|
{
|
|
var retVal = new ApiResponseDTO<CheckListRowDTO>()
|
|
{
|
|
IsSuccess = true
|
|
};
|
|
|
|
try
|
|
{
|
|
var result = await _checkListService.UpdateCheckListRowAsync(CheckListRowDTO);
|
|
retVal.Data = result;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retVal.IsSuccess = false;
|
|
Log.Error(ex.Message);
|
|
}
|
|
return retVal;
|
|
}
|
|
}
|
|
}
|