public UpdateTaskLogValidation(TeamworkContext context)
        {
            _context = context;

            RuleFor(t => t.Time)
            .NotEmpty()
            .LessThanOrEqualTo(8);

            RuleFor(t => t.Description)
            .MaximumLength(200);

            RuleFor(t => t.Date)
            .NotEmpty()
            .LessThanOrEqualTo(DateTime.Today);

            RuleFor(t => t.Task)
            .NotEmpty()
            .WithMessage("Log has to be assigned on task.")
            .DependentRules(() =>
            {
                RuleFor(t => t.Task)
                .Must((dto, task) => _context.Tasks.Any(u => u.Id == dto.Task.Id))
                .WithMessage(dto => $"Task with id:{dto.Task.Id} doesn't exist. Please, try another task id.")
                .Must((dto, task) => !_context.TaskLogs.Any(u => u.TaskId != dto.Task.Id))
                .WithMessage(dto => $"Task with an id:{dto.Task.Id} is already logged.");
            });
        }
Пример #2
0
        public UpdateUserValidation(TeamworkContext context)
        {
            _context = context;

            RuleFor(u => u.FullName)
            .NotEmpty()
            .MinimumLength(4)
            .MaximumLength(50);

            RuleFor(u => u.Username)
            .NotEmpty()
            .MinimumLength(4)
            .MaximumLength(25)
            .Must(CheckUsernameUniqueness)
            .WithMessage(dto => $"'{dto.Username}' username already exists in database. Please, try another username.");

            RuleFor(u => u.Password)
            .NotEmpty()
            .MinimumLength(5)
            .MaximumLength(20);

            RuleFor(u => u.Email)
            .NotEmpty()
            .EmailAddress();

            RuleFor(u => u.Role)
            .Must(CheckRoleExistance)
            .WithMessage((dto) => $"Role with id:{dto.Role.Id} doesn't exist. Please, try with an existing role id.");
        }
Пример #3
0
 public bool DoesGameExist(string game)
 {
     using (TeamworkContext context = new TeamworkContext())
     {
         var check = context.Games.Any(g => g.Name == game);
         return(check);
     }
 }
Пример #4
0
 public List <Game> ListAllGames()
 {
     using (TeamworkContext context = new TeamworkContext())
     {
         var query = context.Games;
         return(query.ToList());
     }
 }
 public bool DoesReviewExist(string reviewTitle)
 {
     using (TeamworkContext context = new TeamworkContext())
     {
         var check = context.Reviews.Any(r => r.Name == reviewTitle);
         return(check);
     }
 }
 public bool DoesDeveloperExist(string name)
 {
     using (TeamworkContext context = new TeamworkContext())
     {
         var check = context.Developers.Any(g => g.Name == name);
         return(check);
     }
 }
Пример #7
0
        public User GetUserByCredentials(string username, string password)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var user = context.Users.Where(u => u.Username == username).ToList().Where(u => u.Password == password).FirstOrDefault();

                return(user);
            }
        }
Пример #8
0
        public bool IsUsernameTaken(string username)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var result = context.Users.Any(a => a.Username == username);

                return(result);
            }
        }
Пример #9
0
        public bool CheckCreditCardNumber(int number)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var result = context.Users.Any(a => a.CreditCardNumber == number);

                return(result);
            }
        }
Пример #10
0
        public UpdateRoleValidation(TeamworkContext context)
        {
            _context = context;

            RuleFor(dto => dto.Name)
            .NotEmpty()
            .Must(CheckRoleUniqueness)
            .WithMessage(dto => $"'{dto.Name}' role name already exists in database. Please, try another role name.");
        }
 public void AddReviewToGame(string gameName, string reviewTitle)
 {
     using (TeamworkContext context = new TeamworkContext())
     {
         Game   game   = context.Games.SingleOrDefault(g => g.Name == gameName);
         Review review = context.Reviews.SingleOrDefault(r => r.Name == reviewTitle);
         game.Reviews.Add(review);
         context.SaveChanges();
     }
 }
Пример #12
0
        public bool DoesTheGameHaveAnPublisher(string gameName, string publisherName)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var check = context.Games
                            .SingleOrDefault(g => g.Name == gameName)
                            .Developers.Any(d => d.Name == publisherName);

                return(check);
            }
        }
Пример #13
0
        static void Main()
        {
            TeamworkContext context = new TeamworkContext();

            context.Database.Initialize(true);

            CommandDispatcher commandDispatcher = new CommandDispatcher();
            Engine            engine            = new Engine(commandDispatcher);

            engine.Run();
        }
Пример #14
0
 public void AddCommentToReview(string commnetContent, string reviewTitle)
 {
     using (TeamworkContext context = new TeamworkContext())
     {
         Comment comment = context.Comments
                           .Where(a => a.ReviewId == null)
                           .SingleOrDefault(c => c.Content == commnetContent);
         Review review = context.Reviews.SingleOrDefault(r => r.Name == reviewTitle);
         review.Comments.Add(comment);
         context.SaveChanges();
     }
 }
Пример #15
0
        public void AddGameToPublisher(string gameName, string publisherName)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                Game      game      = context.Games.SingleOrDefault(g => g.Name == gameName);
                Publisher publisher = context.Publishers.SingleOrDefault(d => d.Name == publisherName);

                publisher.Games.Add(game);
                game.Publishers.Add(publisher);
                context.SaveChanges();
            }
        }
Пример #16
0
        public void AddGameToDeveloper(string gameName, string developerName)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                Game      game      = context.Games.SingleOrDefault(g => g.Name == gameName);
                Developer developer = context.Developers.SingleOrDefault(d => d.Name == developerName);

                developer.Games.Add(game);
                game.Developers.Add(developer);
                context.SaveChanges();
            }
        }
Пример #17
0
        public void AddComment(string content)
        {
            Comment comment = new Comment
            {
                Content = content,
            };

            using (TeamworkContext context = new TeamworkContext())
            {
                context.Comments.Add(comment);
                context.SaveChanges();
            }
        }
        public void GreateReview(string name, string content, float rating, string gameName)
        {
            Review review = new Review
            {
                Name    = name,
                Content = content,
                Rating  = rating,
            };

            using (TeamworkContext context = new TeamworkContext())
            {
                context.Reviews.Add(review);
                context.SaveChanges();
            }
        }
        public List <GetGameByAverageRatingDto> GetGameByAverageRating(string gameName)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var result = context.Reviews
                             .Select(g => new GetGameByAverageRatingDto()
                {
                    GameName = g.Game.Name,
                    Rating   = g.Game.Reviews.Average(a => a.Rating)
                })
                             .Where(g => g.GameName == gameName);

                return(result.ToList());
            }
        }
Пример #20
0
        public void GreatePublisher(string name, string countryName, string cityName, DateTime founded)
        {
            Publisher publisher = new Publisher
            {
                Name = name,
                FoundedInCountryName = countryName,
                FoundedInCityName    = cityName,
                FoundedIn            = founded
            };

            using (TeamworkContext context = new TeamworkContext())
            {
                context.Publishers.Add(publisher);
                context.SaveChanges();
            }
        }
Пример #21
0
        public List <UserInfoDto> UserInfo(User user)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var result = context.Users
                             .Where(u => u.Username == user.Username)
                             .Select(a => new UserInfoDto()
                {
                    Username   = a.Username,
                    Money      = a.Money,
                    GamesOwned = a.GamesOwned.Select(d => d.Name).ToList()
                });

                return(result.ToList());
            }
        }
        public void GreateDeveloper(string name, string countryName, string cityName, DateTime founded)
        {
            Developer developer = new Developer
            {
                Name = name,
                FoundedInCountryName = countryName,
                FoundedInCityName    = cityName,
                DateFounded          = founded
            };

            using (TeamworkContext context = new TeamworkContext())
            {
                context.Developers.Add(developer);
                context.SaveChanges();
            }
        }
Пример #23
0
        public void RegisterUser(string username, string password, decimal money, int creditCardNumber)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                User u = new User
                {
                    Username         = username,
                    Password         = password,
                    Money            = money,
                    CreditCardNumber = creditCardNumber
                };

                context.Users.Add(u);
                context.SaveChanges();
            }
        }
Пример #24
0
        public UpdateTaskValidation(TeamworkContext context)
        {
            _context = context;

            RuleFor(t => t.Name)
            .NotEmpty()
            .DependentRules(() =>
            {
                RuleFor(t => t.Name)
                .MinimumLength(4)
                .MaximumLength(80);
            });


            RuleFor(t => t.Description)
            .MaximumLength(200);

            RuleFor(t => t.StoryPoints)
            .NotEmpty()
            .LessThan(20);

            RuleFor(t => t.Status)
            .IsInEnum();

            RuleFor(t => t.Priority)
            .IsInEnum();

            RuleFor(t => t.User)
            .NotEmpty()
            .WithMessage("Task has to be assigned on user.")
            .DependentRules(() =>
            {
                RuleFor(t => t.User)
                .Must(CheckUserExistence)
                .WithMessage(dto => $"User with id:{dto.User.Id} doesn't exist. Please, try another user id.");
            });

            RuleFor(t => t.Project)
            .NotEmpty()
            .WithMessage("Task has to be assigned on project.")
            .DependentRules(() =>
            {
                RuleFor(t => t.Project)
                .Must(CheckProjectExistence)
                .WithMessage(dto => $"Project with id:{dto.Project.Id} doesn't exist. Please, try another user id.");
            });
        }
Пример #25
0
        public void AddMoney(int credit, decimal money, User user)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                User u = context.Users.Where(a => a.Username == user.Username).ToList().FirstOrDefault();

                if (credit == u.CreditCardNumber)
                {
                    u.Money += money;
                    context.SaveChanges();
                }
                else
                {
                    throw new ArgumentException("Wrong credit card number.");
                }
            }
        }
        public List <GetDevelopersAndGamesDto> GetDevelopersAndGames()
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var query = context.Developers
                            .Select(d => new GetDevelopersAndGamesDto()
                {
                    DeveloperName        = d.Name,
                    FoundedInCityName    = d.FoundedInCityName,
                    FoundedInCountryName = d.FoundedInCountryName,
                    DateFounded          = d.DateFounded,
                    GamesMade            = d.Games.Select(g => g.Name).ToList()
                });

                return(query.ToList());
            }
        }
        public List <GetCommentsAndReviewsDto> ListReviewsAndComments(string gameName)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var result = context.Reviews
                             .Select(c => new GetCommentsAndReviewsDto()
                {
                    GameName      = c.Game.Name,
                    ReviewTitle   = c.Name,
                    ReviewContent = c.Content,
                    Comments      = c.Comments.Select(g => g.Content).ToList()
                })
                             .Where(g => g.GameName == gameName);

                return(result.ToList());
            }
        }
Пример #28
0
        public void GreateGame(string name, bool isSingleplayer, bool isMultiplayer, DateTime?relaseDate, GameGenre gameGender, decimal gamePrice)
        {
            Game game = new Game
            {
                Name           = name,
                IsSingleplayer = isSingleplayer,
                IsMultiplayer  = isMultiplayer,
                RelaseDate     = relaseDate,
                GameGenre      = gameGender,
                Price          = gamePrice
            };

            using (TeamworkContext context = new TeamworkContext())
            {
                context.Games.Add(game);
                context.SaveChanges();
            }
        }
        public List <GetGamesByRatingDto> GetGamesByRating(float rating)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                var result = context.Reviews
                             .Select(g => new GetGamesByRatingDto()
                {
                    GameName      = g.Game.Name,
                    ReviewTitle   = g.Name,
                    ReviewContnet = g.Content,
                    Rating        = g.Rating
                })
                             .Where(g => g.Rating >= rating)
                             .OrderBy(r => r.Rating)
                             .ThenBy(r => r.GameName);

                return(result.ToList());
            }
        }
Пример #30
0
        public List <GetGamesByGenreDto> GetGamesByGenre(string genreName)
        {
            using (TeamworkContext context = new TeamworkContext())
            {
                GameGenre genre = (GameGenre)Enum.Parse(typeof(GameGenre), genreName);

                var query = context.Games
                            .Select(g => new GetGamesByGenreDto()
                {
                    Name  = g.Name,
                    SP    = g.IsSingleplayer,
                    MP    = g.IsMultiplayer,
                    Genre = g.GameGenre
                })
                            .Where(g => g.Genre == genre);

                return(query.ToList());
            }
        }