nord vpnnord vpn
Ad

StaffController.java

mail@pastecode.io avatar
unknown
plain_text
22 days ago
5.4 kB
1
Indexable
Never
/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Servlet.java to edit this template
 */
package Controllers.Staff;

import DAO.ReservationDao;
import Model.Account;
import Model.Reservation;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author ADMIN
 */
@WebServlet(name = "StaffController", urlPatterns = {"/staffcontroller"})
public class StaffController extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession();
        Account Staff = (Account) session.getAttribute("account");
        int StaffId = Staff.getId();
        session.setAttribute("staffId", StaffId);
        ReservationDao dao = new ReservationDao();
        List<Reservation> re;
        String FilterDate = request.getParameter("filterbydate");
        String Search = request.getParameter("search");
        if (FilterDate != null) {
            int day, month, year;
            String StartDateraw = request.getParameter("startDate");
            String EndDateraw = request.getParameter("endDate");
            String[] startdateParts = StartDateraw.split("-");
            day = Integer.parseInt(startdateParts[0]);
            month = Integer.parseInt(startdateParts[1]);
            year = Integer.parseInt(startdateParts[2]);
            String StartDate = month + "-" + day + "-" + year;
            String[] enddateParts = EndDateraw.split("-");
            day = Integer.parseInt(enddateParts[0]);
            month = Integer.parseInt(enddateParts[1]);
            year = Integer.parseInt(enddateParts[2]);
            String EndDate = month + "-" + day + "-" + year;
            request.setAttribute("startdate", StartDate);
            request.setAttribute("enddate", EndDate);
            re = dao.filterbyDate(StaffId, StartDate, EndDate);
            request.setAttribute("listre", re);
        } else if (Search != null) {
            String SearchValue = request.getParameter("searchvalue");
            String SearchBy = request.getParameter("searchby");
            if (SearchBy.equalsIgnoreCase("id")) {
                try {
                    int reserId = Integer.parseInt(SearchValue);
                    re = dao.searchbyId(StaffId, reserId);
                    request.setAttribute("listre", re);
                } catch (Exception e) {
                    request.setAttribute("error", "Id must be a number");
                }
            } else if (SearchBy.equalsIgnoreCase("custormername")) {
                re = dao.searchbyCusName(StaffId, SearchValue);
                request.setAttribute("listre", re);
            } else if (SearchBy.equalsIgnoreCase("patient")) {
                re = dao.searchbyPatient(StaffId, SearchValue);
                request.setAttribute("listre", re);
            }          
        } else {
            re = dao.getReservation(StaffId);
            request.setAttribute("listre", re);
        }
        request.getRequestDispatcher("StaffReservation.jsp").forward(request, response);
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
Leave a Comment


nord vpnnord vpn
Ad