private static void TestSeedMethod(ChatSystemContext context) { var channels = context.Channels .Select(c => new { c.Name, Messages = c.ChannelMessages.Select(m => new { m.Content, SentOn = m.Datetime, m.User.Username }) }); foreach (var channel in channels) { Console.WriteLine(channel.Name); foreach (var msg in channel.Messages) { Console.WriteLine("Content: {0} / Sent on: {1} / User {2}", msg.Content, msg.SentOn.ToShortDateString(), msg.Username); } Console.WriteLine(); } }
public static void Main() { var context = new ChatSystemContext(); TestSeedMethod(context); ImportUserMessagesFromJson(context); }
private static void ImportUserMessagesFromJson(ChatSystemContext context) { var filePath = "../../messages.json"; var fileTextContent = File.ReadAllText(filePath); var userMessages = JsonConvert.DeserializeObject<List<JsonUserMessage>>(fileTextContent); foreach (var msg in userMessages) { if (msg.Content == null || msg.DateTime == null || msg.Sender == null || msg.Recipient == null) { Console.WriteLine("All fields are required!"); } else { var datetime = msg.DateTime; var sender = context.Users.FirstOrDefault(u => u.Username.Equals(msg.Sender)); var recipient = context.Users.FirstOrDefault(u => u.Username.Equals(msg.Recipient)); context.UserMessages.Add(new UserMessage() { Content = msg.Content, DateTime = datetime, Sender = sender, Recipient = recipient }); Console.WriteLine("Message: " + msg.Content); } context.SaveChanges(); } }
private void seedUsers() { var context = new ChatSystemContext(); if (context.Users.Any()) { return; } var users = new List <User>() { new User { Username = "******", FullName = "Vladimir Georgiev", PhoneNumber = "0894545454" }, new User { Username = "******", FullName = "Svetlin Nakov", PhoneNumber = "0897878787" }, new User { Username = "******", FullName = "Angel Georgiev", PhoneNumber = "0897121212" }, new User { Username = "******", FullName = "Alexandra Svilarova", PhoneNumber = "0894151417" }, new User { Username = "******", FullName = "Petya Grozdarska", PhoneNumber = "0895464646" } }; foreach (var user in users) { context.Users.Add(user); } context.SaveChanges(); }
private void seedChannels() { var context = new ChatSystemContext(); if (context.Channels.Any()) { return; } var channels = new List <Channel>() { new Channel { Name = "Malinki" }, new Channel { Name = "SoftUni" }, new Channel { Name = "Admins" }, new Channel { Name = "Programmers" }, new Channel { Name = "Geeks" } }; foreach (var channel in channels) { context.Channels.Add(channel); } context.SaveChanges(); }
private static void ImportMessageToDB(MessageDTO message) { if (string.IsNullOrWhiteSpace(message.Content)) { throw new ArithmeticException("Content is required"); } if (string.IsNullOrWhiteSpace(message.Recipient)) { throw new ArithmeticException("Recipient is required"); } if (string.IsNullOrWhiteSpace(message.Sender)) { throw new ArithmeticException("Sender is required"); } var context = new ChatSystemContext(); var recipientId = context.Users .Where(u => u.Username == message.Recipient) .Select(r => r.Id) .FirstOrDefault(); var senderId = context.Users .Where(u => u.Username == message.Sender) .Select(s => s.Id) .FirstOrDefault(); var userMessage = new UserMessage() { Content = message.Content, DateTime = message.DateTime, RecipientId = recipientId, SenderId = senderId }; context.UserMessages.Add(userMessage); context.SaveChanges(); }
private void seedChannelMessages() { var context = new ChatSystemContext(); if (context.ChannelMessages.Any()) { return; } var chanelMalinki = context.Channels.FirstOrDefault(c => c.Name == "Malinki"); var nakov = context.Users.FirstOrDefault(c => c.Username == "Nakov"); var vlado = context.Users.FirstOrDefault(c => c.Username == "VGeorgiev"); var petya = context.Users.FirstOrDefault(c => c.Username == "Petya"); var channelMsgs = new List <ChannelMessage>() { new ChannelMessage { ChannelId = chanelMalinki.Id, Content = "Hey dudes, are you ready for tonight?", DateTime = DateTime.Now, UserId = petya.Id }, new ChannelMessage { ChannelId = chanelMalinki.Id, Content = "Hey Petya, this is the SoftUni chat.", DateTime = DateTime.Now, UserId = vlado.Id }, new ChannelMessage { ChannelId = chanelMalinki.Id, Content = "Hahaha, we are ready!", DateTime = DateTime.Now, UserId = nakov.Id }, new ChannelMessage { ChannelId = chanelMalinki.Id, Content = "Oh my god. I mean for drinking some beer!", DateTime = DateTime.Now, UserId = petya.Id }, new ChannelMessage { ChannelId = chanelMalinki.Id, Content = "We are sure!", DateTime = DateTime.Now, UserId = vlado.Id }, }; foreach (var chMsg in channelMsgs) { context.ChannelMessages.Add(chMsg); } context.SaveChanges(); }
protected override void Seed(ChatSystemContext context) { if (!context.Database.Exists()) { var vGeorgiev = new User() { Username = "******", FullName = "Vladimir Georgiev", PhoneNumber = "089454848" }; context.Users.Add(vGeorgiev); var Nakov = new User() { Username = "******", FullName = "Svetlin Nakov", PhoneNumber = "089454848" }; context.Users.Add(Nakov); var Ache = new User() { Username = "******", FullName = "Angel Georgiev", PhoneNumber = "089454848" }; context.Users.Add(Ache); var Alex = new User() { Username = "******", FullName = "Alexandra Svilarova", PhoneNumber = "089454848" }; context.Users.Add(Alex); var Petya = new User() { Username = "******", FullName = "Petya Grozdarska", PhoneNumber = "089454848" }; context.Users.Add(Petya); var Malinki = new Channel() { Name = "Malinki" }; context.Channels.Add(Malinki); var Softuni = new Channel() { Name = "Softuni" }; context.Channels.Add(Softuni); var Admins = new Channel() { Name = "Admins" }; context.Channels.Add(Admins); var Programmers = new Channel() { Name = "Programmers" }; context.Channels.Add(Programmers); var Geeks = new Channel() { Name = "Geeks" }; context.Channels.Add(Geeks); var ChannelMessage1 = new ChannelMessage() { Channel = Malinki, Content = "Hey dudes, are you ready for tonight?", DateTime = DateTime.Now, User = Petya }; context.ChannelMessages.Add(ChannelMessage1); var ChannelMessage2 = new ChannelMessage() { Channel = Malinki, Content = "Hey Petya, this is the SoftUni chat.", DateTime = DateTime.Now, User = vGeorgiev }; context.ChannelMessages.Add(ChannelMessage2); var ChannelMessage3 = new ChannelMessage() { Channel = Malinki, Content = "Hahaha, we are ready.", DateTime = DateTime.Now, User = Nakov }; context.ChannelMessages.Add(ChannelMessage3); var ChannelMessage4 = new ChannelMessage() { Channel = Malinki, Content = "Oh my god. I mean for drinking beers!", DateTime = DateTime.Now, User = Petya }; context.ChannelMessages.Add(ChannelMessage4); var ChannelMessage5 = new ChannelMessage() { Channel = Malinki, Content = "Oh my god. I mean for drinking beers!", DateTime = DateTime.Now, User = vGeorgiev }; context.ChannelMessages.Add(ChannelMessage5); context.SaveChanges(); } }
static void Main(string[] args) { var context = new ChatSystemContext(); //6.ListAllChannelsWithTheirMessages //var channels = context.Channels // .Select(c => new // { // c.Name, // Messages = c.ChannelMessages // .Select(cm => new // { // cm.Content, // cm.DateTime, // User = cm.User.Username // }) // }); //foreach (var channel in channels) //{ // Console.WriteLine("{0}\n--Messages:--", channel.Name); // foreach (var message in channel.Messages) // { // Console.WriteLine("Content: {0}, DateTime: {1}, User: {2}", message.Content, message.DateTime, message.User); // } // Console.WriteLine(); //} var settings = new JsonSerializerSettings() { MissingMemberHandling = MissingMemberHandling.Ignore }; var json = File.ReadAllText("../../messages.json"); dynamic messages = JsonConvert.DeserializeObject(json, settings); foreach (var message in messages) { if (message.content == null) { Console.WriteLine("Error: Content is required"); continue; } if (message.datetime == null) { Console.WriteLine("Error: DateTime is required"); continue; } if (message.recipient == null) { Console.WriteLine("Error: Recipient is required"); continue; } if (message.sender == null) { Console.WriteLine("Error: Sender is required"); continue; } string recipientUsername = message.recipient; string senderUsername = message.sender; context.UserMessages.Add(new UserMessage() { Content = message.content, Datetime = message.datetime, RecipientId = context.Users.Where(u => u.Username == recipientUsername).FirstOrDefault().Id, SenderId = context.Users.Where(u => u.Username == senderUsername).FirstOrDefault().Id }); Console.WriteLine("Message {0} imported", message.content); } context.SaveChanges(); }