package com.bizofficer.admin.parents;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Service
public class ParentAddChildController {
	
	private static final Logger logger = Logger.getLogger(ParentAddChildController.class);

	@Autowired
	ParentsChildrenAdmService listServiceObj;
	
	@Autowired
	private ParentAddChildService serviceObj;
	
	@RequestMapping(value = {"/admin-parents-add-students"}, method = {RequestMethod.POST})
	public ResponseEntity<Object> execute(@ModelAttribute("SpringWeb")ParentsAdmRequest objBean, @RequestHeader("token") String token, @RequestHeader("loginEmailId") String loginEmailId) {
		
		try {
			
			objBean.setToken(token);
			objBean.setLoginEmailId(loginEmailId);
			ParentsAdmResponse tsrbObj = (ParentsAdmResponse) (Object) serviceObj.execute(objBean);
			
			if(tsrbObj.getResponseTxt().equals("success")) {
				objBean.setEmailId(loginEmailId);
				ParentsAdmResponse tsObj = (ParentsAdmResponse) (Object) listServiceObj.execute(objBean);
				tsrbObj.setList(tsObj.getList());
			}
			
			logger.info("ResponseTxt: "+tsrbObj.getResponseTxt());
			
			HttpHeaders headers = new HttpHeaders();

			return ResponseEntity.ok().headers(headers).body(tsrbObj);
			        
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
	}
	

	
	
}
