Skip to content

Instantly share code, notes, and snippets.

@hurricanepkt
Created April 2, 2024 05:13
Show Gist options
  • Save hurricanepkt/5714616114baff8c93de53475346519a to your computer and use it in GitHub Desktop.
Save hurricanepkt/5714616114baff8c93de53475346519a to your computer and use it in GitHub Desktop.
A bit of code that takes data from a CSV and puts seed data to the console
// See https://aka.ms/new-console-template for more information
using System.Formats.Asn1;
using System.Globalization;
using System;
using CsvHelper;
using System.ComponentModel.DataAnnotations;
using System.Net.Mail;
using System.Text;
Console.WriteLine("Hello, World!");
using (var reader = new StreamReader(File.OpenRead(@"C:\LIG Marine Dropbox\Mark Greenway\trash\today\FiveMessages.csv")))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = csv.GetRecords<EmailMessage>();
int i = 1;
foreach (var record in records)
{
var sb = new StringBuilder();
sb.AppendLine($"var msg{i:00} = new EmailMessage()");
sb.AppendLine($"{{");
sb.AppendLine($"\tEmailMessageId = Guid.Parse(\"{record.EmailMessageId}\"),");
sb.AppendLine($"\tId = \"{record.Id}\",");
sb.AppendLine($"\tSubject = \"{record.Subject}\",");
sb.AppendLine($"\tInternetMessageId = \"{record.InternetMessageId}\",");
sb.AppendLine($"\tBodyContent = \"{record.BodyContent}\",");
sb.AppendLine($"\tBodyType = \"{record.BodyType}\",");
sb.AppendLine($"\tCategoriesStr = \"{record.CategoriesStr}\",");
sb.AppendLine($"\tConversationId = \"{record.ConversationId}\",");
sb.AppendLine($"\tFlagStatus = \"{record.FlagStatus}\",");
sb.AppendLine($"\tFileName = \"{record.FileName}\",");
sb.AppendLine($"\tCreatedDateTime = DateTimeOffset.Parse(\"{record.CreatedDateTime}\"),");
sb.AppendLine($"\tSentDateTime = DateTimeOffset.Parse(\"{record.SentDateTime}\"),");
sb.AppendLine($"\tReceivedDateTime = DateTimeOffset.Parse(\"{record.ReceivedDateTime}\"),");
sb.AppendLine($"}};");
sb.AppendLine($"msg{i:00}.Attachments = JsonConvert.DeserializeObject<List<Models.Attachment>>(\"{record.Attachments.Replace("\"", "'")}\")!;");
sb.AppendLine($"msg{i:00}.ToRecipients = JsonConvert.DeserializeObject<List<Models.Contact>>(\"{record.ToRecipients.Replace("\"", "'")}\");");
sb.AppendLine($"msg{i:00}.CcRecipients = JsonConvert.DeserializeObject<List<Models.Contact>>(\"{record.CcRecipients.Replace("\"", "'")}\");");
sb.AppendLine($"msg{i:00}.BccRecipients = JsonConvert.DeserializeObject<List<Models.Contact>>(\"{record.BccRecipients.Replace("\"", "'")}\");");
sb.AppendLine($"msg{i:00}.From = JsonConvert.DeserializeObject<Models.Contact>(\"{record.From.Replace("\"", "'")}\");");
sb.AppendLine($"msg{i:00}.ReplyTo = JsonConvert.DeserializeObject<Models.Contact>(\"{record.ReplyTo.Replace("\"", "'")}\");");
sb.AppendLine($"ctx.EmailMessages.Add(msg{i:00});");
Console.WriteLine(sb.ToString());
i++;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment