Example #1
0
        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();
            }
        }
Example #2
0
        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);
        }