private Document GetDocument(Emails.CustomerEmailsRow row, Token lastToken, NorthwindConfig config)
{
EmailDocument doc;
string id;
id = row.ID.ToString();
doc = new EmailDocument();
doc.Id = id;
if (lastToken.InitRequest)
doc.LogState = LogState.Created;
else if (row.IsCreateIDNull() || row.IsModifyIDNull()
|| row.IsCreateUserNull() || row.IsModifyUserNull())
doc.LogState = LogState.Created;
else if ((row.CreateID > lastToken.SequenceNumber)
&& (row.CreateUser != config.CrmUser))
doc.LogState = LogState.Created;
else if ((row.CreateID == lastToken.SequenceNumber)
&& (row.CreateUser != config.CrmUser)
&& (id.CompareTo(lastToken.Id.Id) > 0))
doc.LogState = LogState.Created;
else if ((row.ModifyID >= lastToken.SequenceNumber) && (row.ModifyUser != config.CrmUser))
doc.LogState = LogState.Updated;
doc.emailaddress.Value = row.IsEmailNull() ? null : row.Email;
doc.type.Value = Constants.DefaultValues.Email.Type;
return doc;
}