using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using FrameworkDAL.CustomCode.ServiceRequest; using FrameworkDAL.DTO.ServiceRequest; using GB5Shared.DTO.Framework.AutoNumber; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.GenerateAutoNumber; using GB5Shared.ResponseStandard; namespace FrameworkBLL.ServiceRequest { public class ServiceRequestBLL : IServiceRequestBLL { private readonly IServiceRequestDAL _ServiceRequestDAL; private readonly AutoNumber _autoNumber; public ServiceRequestBLL(IServiceRequestDAL IServiceRequestDAL, AutoNumber autoNumber) { _ServiceRequestDAL = IServiceRequestDAL; _autoNumber = autoNumber; } public async Task GetServiceRequest(int ServiceRequestId, LoginDTO LoginDTO) { try { return await _ServiceRequestDAL.GetServiceRequest(ServiceRequestId, LoginDTO); } catch (Exception) { throw; } } public async Task GetSelectListServiceRequest(CriteriaDTO criteriaDTO, LoginDTO loginDTO) { try { return await _ServiceRequestDAL.GetSelectListServiceRequest(criteriaDTO, loginDTO); } catch (Exception) { throw; } } public async Task SaveServiceRequest(ServiceRequestDTO ServiceRequestDTO, LoginDTO LoginDTO) { try { int initialId = ServiceRequestDTO.ServiceRequestId; int count = 1 + initialId; if (initialId == 0) { //AutoNumberDTO autoNumberDTO = await _autoNumber.GetNumberAsync(count, "SERVICEREQUEST", LoginDTO); //ServiceRequestDTO.ServiceRequestId = autoNumberDTO.StartNumber; await _ServiceRequestDAL.SaveServiceRequest(ServiceRequestDTO, LoginDTO); return "Details Saved Successfully"; } else { await _ServiceRequestDAL.UpdateServiceRequest(ServiceRequestDTO, LoginDTO); return "Details Updated Successfully"; } } catch (Exception) { throw; } } public async Task> DeleteServiceRequest(int ServiceRequestId, LoginDTO LoginDTO) { try { return await _ServiceRequestDAL.DeleteServiceRequest(ServiceRequestId, LoginDTO); } catch (Exception) { throw; } } } }