/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.fidufosyga.rules;
import java.text.SimpleDateFormat;
import com.fidufosyga.rules.util.ValidarFecha;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

/**
 * 
 * @author 
 */
public class FechaInvalidaCampoObligatorioNov extends AbstractRule {

	String DATE_FORMAT = "dd/MM/yyyy";

	SimpleDateFormat sdf;

	// Create object of SimpleDateFormat and pass the desired date format.

	/** Creates a new instance of CampoVacio */
	public FechaInvalidaCampoObligatorioNov() {
		sdf = new SimpleDateFormat(DATE_FORMAT);
		sdf.setLenient(false);
	}

	public boolean performValidation(String field, String registro[],
			String nombreArchivo) {
            
        String campoTipoNovedad = (String) (getParams()[0]);
        int campoDepNovedad = Integer.parseInt(campoTipoNovedad);
        String TipoNovedad = registro[campoDepNovedad];
        
        String Novedad = (String) getParams()[1];
                     
       
        if ( TipoNovedad.equals(Novedad)) {          
                
            String FechaNovedad = registro[12];
            
		if (!ValidarFecha.esFecha(field)){  
                     
			return true; 
                }
		try { 
			//sdf.parse(field);
                    LocalDate fechaField = LocalDate.parse(field, DateTimeFormatter.ofPattern(DATE_FORMAT));
                    LocalDate fechaParam2 = LocalDate.parse(FechaNovedad, DateTimeFormatter.ofPattern(DATE_FORMAT));
                   
                   
                if (fechaField.isBefore(fechaParam2)) {
                       return true;
                } else {
                    return false;
                }
		} catch (Exception e) {
			return true;
		}
        
		//return false;
	}
            return false;
        }
        
        
}
