package crmdna.member;
import com.google.appengine.api.taskqueue.QueueFactory;
import com.google.appengine.api.taskqueue.TaskOptions;
import com.google.gson.Gson;
import crmdna.common.DateUtils;
import crmdna.objectstore.ObjectStore;
import java.util.Date;
import static crmdna.common.AssertUtils.ensureNotNull;
public class MemberUtils {
public static void queryAsync(MemberQueryCondition condition, String login, Integer partNumber,
Integer totalParts, Integer resultSize) {
ensureNotNull(condition.maxResultSize, "Max Result Size should not be null");
if ((resultSize != null) && (totalParts == null) && (partNumber == null)) {
totalParts = (int) Math.ceil(((double) resultSize) / condition.maxResultSize);
partNumber = 1;
}
com.google.appengine.api.taskqueue.Queue queue = QueueFactory.getDefaultQueue();
long tempAccessId = ObjectStore
.put(condition.client, "TempAccessID", 30, ObjectStore.TimeUnit.SECONDS);
queue.add(TaskOptions.Builder.withUrl("/member")
.param("action", "sendReportAsEmail")
.param("qc", new Gson().toJson(condition))
.param("email", login)
.param("emailAttachmentName", "MemberReport-" + DateUtils.toISOString(new Date()))
.param("accessId", tempAccessId + "").param("partNumber", partNumber + "")
.param("totalParts", totalParts + ""));
}
}