Subversion Repositories SmartDukaan

Rev

Rev 27360 | Rev 27918 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.dao.model;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;

import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
import com.spice.profitmandi.dao.enumuration.catalog.TargetType;
import com.spice.profitmandi.service.offers.ItemCriteria;
import com.spice.profitmandi.service.offers.PartnerCriteria;

public class CreateOfferRequest {
        private int id;
        private boolean active;
        private String name;
        private LocalDateTime startDate;
        private LocalDateTime endDate;
        private String offerNotes;
        private String terms;
        private TargetType targetType;
        private String activationBrands;
        private OfferSchemeType schemeType;
        private double sellinPercentage;
        private double brandShareTerms;
        private ItemCriteria itemCriteria;
        private String itemCriteriaString;
        private LocalDateTime createdOn;
        private List<TargetSlab> targetSlabs;
        private PartnerCriteria partnerCriteria;
        private String partnerCriteriaString;
        
        public int getEligibleSale() {
                return eligibleSale;
        }
        public void setEligibleSale(int eligibleSale) {
                this.eligibleSale = eligibleSale;
        }

        private int eligibleSale;
        private TargetSlab nextTargetSlab;
        private TargetSlab currentTargetSlab;
        
        

        public TargetSlab getNextTargetSlab() {
                return nextTargetSlab;
        }
        public void setNextTargetSlab(TargetSlab nextTargetSlab) {
                this.nextTargetSlab = nextTargetSlab;
        }
        public TargetSlab getCurrentTargetSlab() {
                return currentTargetSlab;
        }
        public void setCurrentTargetSlab(TargetSlab currentTargetSlab) {
                this.currentTargetSlab = currentTargetSlab;
        }

        public boolean isActive() {
                return active;
        }

        public void setActive(boolean active) {
                this.active = active;
        }

        public LocalDateTime getCreatedOn() {
                return createdOn;
        }
        
        

        public String getActivationBrands() {
                return activationBrands;
        }
        public void setActivationBrands(String activationBrands) {
                this.activationBrands = activationBrands;
        }
        public void setCreatedOn(LocalDateTime createdOn) {
                this.createdOn = createdOn;
        }


        public String getItemCriteriaString() {
                return itemCriteriaString;
        }

        public String getPartnerCriteriaString() {
                return partnerCriteriaString;
        }

        public void setPartnerCriteriaString(String partnerCriteriaString) {
                this.partnerCriteriaString = partnerCriteriaString;
        }

        public PartnerCriteria getPartnerCriteria() {
                return partnerCriteria;
        }

        public void setPartnerCriteria(PartnerCriteria partnerCriteria) {
                this.partnerCriteria = partnerCriteria;
        }

        public ItemCriteria getItemCriteria() {
                return itemCriteria;
        }

        public void setItemCriteria(ItemCriteria itemCriteria) {
                this.itemCriteria = itemCriteria;
        }

        public double getBrandShareTerms() {
                return brandShareTerms;
        }

        public void setBrandShareTerms(double brandShareTerms) {
                this.brandShareTerms = brandShareTerms;
        }

        public List<TargetSlab> getTargetSlabs() {
                return targetSlabs;
        }

        public void setTargetSlabs(List<TargetSlab> targetSlabs) {
                this.targetSlabs = targetSlabs;
        }

        @Override
        public String toString() {
                return "CreateOfferRequest [id=" + id + ", active=" + active + ", name=" + name + ", startDate=" + startDate
                                + ", endDate=" + endDate + ", offerNotes=" + offerNotes + ", terms=" + terms + ", targetType="
                                + targetType + ", activationBrands=" + activationBrands + ", schemeType=" + schemeType
                                + ", sellinPercentage=" + sellinPercentage + ", brandShareTerms=" + brandShareTerms + ", itemCriteria="
                                + itemCriteria + ", itemCriteriaString=" + itemCriteriaString + ", createdOn=" + createdOn
                                + ", targetSlabs=" + targetSlabs + ", partnerCriteria=" + partnerCriteria + ", partnerCriteriaString="
                                + partnerCriteriaString + ", eligibleSale=" + eligibleSale + ", nextTargetSlab=" + nextTargetSlab
                                + ", currentTargetSlab=" + currentTargetSlab + "]";
        }

        public int getId() {
                return id;
        }

        public void setId(int id) {
                this.id = id;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public LocalDateTime getStartDate() {
                return startDate;
        }

        public void setStartDate(LocalDateTime startDate) {
                this.startDate = startDate;
        }

        public LocalDateTime getEndDate() {
                return endDate;
        }

        public void setEndDate(LocalDateTime endDate) {
                this.endDate = endDate;
        }

        public TargetType getTargetType() {
                return targetType;
        }

        public void setTargetType(TargetType targetType) {
                this.targetType = targetType;
        }

        public OfferSchemeType getSchemeType() {
                return schemeType;
        }

        public void setSchemeType(OfferSchemeType schemeType) {
                this.schemeType = schemeType;
        }

        public double getSellinPercentage() {
                return sellinPercentage;
        }

        public void setSellinPercentage(double sellinPercentage) {
                this.sellinPercentage = sellinPercentage;
        }

        public String getOfferNotes() {
                return offerNotes;
        }

        public void setOfferNotes(String offerNotes) {
                this.offerNotes = offerNotes;
        }

        public String getTerms() {
                return terms;
        }

        public void setTerms(String terms) {
                this.terms = terms;
        }

        public void setItemCriteriaString(String itemCriteriaString) {
                this.itemCriteriaString = itemCriteriaString;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                CreateOfferRequest other = (CreateOfferRequest) obj;
                if (activationBrands == null) {
                        if (other.activationBrands != null)
                                return false;
                } else if (!activationBrands.equals(other.activationBrands))
                        return false;
                if (active != other.active)
                        return false;
                if (Double.doubleToLongBits(brandShareTerms) != Double.doubleToLongBits(other.brandShareTerms))
                        return false;
                if (createdOn == null) {
                        if (other.createdOn != null)
                                return false;
                } else if (!createdOn.equals(other.createdOn))
                        return false;
                if (currentTargetSlab == null) {
                        if (other.currentTargetSlab != null)
                                return false;
                } else if (!currentTargetSlab.equals(other.currentTargetSlab))
                        return false;
                if (eligibleSale != other.eligibleSale)
                        return false;
                if (endDate == null) {
                        if (other.endDate != null)
                                return false;
                } else if (!endDate.equals(other.endDate))
                        return false;
                if (id != other.id)
                        return false;
                if (itemCriteria == null) {
                        if (other.itemCriteria != null)
                                return false;
                } else if (!itemCriteria.equals(other.itemCriteria))
                        return false;
                if (itemCriteriaString == null) {
                        if (other.itemCriteriaString != null)
                                return false;
                } else if (!itemCriteriaString.equals(other.itemCriteriaString))
                        return false;
                if (name == null) {
                        if (other.name != null)
                                return false;
                } else if (!name.equals(other.name))
                        return false;
                if (nextTargetSlab == null) {
                        if (other.nextTargetSlab != null)
                                return false;
                } else if (!nextTargetSlab.equals(other.nextTargetSlab))
                        return false;
                if (offerNotes == null) {
                        if (other.offerNotes != null)
                                return false;
                } else if (!offerNotes.equals(other.offerNotes))
                        return false;
                if (partnerCriteria == null) {
                        if (other.partnerCriteria != null)
                                return false;
                } else if (!partnerCriteria.equals(other.partnerCriteria))
                        return false;
                if (partnerCriteriaString == null) {
                        if (other.partnerCriteriaString != null)
                                return false;
                } else if (!partnerCriteriaString.equals(other.partnerCriteriaString))
                        return false;
                if (schemeType != other.schemeType)
                        return false;
                if (Double.doubleToLongBits(sellinPercentage) != Double.doubleToLongBits(other.sellinPercentage))
                        return false;
                if (startDate == null) {
                        if (other.startDate != null)
                                return false;
                } else if (!startDate.equals(other.startDate))
                        return false;
                if (targetSlabs == null) {
                        if (other.targetSlabs != null)
                                return false;
                } else if (!targetSlabs.equals(other.targetSlabs))
                        return false;
                if (targetType != other.targetType)
                        return false;
                if (terms == null) {
                        if (other.terms != null)
                                return false;
                } else if (!terms.equals(other.terms))
                        return false;
                return true;
        }

        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + ((activationBrands == null) ? 0 : activationBrands.hashCode());
                result = prime * result + (active ? 1231 : 1237);
                long temp;
                temp = Double.doubleToLongBits(brandShareTerms);
                result = prime * result + (int) (temp ^ (temp >>> 32));
                result = prime * result + ((createdOn == null) ? 0 : createdOn.hashCode());
                result = prime * result + ((currentTargetSlab == null) ? 0 : currentTargetSlab.hashCode());
                result = prime * result + eligibleSale;
                result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
                result = prime * result + id;
                result = prime * result + ((itemCriteria == null) ? 0 : itemCriteria.hashCode());
                result = prime * result + ((itemCriteriaString == null) ? 0 : itemCriteriaString.hashCode());
                result = prime * result + ((name == null) ? 0 : name.hashCode());
                result = prime * result + ((nextTargetSlab == null) ? 0 : nextTargetSlab.hashCode());
                result = prime * result + ((offerNotes == null) ? 0 : offerNotes.hashCode());
                result = prime * result + ((partnerCriteria == null) ? 0 : partnerCriteria.hashCode());
                result = prime * result + ((partnerCriteriaString == null) ? 0 : partnerCriteriaString.hashCode());
                result = prime * result + ((schemeType == null) ? 0 : schemeType.hashCode());
                temp = Double.doubleToLongBits(sellinPercentage);
                result = prime * result + (int) (temp ^ (temp >>> 32));
                result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());
                result = prime * result + ((targetSlabs == null) ? 0 : targetSlabs.hashCode());
                result = prime * result + ((targetType == null) ? 0 : targetType.hashCode());
                result = prime * result + ((terms == null) ? 0 : terms.hashCode());
                return result;
        }
}