using FrameworkDAL.CustomCode.WorkflowConfig; using FrameworkDAL.DTO.WorkflowConfig; using GB5Shared.DTO.Framework.AutoNumber; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.GenerateAutoNumber; using GB5Shared.Resource.Response; using GB5Shared.Validation; using System; using System.ComponentModel.DataAnnotations; using System.Threading.Tasks; namespace FrameworkBLL.WorkflowConfig { public class WorkflowConfigBLL : IWorkflowConfigBLL { private readonly IWorkflowConfigDAL _workflowConfigDAL; public WorkflowConfigBLL( IWorkflowConfigDAL workflowConfigDAL) { _workflowConfigDAL = workflowConfigDAL; } public async Task GetWorkflowConfig(int workflowConfigId, LoginDTO loginDTO) { try { return await _workflowConfigDAL.GetWorkflowConfig(workflowConfigId, loginDTO); } catch (Exception) { throw; } } public async Task SaveWorkflowConfig(WorkflowConfigDTO workflowConfigDTO, LoginDTO loginDTO) { if (workflowConfigDTO == null) throw new ArgumentNullException(nameof(workflowConfigDTO)); try { if (workflowConfigDTO.WorkflowConfigId == 0) { await _workflowConfigDAL.SaveWorkflowConfig(workflowConfigDTO, loginDTO); return "Details have been saved successfully"; } else { await _workflowConfigDAL.UpdateWorkflowConfig(workflowConfigDTO, loginDTO); return $"{SuccessResponse.UpdateSuccessMessage} {workflowConfigDTO.WorkflowConfigId}"; } } catch (Exception) { throw; } } public async Task GetSelectListWorkflowConfig(int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO) { try { return await _workflowConfigDAL.GetSelectListWorkflowConfig(firstNumber, maxResult, criteriaDTO, loginDTO); } catch (Exception) { throw; } } public async Task DeleteWorkflowConfig(int workflowConfigId, LoginDTO loginDTO) { try { return await _workflowConfigDAL.DeleteWorkflowConfig(workflowConfigId, loginDTO); } catch (Exception) { throw; } } } }