public Channel AddChannel(string name, string description, string tagsToString, string type) { using (var db = new MishMashDbContext()) { var channel = new Channel { Name = name, Description = description, Type = Enum.Parse <Type>(type) }; db.Channels.Add(channel); db.SaveChanges(); var tags = tagsToString.Split(new[] { ' ', ',', ';' }, StringSplitOptions.RemoveEmptyEntries); var list = new List <Tag>(); foreach (var tagString in tags) { var tag = new Tag { Name = tagString, ChannelId = channel.Id }; list.Add(tag); } db.Tags.AddRange(list); db.SaveChanges(); return(channel); } }
public void CreateChannel(CreateChannelModel model) { var tagNames = model.Tags.Split(new[] { ", ", "," }, StringSplitOptions.RemoveEmptyEntries); var type = Enum.Parse <ChannelType>(model.Type, true); var channel = new Channel { Name = model.Name, Description = model.Description, Type = type }; context.Channels.Add(channel); context.SaveChanges(); var tags = new List <Tag>(); foreach (var name in tagNames) { var tag = this.context.Tags.FirstOrDefault(p => p.Name == name); if (tag == null) { tag = new Tag { Name = name }; } tags.Add(tag); } context.AddRange(tags); context.SaveChanges(); var channelTags = new List <ChannelTag>(); foreach (var tag in tags) { var channelTag = new ChannelTag { Channel = channel, Tag = tag }; channelTags.Add(channelTag); } context.ChannelTags.AddRange(channelTags); context.SaveChanges(); }
public void AddChannel(ChannelDetailsViewModel model) { using (var db = new MishMashDbContext()) { var channel = new Channel { Name = model.Name, Description = model.Description, Type = Enum.Parse <ChannelType>(model.Type) }; if (!string.IsNullOrWhiteSpace(model.Tags)) { string[] tags = model.Tags.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string tag in tags) { Tag dbTag = db.Tags.FirstOrDefault(t => t.Name == tag); if (dbTag == null) { dbTag = new Tag { Name = tag }; db.Tags.Add(dbTag); db.SaveChanges(); } channel.Tags.Add(new TagChannel { TagId = dbTag.Id }); } } db.Channels.Add(channel); db.SaveChanges(); } }
public void UnfollowChannel(int channelId, string username) { using (var db = new MishMashDbContext()) { int userId = db.Users.FirstOrDefault(u => u.Username == username).Id; UserChannel userChannel = db.UserChannels .FirstOrDefault(uc => uc.UserId == userId && uc.ChannelId == channelId); if (userChannel != null) { db.UserChannels.Remove(userChannel); db.SaveChanges(); } } }
public void FollowChannel(int channelId, string username) { using (var db = new MishMashDbContext()) { int userId = db.Users.FirstOrDefault(u => u.Username == username).Id; if (!db.UserChannels.Any(uc => uc.UserId == userId && uc.ChannelId == channelId)) { db.UserChannels.Add(new UserChannel { UserId = userId, ChannelId = channelId }); db.SaveChanges(); } } }
public void AddUser(RegisterViewModel model) { using (var db = new MishMashDbContext()) { Role role = db.Users.Any() ? Role.User : Role.Admin; var user = new User { Username = model.Username, Password = model.Password, Email = model.Email, Role = role }; db.Users.Add(user); db.SaveChanges(); } }
public User AddUser(string username, string password, string email) { using (var db = new MishMashDbContext()) { var user = new User { Username = username, Password = password, Email = email, Role = Role.User }; if (!db.Users.Any()) { user.Role = Role.Admin; } db.Users.Add(user); db.SaveChanges(); return(user); } }
private static void SeedData() { var db = new MishMashDbContext(); var user1 = new User { Username = "******", Email = "*****@*****.**", Password = "******", Role = Role.User }; var user2 = new User { Username = "******", Email = "*****@*****.**", Password = "******", Role = Role.User }; var user3 = new User { Username = "******", Email = "*****@*****.**", Password = "******", Role = Role.Admin }; db.Add(user1); db.Add(user2); db.Add(user3); db.SaveChanges(); var channel1 = new Channel { Name = "Markiplier", Description = "Gaming stuff", Tags = new List <Tag> { new Tag { Content = "games" }, new Tag { Content = "fun" }, new Tag { Content = "shooter" } }, Type = Type.Game }; var channel2 = new Channel { Name = "NiggaHigga", Description = "Comedy stuff", Tags = new List <Tag> { new Tag { Content = "laugh" }, new Tag { Content = "fun" }, new Tag { Content = "jokes" } }, Type = Type.Other }; var channel3 = new Channel { Name = "SoftUni", Description = "IT stuff", Tags = new List <Tag> { new Tag { Content = "programming" }, new Tag { Content = "IT" }, new Tag { Content = ".net" } }, Type = Type.Lessons }; var channel4 = new Channel { Name = "Trainings", Description = "Sports stuff", Tags = new List <Tag> { new Tag { Content = "exercises" }, new Tag { Content = "jogging" }, new Tag { Content = "sports" } }, Type = Type.Motivation }; db.Add(channel1); db.Add(channel2); db.Add(channel3); db.Add(channel4); db.SaveChanges(); var userchannels1 = new UserChannels() { Channel = channel1, User = user1 }; var userchannels2 = new UserChannels() { Channel = channel2, User = user2 }; var userchannels3 = new UserChannels() { Channel = channel3, User = user2 }; var userchannels4 = new UserChannels() { Channel = channel1, User = user3 }; var userchannels5 = new UserChannels() { Channel = channel2, User = user3 }; var userchannels6 = new UserChannels() { Channel = channel4, User = user3 }; db.Add(userchannels1); db.Add(userchannels2); db.Add(userchannels3); db.Add(userchannels4); db.Add(userchannels5); db.SaveChanges(); }