package com.mx.dla.dda.contrato.transaccion.terminos.actions;

import org.springframework.beans.factory.annotation.Autowired;

import com.mx.dla.dda.contrato.common.actions.BaseContratoAction;
import com.mx.dla.dda.contrato.transaccion.exceptions.dtos.TransaccionException;
import com.mx.dla.dda.contrato.transaccion.terminos.bos.TerminosLibreria;
import com.mx.dla.dda.contrato.transaccion.terminos.bos.TerminosTransaccionBO;
import com.mx.dla.dda.contrato.transaccion.terminos.dtos.LibreriaDTO;
import com.opensymphony.xwork2.Action;

public class TerminosLibreriaAction extends BaseContratoAction {

	private static final long serialVersionUID = 1L;

	@Autowired
	private TerminosLibreria service;
	
	@Autowired
	private TerminosTransaccionBO comun;
	
	private LibreriaDTO libreria;	
	private String mensaje;
	private String error;
	private Long idContrato;
	
	public String obtener(){
		try 
		{			
			libreria = service.obtenerLibreria((Long)this.getSession().get("idContrato"));
		}catch (TransaccionException e) {
			error = e.getMessage();
		}		
		return Action.SUCCESS;
	}
	
	public String guardar(){
		try 
		{

			comun.guardarDatosComun(libreria.getComun(), this.idContrato);
			service.guardarLibreria(libreria, this.idContrato);
			comun.calculaPagoMinGarantizado(this.idContrato);
			
		}catch (TransaccionException e) {
			error = "Error al guardar los Terminos 	Libererķa";				
		}catch (Exception e) {
			error = "Error al guardar los Terminos Premium";
			logger.error("Error {}",e);
		}		
		return Action.SUCCESS;
	}

	public String      getMensaje()     { return mensaje; }
	public String      getError()       { return error; }
	public LibreriaDTO getLibreria()    { return libreria; }

	public void setLibreria(LibreriaDTO libreria) { this.libreria = libreria; }
	public void setIdContrato(Long idContrato) { this.idContrato = idContrato; }	 	
}