query.setParameter("siteId", site.getSiteId());
Iterator<?> iterator = query.getResultList().iterator();
while (iterator.hasNext()) {
SiteCurrencyClass siteCurrencyClass = (SiteCurrencyClass) iterator.next();
if (specialPrice != null) {
ItemPriceSearch itemPriceSearch = new ItemPriceSearch();
ItemPriceCurrency itemPriceCurrency = null;
for (ItemPriceCurrency currency : item.getItemPriceCurrencies()) {
if (currency.getItemPriceTypeCode() != Constants.ITEM_PRICE_TYPE_CODE_SPECIAL) {
continue;
}
if (currency.getSiteCurrencyClass().getSiteCurrencyClassId().equals(siteCurrencyClass.getSiteCurrencyClassId())) {
itemPriceCurrency = currency;
break;
}
}
if (itemPriceCurrency == null || itemPriceCurrency.getItemPrice() == null) {
itemPriceSearch.setItemPrice(specialPrice.getItemPrice());
itemPriceSearch.setExchangeFactor(Integer.valueOf(1));
}
else {
itemPriceSearch.setItemPrice(itemPriceCurrency.getItemPrice());
itemPriceSearch.setExchangeFactor(Integer.valueOf(0));
}
itemPriceSearch.setItemPricePublishOn(specialPrice.getItemPricePublishOn());
itemPriceSearch.setItemPriceExpireOn(specialPrice.getItemPriceExpireOn());
itemPriceSearch.setRecUpdateBy(adminBean.getUser().getUserId());
itemPriceSearch.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
itemPriceSearch.setRecCreateBy(adminBean.getUser().getUserId());
itemPriceSearch.setRecCreateDatetime(new Date(System.currentTimeMillis()));
itemPriceSearch.setSiteCurrencyClass(siteCurrencyClass);
itemPriceSearch.setItem(master);
em.persist(itemPriceSearch);
master.getItemPriceSearches().add(itemPriceSearch);
}
ItemPriceCurrency itemPriceCurrency = null;
for (ItemPriceCurrency currency : item.getItemPriceCurrencies()) {
if (currency.getItemPriceTypeCode() != Constants.ITEM_PRICE_TYPE_CODE_REGULAR) {
continue;
}
if (currency.getSiteCurrencyClass().getSiteCurrencyClassId().equals(siteCurrencyClass.getSiteCurrencyClassId())) {
itemPriceCurrency = currency;
break;
}
}
ItemPriceSearch itemPriceSearch = new ItemPriceSearch();
if (itemPriceCurrency == null || itemPriceCurrency.getItemPrice() == null) {
itemPriceSearch.setItemPrice(regularPrice.getItemPrice());
itemPriceSearch.setExchangeFactor(Integer.valueOf(1));
}
else {
itemPriceSearch.setItemPrice(itemPriceCurrency.getItemPrice());
itemPriceSearch.setExchangeFactor(Integer.valueOf(0));
}
itemPriceSearch.setRecUpdateBy(adminBean.getUser().getUserId());
itemPriceSearch.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
itemPriceSearch.setRecCreateBy(adminBean.getUser().getUserId());
itemPriceSearch.setRecCreateDatetime(new Date(System.currentTimeMillis()));
itemPriceSearch.setSiteCurrencyClass(siteCurrencyClass);
if (specialPrice != null) {
itemPriceSearch.setItemPricePublishOn(MINDATE);
itemPriceSearch.setItemPriceExpireOn(addDay(specialPrice.getItemPricePublishOn(), -1));
}
else {
itemPriceSearch.setItemPricePublishOn(MINDATE);
itemPriceSearch.setItemPriceExpireOn(MAXDATE);
}
itemPriceSearch.setItem(master);
em.persist(itemPriceSearch);
master.getItemPriceSearches().add(itemPriceSearch);
if (specialPrice != null) {
ItemPriceSearch itemPriceSearchEnd = new ItemPriceSearch();
itemPriceSearchEnd.setItemPrice(itemPriceSearch.getItemPrice());
itemPriceSearchEnd.setExchangeFactor(itemPriceSearch.getExchangeFactor());
itemPriceSearchEnd.setRecUpdateBy(adminBean.getUser().getUserId());
itemPriceSearchEnd.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
itemPriceSearchEnd.setRecCreateBy(adminBean.getUser().getUserId());
itemPriceSearchEnd.setRecCreateDatetime(new Date(System.currentTimeMillis()));
itemPriceSearchEnd.setSiteCurrencyClass(siteCurrencyClass);
itemPriceSearchEnd.setItemPricePublishOn(addDay(specialPrice.getItemPriceExpireOn(), 1));
itemPriceSearchEnd.setItemPriceExpireOn(MAXDATE);
itemPriceSearchEnd.setItem(master);
em.persist(itemPriceSearchEnd);
master.getItemPriceSearches().add(itemPriceSearchEnd);
}
}
}