public static void emailLogUpdater(ClarifyDataRow record, HistoryItem historyItem, ISchemaCache schemaCache) { var log = new StringBuilder(); var from = record.AsString("sender"); var to = record.AsString("recipient"); var cclist = record.AsTrimmedString("cc_list"); var subject = doesEmailLogSubjectExist(schemaCache) ? record.AsTrimmedString("x_subject") : ""; var message = record.AsString("message"); var isoDate = record.AsDateTime("creation_time").ToString("s", CultureInfo.InvariantCulture); log.Append(HistoryParsers.BEGIN_EMAIL_LOG_HEADER); log.AppendLine("{0}: {1}{2}".ToFormat(HistoryBuilderTokens.LOG_EMAIL_DATE, HistoryParsers.BEGIN_ISODATE_HEADER, isoDate)); const string headerFormat = "{0}: {1}"; log.AppendLine(headerFormat.ToFormat(HistoryBuilderTokens.LOG_EMAIL_FROM, from)); log.AppendLine(headerFormat.ToFormat(HistoryBuilderTokens.LOG_EMAIL_TO, to)); if (cclist.IsNotEmpty()) log.AppendLine(headerFormat.ToFormat(HistoryBuilderTokens.LOG_EMAIL_CC, cclist)); if (subject.IsNotEmpty()) log.AppendLine(headerFormat.ToFormat(HistoryBuilderTokens.LOG_EMAIL_SUBJECT, subject)); log.Append(HistoryParsers.END_EMAIL_LOG_HEADER); log.AppendLine(message); historyItem.Detail = log.ToString(); }
public void beforeEach() { var dataSet = AdministratorClarifySession.CreateDataSet(); var emailLogGeneric = dataSet.CreateGeneric("email_log"); emailLogGeneric.Filter(f => f.Equals("objid", _logEmailObjid)); emailLogGeneric.Query(); _dataRow = emailLogGeneric[0]; _historyItem = new HistoryItem(); CommonActEntryBuilderDSLExtensions.emailLogUpdater(_dataRow, _historyItem, _schemaCache); }
private bool updateActivityDto(ActEntry actEntry, HistoryItem dto, ActEntryTemplate template, IDictionary<ActEntryTemplate, ClarifyGeneric> templateRelatedGenerics) { if (!isActivityDTOUpdaterPresent(template)) return false; var relatedRow = actEntry.ActEntryRecord; var relatedGenericKey = actEntry.Template; if (templateRelatedGenerics.ContainsKey(relatedGenericKey)) { var relatedRows = actEntry.ActEntryRecord.RelatedRows(templateRelatedGenerics[relatedGenericKey]); //when a row related to the act entry was retrieved give that row to the updater. relatedRow = relatedRows.Length > 0 ? relatedRows[0] : null; if (relatedRow == null) { _logger.LogDebug("Activity updater for code {0} against object {1}-{2} did not work because no related row for relation {3} was found." .ToFormat(template.Code, dto.Type, dto.Id, template.RelatedGenericRelationName)); return false; } } if (relatedRow != null) { template.ActivityDTOUpdater(relatedRow, dto, template); return true; } return false; }
private static void timeAndExpensesUpdater(ClarifyDataRow record, HistoryItem historyItem) { var timeDescribed = TimeSpan.FromSeconds(record.AsInt("total_time")); var expense = Convert.ToDecimal(record["total_exp"]).ToString("C"); var notes = record.AsString("notes"); var detail = HistoryBuilderTokens.LOG_EXPENSES_DETAIL.ToFormat(Environment.NewLine, timeDescribed, expense, notes); historyItem.Detail = detail; }
private static void statusChangeUpdater(ClarifyDataRow record, HistoryItem historyItem) { var notes = record["notes"].ToString(); var notesHeader = (notes.Length > 0) ? Environment.NewLine + "Notes: " : String.Empty; var detail = "{0} {1}{2}{3}".ToFormat(HistoryBuilderTokens.STATUS_CHANGE, historyItem.Detail, notesHeader, notes); historyItem.Detail = detail; }
private static void setInternalLog(ClarifyDataRow row, HistoryItem dto, string noteField) { var isNewInternalNote = row.AsInt("x_is_internal") == 1; var notes = row.AsString(noteField); var @internal = row.AsString("internal"); dto.Detail = isNewInternalNote ? "" : notes; dto.Internal = isNewInternalNote ? notes : @internal; }
private static void EncodeEmail(IHistoryOutputParser historyOutputParser, HistoryItem item) { item.Detail = historyOutputParser.EncodeEmailLog(item.Detail); item.Internal = historyOutputParser.Encode(item.Internal); }
private static void emailLogUpdater(ClarifyDataRow record, HistoryItem historyItem) { var detail = "Send to: {1}{0}".ToFormat(Environment.NewLine, record["recipient"]); var cclist = record["cc_list"].ToString(); if (cclist.IsNotEmpty()) { detail += "CC: {1}{0}".ToFormat(Environment.NewLine, cclist); } detail += record["message"].ToString(); historyItem.Detail = detail; }
private static void timeAndExpensesUpdater(ClarifyDataRow record, HistoryItem historyItem) { var timeDescribed = TimeSpan.FromSeconds(Convert.ToInt32(record["total_time"])); var expense = Convert.ToDecimal(record["total_exp"]); var detail = "Time: {1}{0}Expense: {2}{0}{3}".ToFormat(Environment.NewLine, timeDescribed, expense.ToString("C"), record["notes"]); historyItem.Detail = detail; }
private void updateActivityDto(ActEntry actEntry, HistoryItem dto, IDictionary<ActEntryTemplate, ClarifyGeneric> templateRelatedGenerics) { if (!isActivityDTOUpdaterPresent(actEntry)) return; var actEntryTemplate = actEntry.Template; var relatedRow = actEntry.ActEntryRecord; if (templateRelatedGenerics.ContainsKey(actEntryTemplate)) { var relatedRows = actEntry.ActEntryRecord.RelatedRows(templateRelatedGenerics[actEntryTemplate]); relatedRow = relatedRows.Length > 0 ? relatedRows[0] : null; } if (relatedRow != null) actEntryTemplate.ActivityDTOUpdater(relatedRow, dto); }