/*
 * 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.arrebol.taxiservicios.model.stocktaking;


import com.arrebol.taxiservicios.model.admin.Expense;
import com.arrebol.taxiservicios.model.core.User;
import com.arrebol.taxiservicios.model.view.report.PaymentClient;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 *
 * @author Picasso
 */
public class ServiceOrderHasProductId implements Serializable {

    private String serviceOrderId;
    private String productId;
    private PaymentClient paymentClient;
    private Date payDate;
    private User payCreatedBy;
    private Date financeDate;
    private User financeCreatedBy;
    private Expense expense;


    public ServiceOrderHasProductId() {
    }

    public ServiceOrderHasProductId(String serviceOrderId) {
        this.serviceOrderId = serviceOrderId;
    }

    public ServiceOrderHasProductId(String serviceOrderId, String productId) {
        this.serviceOrderId = serviceOrderId;
        this.productId = productId;
    }

    public ServiceOrderHasProductId(String serviceOrderId, String productId, PaymentClient paymentClient) {
        this.serviceOrderId = serviceOrderId;
        this.productId = productId;
        this.paymentClient = paymentClient;
    }

    public ServiceOrderHasProductId(String serviceOrderId, String productId, PaymentClient paymentClient, Date payDate, User payCreatedBy, Date financeDate, User financeCreatedBy) {
        this.serviceOrderId = serviceOrderId;
        this.productId = productId;
        this.paymentClient = paymentClient;
        this.payDate = payDate;
        this.payCreatedBy = payCreatedBy;
        this.financeDate = financeDate;
        this.financeCreatedBy = financeCreatedBy;
    }

    public ServiceOrderHasProductId(String serviceOrderId, String productId, Date payDate, User payCreatedBy, Expense expense) {
        this.serviceOrderId = serviceOrderId;
        this.productId = productId;
        this.payDate = payDate;
        this.payCreatedBy = payCreatedBy;
        this.expense = expense;
    }
    
    
    

    

   
    
    

    public String getServiceOrderId() {
        return serviceOrderId;
    }

    public void setServiceOrderId(String serviceOrderId) {
        this.serviceOrderId = serviceOrderId;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public PaymentClient getPaymentClient() {
        return paymentClient;
    }

    public void setPaymentClient(PaymentClient paymentClient) {
        this.paymentClient = paymentClient;
    }

    public Date getPayDate() {
        return payDate;
    }

    public void setPayDate(Date payDate) {
        this.payDate = payDate;
    }

    public User getPayCreatedBy() {
        return payCreatedBy;
    }

    public void setPayCreatedBy(User payCreatedBy) {
        this.payCreatedBy = payCreatedBy;
    }

    public Date getFinanceDate() {
        return financeDate;
    }

    public void setFinanceDate(Date financeDate) {
        this.financeDate = financeDate;
    }

    public User getFinanceCreatedBy() {
        return financeCreatedBy;
    }

    public void setFinanceCreatedBy(User financeCreatedBy) {
        this.financeCreatedBy = financeCreatedBy;
    }

    public Expense getExpense() {
        return expense;
    }

    public void setExpense(Expense expense) {
        this.expense = expense;
    }
    
    

    @Override
    public String toString() {
        return "ServiceOrderHasProductId{" + "serviceOrderId=" + serviceOrderId + ", productId=" + productId + '}';
    }

    @Override
    public int hashCode() {
        int hash = 5;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ServiceOrderHasProductId other = (ServiceOrderHasProductId) obj;
        if (!Objects.equals(this.serviceOrderId, other.serviceOrderId)) {
            return false;
        }
        if (!Objects.equals(this.productId, other.productId)) {
            return false;
        }
        return true;
    }
    
    

    private static final long serialVersionUID = 8252758190267158601L;

}
