package com.insthub.ecmobile.model;
//
// __
// /\ \ _
// ____ ____ ___\ \ \_/ \ _____ ___ ___
// / _ \ / __ \ / __ \ \ < __ /\__ \ / __ \ / __ \
// /\ \_\ \/\ __//\ __/\ \ \\ \ /\_\ \/_/ / /\ \_\ \/\ \_\ \
// \ \____ \ \____\ \____\\ \_\\_\ \/_/ /\____\\ \____/\ \____/
// \/____\ \/____/\/____/ \/_//_/ \/____/ \/___/ \/___/
// /\____/
// \/___/
//
// Powered by BeeFramework
//
import com.insthub.ecmobile.R;
import com.insthub.ecmobile.protocol.GOODS;
import com.insthub.ecmobile.protocol.SPECIFICATION;
import com.insthub.ecmobile.protocol.SPECIFICATION_VALUE;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class GoodDetailDraft {
public GOODS goodDetail = new GOODS();
public ArrayList<SPECIFICATION_VALUE> selectedSpecification = new ArrayList<SPECIFICATION_VALUE>();
public int goodQuantity = 1;
private static GoodDetailDraft instance;
public static GoodDetailDraft getInstance()
{
if (instance == null) {
instance = new GoodDetailDraft();
}
return instance;
}
public void clear()
{
goodDetail = null;
selectedSpecification.clear();
goodQuantity = 1;
}
public boolean isHasSpecId(int specId)
{
for (int i = 0;i < selectedSpecification.size();i++)
{
SPECIFICATION_VALUE selectedSpecificationValue = selectedSpecification.get(i);
if(Integer.parseInt(selectedSpecificationValue.id) == specId)
{
return true;
}
}
return false;
}
public boolean isHasSpecName(String specName)
{
for (int i = 0;i < selectedSpecification.size();i++)
{
SPECIFICATION_VALUE selectedSpecificationValue = selectedSpecification.get(i);
if(0 == selectedSpecificationValue.specification.name.compareTo(specName))
{
return true;
}
}
return false;
}
public void removeSpecId(int specId)
{
for (int i = 0;i < selectedSpecification.size();i++)
{
SPECIFICATION_VALUE selectedSpecificationValue = selectedSpecification.get(i);
if(Integer.parseInt(selectedSpecificationValue.id) == specId)
{
selectedSpecification.remove(i);
return ;
}
}
return ;
}
public void addSelectedSpecification(SPECIFICATION_VALUE specification_value)
{
if (0 == specification_value.specification.attr_type.compareTo(SPECIFICATION.MULTIPLE_SELECT))
{
if (!isHasSpecId(Integer.parseInt(specification_value.id)))
{
selectedSpecification.add(specification_value);
}
}
else
{
for (int i = 0;i < selectedSpecification.size();i++)
{
SPECIFICATION_VALUE selectedSpecificationValue = selectedSpecification.get(i);
if ( 0 == selectedSpecificationValue.specification.name.compareTo(specification_value.specification.name))
{
selectedSpecification.remove(i);
}
}
selectedSpecification.add(specification_value);
}
}
public float getTotalPrice()
{
if (null == goodDetail || 0 == goodDetail.promote_price)
{
return 0;
}
float singlePrice =Float.valueOf(goodDetail.promote_price).floatValue();
for (int i = 0; i < selectedSpecification.size();i++)
{
SPECIFICATION_VALUE specification_value = selectedSpecification.get(i);
singlePrice += Float.valueOf(specification_value.price);
}
return singlePrice*goodQuantity;
}
}