private void CreateUser(RegisterRequest userData) { using var transaction = _context.Database.BeginTransaction(); try { string userRoleName = "User"; var newUser = new User(profileLink: "user", userData.FirstName, userData.LastName, userData.Email, userData.Password, userRoleName) { DateOfBirth = userData.DateOfBirth, Bio = userData.Bio }; _context.Users.Add(newUser); _context.SaveChanges(); int generatedId = newUser.Id; newUser.ProfileLink = $"user{generatedId}"; _context.SaveChanges(); transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw new ArgumentException($"User {userData.FirstName} {userData.LastName} is not created"); } }
public void CreateActivity(CreateActivityCommand newActivity, int idUser) { var creator = db.Users.FirstOrDefault(u => u.Id == idUser); var activity = new Activity { Creator = creator, Name = newActivity.Name, Description = newActivity.Description, Capacity = newActivity.Capacity }; foreach (int id in newActivity.TagIds) { var tag = db.Tags.Find(id); if (tag == null) { throw new ArgumentException($"Tag with id {id} has not been found"); } activity.Tags.Add(tag); } db.Activities.Add(activity); db.SaveChanges(); }
public void CreateActivity(CreateActivityCommand newActivity) { var creator = db.Users.Find(newActivity.CreatorId) ?? throw new ArgumentException($"{nameof(newActivity.CreatorId)} has to point to an existed user"); var activity = new Activity { Creator = creator, Name = newActivity.Name, Description = newActivity.Description, Capacity = newActivity.Capacity }; foreach (int id in newActivity.TagIds) { var tag = db.Tags.Find(id); if (tag == null) { throw new ArgumentException($"Tag with id {id} has not been found"); } activity.Tags.Add(tag); } db.Activities.Add(activity); db.SaveChanges(); }
public void AddParticipation(int userId, int activityId) { User user = db.Users.Where(h => h.Id == userId) .Include(u => u.ParticipationActivities) .FirstOrDefault() ?? throw new ArgumentException($"User with id {userId} has not been found"); Activity activity = db.Activities .Find(activityId) ?? throw new ArgumentException($"Activity with id {activityId} has not been found"); if (user.ParticipationActivities.Contains(activity)) { throw new ArgumentException($"{user.Email} has already participated in the event with id {activity.Id}"); } user.ParticipationActivities.Add(activity); db.SaveChanges(); }
private static void SeedTestData() { using (LdsContext context = new LdsContext()) { context.Database.EnsureCreated(); if (!context.Users.Any()) { context.Users.Add(new User { Name = "Tom", Age = 33 }); context.Users.Add(new User { Name = "Alice", Age = 26 }); context.SaveChanges(); } } }
private static void SeedTestData(DbContextOptions <LdsContext> options) { using (LdsContext context = new LdsContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); if (!context.Users.Any()) { context.Users.Add(new User { Name = "Tom", Login = "******", Password = "******", Age = 33, Role = "admin" }); context.Users.Add(new User { Name = "Alice", Login = "******", Password = "******", Age = 26, Role = "user" }); context.SaveChanges(); } if (!context.Tags.Any()) { context.Tags.Add(new Tag { Name = "Music" }); context.Tags.Add(new Tag { Name = "Open-air" }); context.Tags.Add(new Tag { Name = "Indoor" }); context.Tags.Add(new Tag { Name = "Sport" }); context.Tags.Add(new Tag { Name = "Intellectual" }); context.SaveChanges(); } var userTom = context.Users.Where(u => u.Name.Contains("Tom")).FirstOrDefault(); var userAlice = context.Users.Where(u => u.Name.Contains("Alice")).FirstOrDefault(); var tagMusic = context.Tags.FirstOrDefault(itm => itm.Name == "Music"); var tagIntellectual = context.Tags.FirstOrDefault(itm => itm.Name == "Intellectual"); if (!context.Activities.Any()) { context.Activities.Add(new Activity() { Creator = userTom, Name = "Concert 1", Description = "Classical music", Capacity = 100, Tags = new List <Tag> { tagMusic } }); context.Activities.Add(new Activity() { Creator = userAlice, Name = "Concert 2", Description = "Classical music", Capacity = 100, Tags = new List <Tag> { tagMusic } }); context.Activities.Add(new Activity() { Creator = userTom, Name = "Concert 3", Description = "Classical music", Capacity = 100, Tags = new List <Tag> { tagMusic } }); context.Activities.Add(new Activity() { Creator = userTom, Name = "Concert 4", Description = "Classical music", Capacity = 100, Tags = new List <Tag> { tagMusic } }); context.Activities.Add(new Activity() { Creator = userTom, Name = "Hicking", Description = "Altai Mountains", Capacity = 10 }); context.Activities.Add(new Activity() { Creator = userTom, Name = "PubQuiz mindstorm", Description = "In central perk", Capacity = 6, Tags = new List <Tag> { tagIntellectual } }); context.SaveChanges(); } } }
private static void SeedTestData(LdsContext context) { int userID = 1; string userRoleName = "User"; string adminRoleName = "Admin"; context.Database.EnsureCreated(); if (!context.Users.Any()) { context.Users.Add(new User(profileLink: $"user{userID++}", firstName: "Dee", lastName: "Snider", email: "*****@*****.**", password: "******", userRoleName)); context.Users.Add(new User(profileLink: $"user{userID++}", firstName: "Alice", lastName: "Cooper", email: "*****@*****.**", password: "******", userRoleName)); context.Users.Add(new User(profileLink: $"user{userID++}", firstName: "Roman", lastName: "Onofreichuk", email: "*****@*****.**", password: "******", adminRoleName)); context.SaveChanges(); } if (!context.Tags.Any()) { context.Tags.Add(new Tag { Name = "Music" }); context.Tags.Add(new Tag { Name = "Open-air" }); context.Tags.Add(new Tag { Name = "Indoor" }); context.Tags.Add(new Tag { Name = "Sport" }); context.Tags.Add(new Tag { Name = "Intellectual" }); context.SaveChanges(); } var userDee = context.Users.FirstOrDefault(u => u.ProfileLink == "user1"); var userAlice = context.Users.FirstOrDefault(u => u.ProfileLink == "user2"); var tagMusic = context.Tags.FirstOrDefault(itm => itm.Name == "Music"); var tagIntellectual = context.Tags.FirstOrDefault(itm => itm.Name == "Intellectual"); var tagOpenAir = context.Tags.FirstOrDefault(itm => itm.Name == "Intellectual"); if (!context.Activities.Any()) { context.Activities.Add(new Activity() { Creator = userDee, DateStart = DateTime.Parse("2021-09-18"), Name = "Octoberfest", Description = "Go for beer n music in my car", Capacity = 4, Tags = new List <Tag> { tagMusic, tagOpenAir } }); context.Activities.Add(new Activity() { Creator = userAlice, DateStart = DateTime.Parse("2021-01-01"), Name = "Home violin concert", Description = "I am gonna play old good classic songs in my place", Capacity = 20, Tags = new List <Tag> { tagMusic } }); context.Activities.Add(new Activity() { Creator = userDee, DateStart = DateTime.Parse("2020-12-29"), Name = "Hicking in Altai Mountains", Description = "Weekend trip", Capacity = 4 }); context.Activities.Add(new Activity() { Creator = userDee, DateStart = DateTime.Parse("2020-12-23"), Name = "PubQuiz mindstorm", Description = "In central park", Capacity = 6, Tags = new List <Tag> { tagIntellectual } }); context.SaveChanges(); } }