package com.dacrt.SBIABackend.dto.requestDto;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

public class RiskRequestDto {

	private Integer instrument;
	@JsonProperty("initialdate")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date initialDate;
    @JsonProperty("relateditemid")
    private Integer relateditemid;
    @Size(max = 128)
    @JsonProperty("relateditemdsc")
    private String relateditemdsc;
    private Integer status;
    private BigDecimal probability;
    private BigDecimal impact;
    
    @Min(0) @Max(100)
    private BigDecimal attenuator;
    
    private String dsc;
    private List<FactorDto> factors;
    
	public RiskRequestDto(Integer instrument, Date initialDate, Integer relateditemid,
			@Size(max = 128) String relateditemdsc, Integer status, BigDecimal probability, BigDecimal impact,
			@Min(0) @Max(100) BigDecimal attenuator, String dsc, List<FactorDto> factors) {
		super();
		this.instrument = instrument;
		this.initialDate = initialDate;
		this.relateditemid = relateditemid;
		this.relateditemdsc = relateditemdsc;
		this.status = status;
		this.probability = probability;
		this.impact = impact;
		this.attenuator = attenuator;
		this.dsc = dsc;
		this.factors = factors;
	}

	public RiskRequestDto() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Integer getInstrument() {
		return instrument;
	}

	public void setInstrument(Integer instrument) {
		this.instrument = instrument;
	}

	public Date getInitialDate() {
		return initialDate;
	}

	public void setInitialDate(Date initialDate) {
		this.initialDate = initialDate;
	}

	public Integer getRelatedItemId() {
		return relateditemid;
	}

	public void setRelatedItemId(Integer relateditemid) {
		this.relateditemid = relateditemid;
	}

	public String getRelatedItemDsc() {
		return relateditemdsc;
	}

	public void setRelatedItemDsc(String relateditemdsc) {
		this.relateditemdsc = relateditemdsc;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public BigDecimal getProbability() {
		return probability;
	}

	public void setProbability(BigDecimal probability) {
		this.probability = probability;
	}

	public BigDecimal getImpact() {
		return impact;
	}

	public void setImpact(BigDecimal impact) {
		this.impact = impact;
	}

	public BigDecimal getAttenuator() {
		return attenuator;
	}

	public void setAttenuator(BigDecimal attenuator) {
		this.attenuator = attenuator;
	}

	public String getDsc() {
		return dsc;
	}

	public void setDsc(String dsc) {
		this.dsc = dsc;
	}

	public List<FactorDto> getFactors() {
		return factors;
	}

	public void setFactors(List<FactorDto> factors) {
		this.factors = factors;
	}
    
}
