Пример #1
0
        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");
            }
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
        }
Пример #4
0
        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();
        }
Пример #5
0
        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();
                }
            }
        }
Пример #6
0
        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();
                }
            }
        }
Пример #7
0
        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();
            }
        }