package net.gepafin.tendermanagement.service; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.entities.ApplicationEntity; import net.gepafin.tendermanagement.model.request.ApplicationRequest; import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.FormActionEnum; import net.gepafin.tendermanagement.model.request.ApplicationRequestBean; import net.gepafin.tendermanagement.model.response.ApplicationGetResponseBean; import net.gepafin.tendermanagement.model.response.ApplicationResponse; import net.gepafin.tendermanagement.model.response.ApplicationResponseBean; import net.gepafin.tendermanagement.model.response.ApplicationSignedDocumentResponse; import net.gepafin.tendermanagement.model.response.NextOrPreviousFormResponse; import java.util.List; import org.springframework.web.multipart.MultipartFile; public interface ApplicationService { public ApplicationResponseBean createApplication(HttpServletRequest request, ApplicationRequestBean applicationRequestBean,Long applicationId, Long formId); ApplicationGetResponseBean getApplicationByFormId(HttpServletRequest request, Long applicationId,Long formId); List getAllApplications(HttpServletRequest request,Long callId, Long companyId,List statusList); void deleteApplication(HttpServletRequest request, Long applicationId); public ApplicationEntity validateApplication(Long applicationId); public ApplicationResponse createApplication(HttpServletRequest request, Long companyId, ApplicationRequest applicationRequest, Long callId); public NextOrPreviousFormResponse getNextOrPreviousForm(HttpServletRequest request, Long applicationId, Long formId, FormActionEnum action); public ApplicationResponse updateApplicationStatus(HttpServletRequest request, Long applicationId, ApplicationStatusTypeEnum status); public ApplicationSignedDocumentResponse uploadSignedDocument(HttpServletRequest request, Long applicationId, MultipartFile file); public ApplicationSignedDocumentResponse getSignedDocument(HttpServletRequest request, Long applicationId); public void deleteSignedDocument(HttpServletRequest request, Long applicationId); public ApplicationResponse validateApplication(HttpServletRequest request, Long applicationId); byte[] downloadApplicationDocumentsAsZip(HttpServletRequest request, Long applicationId); }