package com.mx.dla.dda.reporte.cpview.dtos;

import java.awt.List;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;

public class CostPerViewEstudioMensualDatosDTO implements Serializable {

	private String estudio;
	private Double amortizacionEnero;
	private Double visualizacionesEnero;
	private Double costoVisualizacionEnero;
	private Double amortizacionFebrero;
	private Double visualizacionesFebrero;
	private Double costoVisualizacionFebrero;
	private Double amortizacionMarzo;
	private Double visualizacionesMarzo;
	private Double costoVisualizacionMarzo;
	private Double amortizacionAbril;
	private Double visualizacionesAbril;
	private Double costoVisualizacionAbril;
	private Double amortizacionMayo;
	private Double visualizacionesMayo;
	private Double costoVisualizacionMayo;
	private Double amortizacionJunio;
	private Double visualizacionesJunio;
	private Double costoVisualizacionJunio;
	private Double amortizacionJulio;
	private Double visualizacionesJulio;
	private Double costoVisualizacionJulio;
	private Double amortizacionAgosto;
	private Double visualizacionesAgosto;
	private Double costoVisualizacionAgosto;
	private Double amortizacionSeptiembre;
	private Double visualizacionesSeptiembre;
	private Double costoVisualizacionSeptiembre;
	private Double amortizacionOctubre;
	private Double visualizacionesOctubre;
	private Double costoVisualizacionOctubre;
	private Double amortizacionNoviembre;
	private Double visualizacionesNoviembre;
	private Double costoVisualizacionNoviembre;
	private Double amortizacionDiciembre;
	private Double visualizacionesDiciembre;
	private Double costoVisualizacionDiciembre;
	private Double amortizacionTotal;
	private Double visualizacionesTotal;
	private Double costoVisualizacionTotal;
	private Long   nivel;


	public String getEstudio() {
		return estudio;
	}

	public void setEstudio(String estudio) {
		this.estudio = estudio;
	}

	public Double getAmortizacionEnero() {
		return amortizacionEnero;
	}

	public void setAmortizacionEnero(Double amortizacionEnero) {
		this.amortizacionEnero = amortizacionEnero;
	}

	public Double getVisualizacionesEnero() {
		return visualizacionesEnero;
	}

	public void setVisualizacionesEnero(Double visualizacionesEnero) {
		this.visualizacionesEnero = visualizacionesEnero;
	}

	public Double getCostoVisualizacionEnero() {
		return costoVisualizacionEnero;
	}

	public void setCostoVisualizacionEnero(Double costoVisualizacionEnero) {
		this.costoVisualizacionEnero = costoVisualizacionEnero;
	}

	public Double getAmortizacionFebrero() {
		return amortizacionFebrero;
	}

	public void setAmortizacionFebrero(Double amortizacionFebrero) {
		this.amortizacionFebrero = amortizacionFebrero;
	}

	public Double getVisualizacionesFebrero() {
		return visualizacionesFebrero;
	}

	public void setVisualizacionesFebrero(Double visualizacionesFebrero) {
		this.visualizacionesFebrero = visualizacionesFebrero;
	}

	public Double getCostoVisualizacionFebrero() {
		return costoVisualizacionFebrero;
	}

	public void setCostoVisualizacionFebrero(Double costoVisualizacionFebrero) {
		this.costoVisualizacionFebrero = costoVisualizacionFebrero;
	}

	public Double getAmortizacionMarzo() {
		return amortizacionMarzo;
	}

	public void setAmortizacionMarzo(Double amortizacionMarzo) {
		this.amortizacionMarzo = amortizacionMarzo;
	}

	public Double getVisualizacionesMarzo() {
		return visualizacionesMarzo;
	}

	public void setVisualizacionesMarzo(Double visualizacionesMarzo) {
		this.visualizacionesMarzo = visualizacionesMarzo;
	}

	public Double getCostoVisualizacionMarzo() {
		return costoVisualizacionMarzo;
	}

	public void setCostoVisualizacionMarzo(Double costoVisualizacionMarzo) {
		this.costoVisualizacionMarzo = costoVisualizacionMarzo;
	}

	public Double getAmortizacionAbril() {
		return amortizacionAbril;
	}

	public void setAmortizacionAbril(Double amortizacionAbril) {
		this.amortizacionAbril = amortizacionAbril;
	}

	public Double getVisualizacionesAbril() {
		return visualizacionesAbril;
	}

	public void setVisualizacionesAbril(Double visualizacionesAbril) {
		this.visualizacionesAbril = visualizacionesAbril;
	}

	public Double getCostoVisualizacionAbril() {
		return costoVisualizacionAbril;
	}

	public void setCostoVisualizacionAbril(Double costoVisualizacionAbril) {
		this.costoVisualizacionAbril = costoVisualizacionAbril;
	}

	public Double getAmortizacionMayo() {
		return amortizacionMayo;
	}

	public void setAmortizacionMayo(Double amortizacionMayo) {
		this.amortizacionMayo = amortizacionMayo;
	}

	public Double getVisualizacionesMayo() {
		return visualizacionesMayo;
	}

	public void setVisualizacionesMayo(Double visualizacionesMayo) {
		this.visualizacionesMayo = visualizacionesMayo;
	}

	public Double getCostoVisualizacionMayo() {
		return costoVisualizacionMayo;
	}

	public void setCostoVisualizacionMayo(Double costoVisualizacionMayo) {
		this.costoVisualizacionMayo = costoVisualizacionMayo;
	}

	public Double getAmortizacionJunio() {
		return amortizacionJunio;
	}

	public void setAmortizacionJunio(Double amortizacionJunio) {
		this.amortizacionJunio = amortizacionJunio;
	}

	public Double getVisualizacionesJunio() {
		return visualizacionesJunio;
	}

	public void setVisualizacionesJunio(Double visualizacionesJunio) {
		this.visualizacionesJunio = visualizacionesJunio;
	}

	public Double getCostoVisualizacionJunio() {
		return costoVisualizacionJunio;
	}

	public void setCostoVisualizacionJunio(Double costoVisualizacionJunio) {
		this.costoVisualizacionJunio = costoVisualizacionJunio;
	}

	public Double getAmortizacionJulio() {
		return amortizacionJulio;
	}

	public void setAmortizacionJulio(Double amortizacionJulio) {
		this.amortizacionJulio = amortizacionJulio;
	}

	public Double getVisualizacionesJulio() {
		return visualizacionesJulio;
	}

	public void setVisualizacionesJulio(Double visualizacionesJulio) {
		this.visualizacionesJulio = visualizacionesJulio;
	}

	public Double getCostoVisualizacionJulio() {
		return costoVisualizacionJulio;
	}

	public void setCostoVisualizacionJulio(Double costoVisualizacionJulio) {
		this.costoVisualizacionJulio = costoVisualizacionJulio;
	}

	public Double getAmortizacionAgosto() {
		return amortizacionAgosto;
	}

	public void setAmortizacionAgosto(Double amortizacionAgosto) {
		this.amortizacionAgosto = amortizacionAgosto;
	}

	public Double getVisualizacionesAgosto() {
		return visualizacionesAgosto;
	}

	public void setVisualizacionesAgosto(Double visualizacionesAgosto) {
		this.visualizacionesAgosto = visualizacionesAgosto;
	}

	public Double getCostoVisualizacionAgosto() {
		return costoVisualizacionAgosto;
	}

	public void setCostoVisualizacionAgosto(Double costoVisualizacionAgosto) {
		this.costoVisualizacionAgosto = costoVisualizacionAgosto;
	}

	public Double getAmortizacionSeptiembre() {
		return amortizacionSeptiembre;
	}

	public void setAmortizacionSeptiembre(Double amortizacionSeptiembre) {
		this.amortizacionSeptiembre = amortizacionSeptiembre;
	}

	public Double getVisualizacionesSeptiembre() {
		return visualizacionesSeptiembre;
	}

	public void setVisualizacionesSeptiembre(Double visualizacionesSeptiembre) {
		this.visualizacionesSeptiembre = visualizacionesSeptiembre;
	}

	public Double getCostoVisualizacionSeptiembre() {
		return costoVisualizacionSeptiembre;
	}

	public void setCostoVisualizacionSeptiembre(Double costoVisualizacionSeptiembre) {
		this.costoVisualizacionSeptiembre = costoVisualizacionSeptiembre;
	}

	public Double getAmortizacionOctubre() {
		return amortizacionOctubre;
	}

	public void setAmortizacionOctubre(Double amortizacionOctubre) {
		this.amortizacionOctubre = amortizacionOctubre;
	}

	public Double getVisualizacionesOctubre() {
		return visualizacionesOctubre;
	}

	public void setVisualizacionesOctubre(Double visualizacionesOctubre) {
		this.visualizacionesOctubre = visualizacionesOctubre;
	}

	public Double getCostoVisualizacionOctubre() {
		return costoVisualizacionOctubre;
	}

	public void setCostoVisualizacionOctubre(Double costoVisualizacionOctubre) {
		this.costoVisualizacionOctubre = costoVisualizacionOctubre;
	}

	public Double getAmortizacionNoviembre() {
		return amortizacionNoviembre;
	}

	public void setAmortizacionNoviembre(Double amortizacionNoviembre) {
		this.amortizacionNoviembre = amortizacionNoviembre;
	}

	public Double getVisualizacionesNoviembre() {
		return visualizacionesNoviembre;
	}

	public void setVisualizacionesNoviembre(Double visualizacionesNoviembre) {
		this.visualizacionesNoviembre = visualizacionesNoviembre;
	}

	public Double getCostoVisualizacionNoviembre() {
		return costoVisualizacionNoviembre;
	}

	public void setCostoVisualizacionNoviembre(Double costoVisualizacionNoviembre) {
		this.costoVisualizacionNoviembre = costoVisualizacionNoviembre;
	}

	public Double getAmortizacionDiciembre() {
		return amortizacionDiciembre;
	}

	public void setAmortizacionDiciembre(Double amortizacionDiciembre) {
		this.amortizacionDiciembre = amortizacionDiciembre;
	}

	public Double getVisualizacionesDiciembre() {
		return visualizacionesDiciembre;
	}

	public void setVisualizacionesDiciembre(Double visualizacionesDiciembre) {
		this.visualizacionesDiciembre = visualizacionesDiciembre;
	}

	public Double getCostoVisualizacionDiciembre() {
		return costoVisualizacionDiciembre;
	}

	public void setCostoVisualizacionDiciembre(Double costoVisualizacionDiciembre) {
		this.costoVisualizacionDiciembre = costoVisualizacionDiciembre;
	}
	
	public Double getAmortizacionTotal() {
		return amortizacionTotal;
	}

	public void setAmortizacionTotal(Double amortizacionTotal) {
		this.amortizacionTotal = amortizacionTotal;
	}

	public Double getVisualizacionesTotal() {
		return visualizacionesTotal;
	}

	public void setVisualizacionesTotal(Double visualizacionesTotal) {
		this.visualizacionesTotal = visualizacionesTotal;
	}

	public Double getCostoVisualizacionTotal() {
		return costoVisualizacionTotal;
	}

	public void setCostoVisualizacionTotal(Double costoVisualizacionTotal) {
		this.costoVisualizacionTotal = costoVisualizacionTotal;
	}

	public Long getNivel() {
		return nivel;
	}

	public void setNivel(Long nivel) {
		this.nivel = nivel;
	}

	public void print() {
		System.out.println("BEGIN");
		for (Field field : this.getClass().getDeclaredFields())
			try {
				System.out.println(field.get(this));
			}
			catch (IllegalArgumentException | IllegalAccessException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		System.out.println("END");
	}
	
	

	public String[] getFieldsAsRow() throws IllegalArgumentException, IllegalAccessException {
		Field[] fields = this.getClass().getDeclaredFields();
		String[] row = new String[fields.length];

		for (int i = 0; i < fields.length; i++)
			row[i] = fields[i].get(this) != null ? fields[i].get(this).toString() : "0.0";

		return row;
	}


	@Override
	public String toString() {
		return "CostPeerReviewEstudioMensualDatosDTO [estudio=" + estudio + ", amortizacionEnero=" + amortizacionEnero + ", visualizacionesEnero=" + visualizacionesEnero + ", costoVisualizacionEnero="
		        + costoVisualizacionEnero + ", amortizacionFebrero=" + amortizacionFebrero + ", visualizacionesFebrero=" + visualizacionesFebrero + ", costoVisualizacionFebrero="
		        + costoVisualizacionFebrero + ", amortizacionMarzo=" + amortizacionMarzo + ", visualizacionesMarzo=" + visualizacionesMarzo + ", costoVisualizacionMarzo=" + costoVisualizacionMarzo
		        + ", amortizacionAbril=" + amortizacionAbril + ", visualizacionesAbril=" + visualizacionesAbril + ", costoVisualizacionAbril=" + costoVisualizacionAbril + ", amortizacionMayo="
		        + amortizacionMayo + ", visualizacionesMayo=" + visualizacionesMayo + ", costoVisualizacionMayo=" + costoVisualizacionMayo + ", amortizacionJunio=" + amortizacionJunio
		        + ", visualizacionesJunio=" + visualizacionesJunio + ", costoVisualizacionJunio=" + costoVisualizacionJunio + ", amortizacionJulio=" + amortizacionJulio + ", visualizacionesJulio="
		        + visualizacionesJulio + ", costoVisualizacionJulio=" + costoVisualizacionJulio + ", amortizacionAgosto=" + amortizacionAgosto + ", visualizacionesAgosto=" + visualizacionesAgosto
		        + ", costoVisualizacionAgosto=" + costoVisualizacionAgosto + ", amortizacionSeptiembre=" + amortizacionSeptiembre + ", visualizacionesSeptiembre=" + visualizacionesSeptiembre
		        + ", costoVisualizacionSeptiembre=" + costoVisualizacionSeptiembre + ", amortizacionOctubre=" + amortizacionOctubre + ", visualizacionesOctubre=" + visualizacionesOctubre
		        + ", costoVisualizacionOctubre=" + costoVisualizacionOctubre + ", amortizacionNoviembre=" + amortizacionNoviembre + ", visualizacionesNoviembre=" + visualizacionesNoviembre
		        + ", costoVisualizacionNoviembre=" + costoVisualizacionNoviembre + ", amortizacionDiciembre=" + amortizacionDiciembre + ", visualizacionesDiciembre=" + visualizacionesDiciembre
		        + ", costoVisualizacionDiciembre=" + costoVisualizacionDiciembre + "]";
	}

}
