private static void WriteMessage(CsvWriter csv, ExportMessageLog log) { csv.WriteField("MessageId"); csv.WriteField("SentDate"); csv.WriteField("Title"); csv.WriteField("MessageType"); csv.WriteField("TotalRecipients"); csv.NextRecord(); csv.WriteField(log.Id); csv.WriteField(log.SentDate); csv.WriteField(log.Title); csv.WriteField(log.MessageType); csv.WriteField(log.TotalRecipients); csv.NextRecord(); csv.WriteField("Records_Id"); csv.WriteField("Given_Name"); csv.WriteField("Family_Name"); csv.WriteField("Received"); csv.WriteField("Read"); csv.WriteField("Deleted"); csv.NextRecord(); foreach (var line in log.Recipients) { csv.WriteField(line.IbaId); csv.WriteField(line.GivenName); csv.WriteField(line.FamilyName); csv.WriteField(line.Received); csv.WriteField(line.Read); csv.WriteField(line.Deleted); csv.NextRecord(); } }
private static ExportMessageLog MsgToExportLog(CmsMessage msg, IBAEntities1 ibaDb) { var result = new ExportMessageLog { Id = msg.Id, MessageType = msg.MessageType.ToString(), SentDate = msg.Created.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss"), Title = msg.Title, TotalRecipients = msg.TotalRecipients }; foreach (var person in msg.AppUserMessages) { result.Recipients.Add(new ExportRecipients() { Deleted = DateText(person.Deleted), Read = DateText(person.Read), Received = DateText(person.Received), IbaId = person.DeviceOwner.IbaId }); result.RecipientIds.Add(person.DeviceOwner.IbaId); // need to read c_record } var ibausers = ibaDb.C_records.Where(r => result.RecipientIds.Contains(r.id)).Select(x => new { x.id, x.given_name, x.family_name }); foreach (var person in result.Recipients) { var found = ibausers.FirstOrDefault(i => i.id == person.IbaId); if (found != null) { person.GivenName = found.given_name; person.FamilyName = found.family_name; } } return(result); }