package mapper;
import api.v1.DPOrder;
import models.OrderModel;
import java.io.UnsupportedEncodingException;
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
/**
* Created by sveinhd on 12/9/16.
*/
public class DPOrderMapper {
public List<DPOrder> mapToApi(List<OrderModel> mOrders) {
List<DPOrder> dpOrderList = new ArrayList<>();
for (OrderModel mOrder : mOrders) {
if ( mOrder.product.positionRequired ) {
DPOrder dp = mapToApi(mOrder);
if (dp != null) {
dpOrderList.add(dp);
}
}
}
return dpOrderList;
}
private DPOrder mapToApi(OrderModel mOrder) {
DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.HALF_UP);
DPOrder dpOrder = new DPOrder();
dpOrder.id = mOrder.id;
String posname = mOrder.position.name;
String name = mOrder.position_name != null & !mOrder.position_name.isEmpty()? mOrder.position_name:mOrder.position.name;
try {
dpOrder.name = URLEncoder.encode(name, "UTF-8");
dpOrder.posname = URLEncoder.encode(posname, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new UnsupportedOperationException(e);
}
dpOrder.name_dec = name;
dpOrder.longitude = mOrder.position.longitude;
dpOrder.latitude = mOrder.position.latitude;
return dpOrder;
}
}