using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using GB5Shared.DTO.Framework.AutoNumber; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.GenerateAutoNumber; using GB5Shared.ResponseStandard; using FrameworkDAL.CustomCode.ServiceRequestField; using FrameworkDAL.DTO.ServiceRequestField; namespace FrameworkBLL.ServiceRequestField { public class ServiceRequestFieldBLL : IServiceRequestFieldBLL { private readonly IServiceRequestFieldDAL _ServiceRequestFieldDAL; private readonly AutoNumber _autoNumber; public ServiceRequestFieldBLL(IServiceRequestFieldDAL IServiceRequestFieldDAL, AutoNumber autoNumber) { _ServiceRequestFieldDAL = IServiceRequestFieldDAL; _autoNumber = autoNumber; } public async Task GetServiceRequestField(int ServiceRequestFieldId, LoginDTO LoginDTO) { try { return await _ServiceRequestFieldDAL.GetServiceRequestField(ServiceRequestFieldId, LoginDTO); } catch (Exception) { throw; } } public async Task GetSelectListServiceRequestField(CriteriaDTO criteriaDTO, LoginDTO loginDTO) { try { return await _ServiceRequestFieldDAL.GetSelectListServiceRequestField(criteriaDTO, loginDTO); } catch (Exception) { throw; } } public async Task SaveServiceRequestField(ServiceRequestFieldDTO ServiceRequestFieldDTO, LoginDTO LoginDTO) { try { int initialId = ServiceRequestFieldDTO.ServiceRequestFieldId; int count = 1 + initialId; if (initialId == 0) { //AutoNumberDTO autoNumberDTO = await _autoNumber.GetNumberAsync(count, "SERVICEREQUESTFIELD", LoginDTO); //ServiceRequestFieldDTO.ServiceRequestFieldId = autoNumberDTO.StartNumber; await _ServiceRequestFieldDAL.SaveServiceRequestField(ServiceRequestFieldDTO, LoginDTO); return "Details Saved Successfully"; } else { await _ServiceRequestFieldDAL.UpdateServiceRequestField(ServiceRequestFieldDTO, LoginDTO); return "Details Updated Successfully"; } } catch (Exception) { throw; } } public async Task> DeleteServiceRequestField(int ServiceRequestFieldId, LoginDTO LoginDTO) { try { return await _ServiceRequestFieldDAL.DeleteServiceRequestField(ServiceRequestFieldId, LoginDTO); } catch (Exception) { throw; } } } }