#setLanguageLevel 2;
// Configuration section
Integer numTickets = 10;
Integer minAge = 10; // In hours
Integer maxAge = 1000;
Integer minNumMessages = 2;
Integer maxNumMessages = 5;
String source = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis.";
String[] words = source.split(" ");
Integer[] customerIds;
Integer[] categoryIds;
SearchEngine customerQuery;
customerQuery.addField("person.id");
for (customerQuery.execute(); !customerQuery.eof(); customerQuery.next())
customerIds.pushBack(customerQuery.getField(0).toInteger());
SearchEngine categoryQuery;
categoryQuery.addField("ej_category.id");
for (categoryQuery.execute(); !categoryQuery.eof(); categoryQuery.next())
categoryIds.pushBack(categoryQuery.getField(0).toInteger());
String createRandomString(Integer p_length)
{
String result;
while (p_length-- > 0)
result += words[rand(0, words.length() - 1)] + " ";
return result.subString(0, 1).toUpper() + result.subString(1, result.getLength() - 1).stripTrailing(" ") + ".";
}
for (Integer i = 0; i < numTickets; i++)
{
Customer myCustomer;
myCustomer.load(customerIds[rand(0, customerIds.length() - 1)]);
DateTime created;
DateTime closed;
created.addHour(-1 * rand(minAge, maxAge));
closed = created;
closed.addHour(rand(10, 100));
Ticket newTicket;
newTicket.setValue("title", createRandomString(rand(10, 20)));
newTicket.setValue("status", rand(1, 3).toString());
newTicket.setValue("category", categoryIds[rand(0, categoryIds.length() - 1)].toString());
newTicket.setValue("custId", myCustomer.getValue("id"));
newTicket.setValue("priority", rand(1, 3).toString());
newTicket.setValue("slevel", rand(1, 2).toString());
Integer ticketId = newTicket.save();
newTicket.setValue("created_at", created.toString());
newTicket.setValue("closed_at", closed.toString());
newTicket.save();
print("Created request: created at: " + newTicket.getValue("created_at") + ", closed at: " + newTicket.getValue("closed_at") + "\r\n");
Integer numMessages = rand(minNumMessages, maxNumMessages);
for (Integer m = 0; m < numMessages; m++)
{
String body;
Integer numParagraphs = rand(1, 5);
for (Integer j = 0; j < numParagraphs; j++)
body += createRandomString(rand(20, 100)) + "\r\n\r\n";
Message newMessage;
newMessage.setValue("body", body);
newMessage.setValue("author", myCustomer.getValue("name"));
created.addHour(rand(10, 100));
newMessage.setValue("ticketId", ticketId.toString());
newMessage.save();
newMessage.setValue("createdAt", created.toString());
newMessage.save();
}
}