Examples of ResourceTender


Examples of org.zeroexchange.model.resource.participant.ResourceTender

    /**
     * {@inheritDoc}
     */
    @Override
    public void onEvent(TenderChanged event) {
        ResourceTender resourceTender = event.getResourceTender();
        if(!(resourceTender instanceof Supply)) {
            return;
        }
       
        Contract contract = event.getContract();
        User tenderOwner = resourceTender.getUser();
        if(tenderOwner != null && contract != null) {
            if(internalIsUserEffective(contract, tenderOwner.getId(), new HashSet<Integer>())) {
                contractWriter.markUserEffective(contract.getId(), tenderOwner);
            } else {
                contractWriter.markUserIneffective(contract.getId(), tenderOwner);
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

        if(userId.equals(contract.getOwner().getId())) {
            return true;
        }
        Collection<Resource> resources = contract.getResources();
        for(Resource resource : resources) {
            ResourceTender userTender = resourceInformant.getUserTender(resource, userId);
            if(userTender != null && userTender instanceof Supply
                    && userTender.getAcceptDate() != null) {
                User resourceOwner = resource.getOwner();
                Set<Need> resourceNeeds = resource.getNeeds();
                for(ResourceTender need: resourceNeeds) {
                    if(need.getAcceptDate() != null &&
                            need.getUser() != null &&
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean isUserConsumer(Resource resource, Integer userId) {
        ResourceTender resourceTender = getUserTender(resource, userId);
        return resourceTender != null && resourceTender instanceof Need;
    }
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean isUserSupplier(Resource resource, Integer userId) {
        ResourceTender resourceTender = getUserTender(resource, userId);
        return resourceTender != null && resourceTender instanceof Supply;
    }
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

    public BigDecimal getUserContributionPrice(Resource resource, User user, ZECurrency currency) {
        if(user == null) {
            return null;
        }
      
        ResourceTender userTender = getUserTender(resource, user.getId());
        if(userTender == null || userTender.getAcceptDate() == null ||
                userTender.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
            return BigDecimal.ZERO;
        }
       
        BigDecimal partnersContributionPrice = BigDecimal.ZERO;
        BigDecimal potentialUserContributionPrice = BigDecimal.ZERO;

        if (userTender instanceof Supply) {
            potentialUserContributionPrice = ((Supply) userTender).getTotalPrice();
            Set<Need> needs = resource.getNeeds();
            for(Need need: needs) {
                if (need.getAcceptDate() != null &&
                        need.getAmount().compareTo(BigDecimal.ZERO) > 0) {
                    partnersContributionPrice = partnersContributionPrice.add(potentialUserContributionPrice.
                            divide(userTender.getAmount(), RoundingMode.HALF_UP).
                            multiply(need.getAmount()));
                }
            }
        } else if(userTender instanceof Need) {
            Set<Supply> supplies = resource.getSupplies();
            for(Supply supply: supplies) {
                if (supply.getAcceptDate() != null &&
                    supply.getAmount().compareTo(BigDecimal.ZERO) > 0) {
                    BigDecimal supplyPrice = supply.getTotalPrice();
                    partnersContributionPrice = partnersContributionPrice.add(supplyPrice);
                    potentialUserContributionPrice = potentialUserContributionPrice.add(
                            supplyPrice.
                            divide(supply.getAmount(), RoundingMode.HALF_UP).
                            multiply(userTender.getAmount()));
                }
            }
        }
        BigDecimal userContributionPrice;
        if(potentialUserContributionPrice.compareTo(partnersContributionPrice) > 0) {
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean isResourceAccepted(Resource resource) {
        ResourceTender acceptedNeedTender = needDAO.getFirstAcceptedTender(
                resource.getId());
        if(acceptedNeedTender == null) {
            return false;
        }
        ResourceTender acceptedSupplyTender = supplyDAO.getFirstAcceptedTender(
                resource.getId());
        return acceptedSupplyTender != null;
    }
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

    /**
     * Returns status of the tender.
     */
    private PersonalTenderStatus getTenderStatus() {
        Resource resource = getResourceModel().getObject();
        ResourceTender userTender = resourceInformant.getUserTender(resource,
                authorizedUserService.getCurrentUserId());
        if(userTender != null) {
            return userTender.getAcceptDate() != null ? PersonalTenderStatus.APPROVED : PersonalTenderStatus.WAITING;
        }
        return PersonalTenderStatus.UNSAVED;
    }
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

     * Creates and returns the actual tender data.
     */
    private TenderData getTenderData() {
        TenderData data = new TenderData();
        Resource resource = getResourceModel().getObject();
        ResourceTender userTender = resourceInformant.getUserTender(resource,
                authorizedUserService.getCurrentUserId());

        TendersMultiplicity multiplicity = resource.getTendersMultiplicity();
        User currentUser = authorizedUserService.getCurrentUser();
        boolean hasConsumers = resourceInformant.hasConsumers(resource, currentUser);
        boolean hasSuppliers = resourceInformant.hasSuppliers(resource, currentUser);
       
        if (userTender != null) {
            data.setAmount(userTender.getAmount());
            data.setInfo(userTender.getAdditionalInfo());
            data.setTenderType(userTender instanceof Supply ? TenderType.SUPPLY
                    : TenderType.NEED);
            data.setLocation(userTender.getLocation());
            if (userTender instanceof Supply) {
                Supply supply = (Supply) userTender;
                BigDecimal workingHours = supply.getHours();
                data.setWorkingHours(workingHours);
                BigDecimal totalPrice = supply.getTotalPrice();
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

    /**
     * Saves the submitted data.
     */
    private void saveSubmittedData(TenderData tenderData) {
        ResourceTender tender = null;
        boolean isSupply = tenderData.getTenderType() == TenderType.SUPPLY;
        IModel<Resource> resourceModel = getResourceModel();
        Resource resource = resourceModel.getObject();
        if (isSupply) {
            Supply supply = new Supply();
            tender = supply;

            BigDecimal workingHours = tenderData.getWorkingHours();
            supply.setHours(workingHours);
            PriceType priceType = tenderData.getPriceType();
            supply.setPriceType(priceType);
            ZECurrency currencyCode = moneyManager.getDefaultCurrency();
            supply.setCurrency(currencyCode);
            BigDecimal totalPrice = tenderData.getTotalPrice();
            supply.setTotalPrice(totalPrice);
            supply.setSupplyTime(tenderData.getSupplyTime());
        } else {
            tender = new Need();
        }       
        User currentUser = authorizedUserService.getCurrentUser();
        tender.setResource(resource);
        tender.setUser(currentUser);
        tender.setAdditionalInfo(tenderData.getInfo());
        tender.setAmount(tenderData.getAmount());
        tender.setLocation(tenderData.getLocation());

        ResourceTender resourceTender = tenderWriter.save(tender);

        if (currentUser != null && currentUser.equals(resource.getOwner())) {
            if(resourceTender instanceof Need) {
                needWorkflowManager.acceptTender((Need) resourceTender);
            } else {
View Full Code Here

Examples of org.zeroexchange.model.resource.participant.ResourceTender

       
        List<ResourceAction> userActions = new ArrayList<ResourceAction>();
        if(resource.getId() != null) {
            Contract contract = resource.getContract();
            if(contractStatusInformant.getContractStatus(contract, null) == ContractStatus.EXECUTED) {
                ResourceTender resourceTender = resourceInformant.getUserTender(resource, authorizedUserService.getCurrentUserId());
                if(resourceTender != null && resourceTender instanceof Need &&
                        ((Need)resourceTender).getCompletionDate() == null) {
                    //Is resource is on the 'delivery' state?
                   
                    userActions.add(ResourceAction.CONFIRM_SUPPLY);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.