Package org.sis.ancmessaging.web

Source Code of org.sis.ancmessaging.web.TransporterController

package org.sis.ancmessaging.web;

import java.util.ArrayList;
import java.util.List;

import org.sis.ancmessaging.domain.Gott;
import org.sis.ancmessaging.domain.HealthPost;
import org.sis.ancmessaging.domain.Transporter;
import org.sis.ancmessaging.dto.TransporterDTO;
import org.sis.ancmessaging.json.CustomGenericResponse;
import org.sis.ancmessaging.json.CustomTransporterResponse;
import org.sis.ancmessaging.service.HealthPostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/admin/transporter")
public class TransporterController { // NO_UCD
  @Autowired
  private HealthPostService healthPostService;
 
  @RequestMapping(method = RequestMethod.GET)
  public String getMainPage(Model model) {
    List<HealthPost> healthPosts = healthPostService.getAll();
    model.addAttribute("healthPosts", healthPosts);
    TransporterDTO transporterDTO = new TransporterDTO();
    model.addAttribute("transporterDTO", transporterDTO);
    return "transporter";
  }
 
  @RequestMapping(value = "create", method = RequestMethod.POST)
  public String createTransporter(TransporterDTO transporterDTO, BindingResult result, Model model) {
    if (result.hasErrors()) {
      HealthPost healthPost = healthPostService.findById(transporterDTO.getPostId());
      model.addAttribute("healthPost", healthPost);
      List<Gott> gotts = healthPost.getGotts();
      model.addAttribute("gotts", gotts);
      model.addAttribute("transporterDTO", transporterDTO);
      return "/admin/healthpost/entries?pid=" + transporterDTO.getPostId();
    } else {
      Transporter transporter = transporterDTO.generateTransporter();
      transporter.setPhoneNumber("+251" + transporter.getPhoneNumber());
      HealthPost healthPost = healthPostService.findById(transporterDTO.getPostId());
      healthPostService.addTransporterToHp(transporter, healthPost);
      return "redirect:/admin/healthpost/entries?pid=" + transporterDTO.getPostId();
    }
   
  }
 
  @RequestMapping(value = "gettransporters", method = RequestMethod.GET)
  public @ResponseBody CustomTransporterResponse fetchTransporters(@RequestParam("postId") int postId,
      @RequestParam("page") int page, @RequestParam("rows") int rows) {
   
    CustomTransporterResponse response = new CustomTransporterResponse();
    StringBuilder sb = new StringBuilder();
   
    List<Transporter> transporters = healthPostService.getTransportersForHealthPost(postId, rows, page, sb);
    List<TransporterDTO> transporterDTOs = new ArrayList<TransporterDTO>();
    for (Transporter transporter : transporters) {
      TransporterDTO tDTO = new TransporterDTO();
      tDTO.setTransporterId(transporter.getTransporterId());
      tDTO.setFullName(transporter.getFullName());
      tDTO.setPhoneNumber(transporter.getPhoneNumber());
      tDTO.setPostId(postId);
      transporterDTOs.add(tDTO);
    }
    response.setPage(String.valueOf(page));
    response.setRows(transporterDTOs);
    response.setTotal(sb.toString());
    response.setRecords(String.valueOf(transporterDTOs.size()));
    return response;
  }
 
  @RequestMapping(value = "edittransporter", method = RequestMethod.POST)
  public @ResponseBody CustomGenericResponse editGott(
    @RequestParam("transporterId") int transporterId, @RequestParam("fullName") String fullName,
    @RequestParam("phoneNumber") String phoneNumber) {
   
    Transporter transporter = healthPostService.findTransporterById(transporterId);
    transporter.setFullName(fullName);
    transporter.setPhoneNumber(phoneNumber);
    boolean result = healthPostService.persistTransporter(transporter);
    CustomGenericResponse response = new CustomGenericResponse();
   
    if (result) {
      response.setMessage("Action Successful");
      response.setSuccess(true);
    } else {
      response.setMessage("Action Failed");
      response.setSuccess(false);
    }
    return response;
  }
}
TOP

Related Classes of org.sis.ancmessaging.web.TransporterController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.