Ejemplo n.º 1
0
        public string Execute(string[] args)
        {
            Checker.CheckArgumentsLength(EXPRECTED_ARGUMENTS_LENGTH, args.Length);
            Checker.CheckUserIsLoggedOut();

            var eventName    = args[0];
            var teamName     = args[1];
            var loggedInUser = AuthenticationService.GetCurrentUser();

            if (!DatabaseChecker.IsEventExisting(eventName))
            {
                throw new ArgumentException(string.Format(ErrorMessages.EVENT_NOT_FOUND, eventName));
            }

            if (!DatabaseChecker.IsTeamExisting(teamName))
            {
                throw new ArgumentException(string.Format(ErrorMessages.TEAM_NOT_FOUND, teamName));
            }

            if (!DatabaseChecker.IsUserCreatorOfTeam(teamName, loggedInUser))
            {
                throw new InvalidOperationException(ErrorMessages.OPERATION_NOT_ALLOWED);
            }

            if (DatabaseChecker.IsTeamPartOfEvent(eventName, teamName))
            {
                throw new InvalidOperationException(ErrorMessages.CANNOT_ADD_SAME_TEAM_TWICE);
            }

            this.userService.AddTeamToEvent(eventName, teamName);

            var message = string.Format(SuccessfullMessages.SUCCESSFULLY_ADDED_TEAM_TO_EVENT, teamName, eventName);

            return(message);
        }
        public void ThenTheNewTargetAccountIsUpdated()
        {
            var newAtmWithdrawAmount      = DatabaseChecker.GetAtmWithdrawCurrentAmount(_newAtmWithdrawId);
            var expectedAtmWithdrawAmount = _newAtmWithdrawAmount - _newCostExpenditure;

            Assert.AreEqual(expectedAtmWithdrawAmount, newAtmWithdrawAmount);
        }
        public void ThenTheSourceAccountIsUpdated()
        {
            var newSourceAccountAmount = DatabaseChecker.GetBankAccountAmount(_sourceAccountId);
            var expectedSourceAmount   = _sourceAccountAmount + _costExpenditure - _newCostExpenditure;

            Assert.AreEqual(expectedSourceAmount, newSourceAccountAmount);
        }
Ejemplo n.º 4
0
        public void ThenTheTargetAccountIsUpdated()
        {
            var newTargetAccountAmount = DatabaseChecker.GetBankAccountAmount(_oldTargetAccountId);
            var expectedTargetAmount   = _oldTargetAccountAmount - _costSaving + _newCostSaving;

            Assert.AreEqual(expectedTargetAmount, newTargetAccountAmount);
        }
        public void ThenTheTargetAccountIsUpdated()
        {
            var newTargetAccountAmount = DatabaseChecker.GetBankAccountAmount(_targetAccountId);
            var expectedTargetAmount   = _targetAccountAmount + _newCostExpenditure;

            Assert.AreEqual(expectedTargetAmount, newTargetAccountAmount);
        }
Ejemplo n.º 6
0
        public void GivenIHaveAtLeastOneExpenditureWithThisPaymentMethodInTheList()
        {
            _firstRow = SiteMap.ExpenseListPage.FindFirstRowAndCheckPaymentMethod("Cash");

            _atmWithdrawId     = SiteMap.ExpenseListPage.FindAtmWithdrawId(_firstRow);
            _atmWithdrawAmount = DatabaseChecker.GetAtmWithdrawCurrentAmount(_atmWithdrawId);
        }
        public void ThenAMouvementEntryHasBeenSaved()
        {
            // Get Number Of Movements After
            var newCountMovements = DatabaseChecker.CountMovements();

            Assert.AreEqual(newCountMovements, _countMovements + 1);
        }
        public string Execute(string[] args)
        {
            Checker.CheckArgumentsLength(EXPRECTED_ARGUMENTS_LENGTH, args.Length);

            var username = args[0];
            var password = args[1];

            if (!DatabaseChecker.IsUserExisting(username) || !DatabaseChecker.ArePasswordsEqual(username, password))
            {
                throw new ArgumentException(ErrorMessages.INVALID_USERNAME_OR_PASSWORD);
            }

            if (DatabaseChecker.IsUserDeleted(username))
            {
                throw new ArgumentException(ErrorMessages.INVALID_USERNAME_OR_PASSWORD);
            }

            Checker.CheckUserIsLoggedIn();

            AuthenticationService.Login(username, password);

            var message = string.Format(SuccessfullMessages.SUCCESSFULL_LOGIN, username);

            return(message);
        }
Ejemplo n.º 9
0
        public void ThenTheTargetAtmWithdrawIsUpdated()
        {
            var newTargetAtmWithdrawAmount = DatabaseChecker.GetAtmWithdrawCurrentAmount(_atmWithdrawId);
            var expectedTargetAmount       = _atmWithdrawAmount - 100;

            Assert.AreEqual(expectedTargetAmount, newTargetAtmWithdrawAmount);
        }
Ejemplo n.º 10
0
        public DatabaseChooser() : base("Wähle eine Datenbank")
        {
            // Init global data
            dbChecker            = new DatabaseChecker(this);
            fileChooser          = new FileChooserWidget(new FileChooserAction());
            statusLabel          = new Label();
            textEntry            = new Entry();
            textEntry.IsEditable = false;             // Only FileChooserWidget can choose
            dbStatus             = (int)status.NO_FILE;

            // Data chooser
            Label pathLabel = new Label("Datei");
            var   pathBox   = new HBox();

            pathBox.PackStart(pathLabel, false, true, 5);
            pathBox.PackStart(textEntry, true, true, 0);

            // FileFilter
            var allFilter = new FileFilter();

            allFilter.Name = "Alle Dateien";
            allFilter.AddPattern("*");

            var dbFilter = new FileFilter();

            dbFilter.Name = "Datenbanken";
            dbFilter.AddPattern("*.db");
            dbFilter.AddMimeType("application/sql");
            dbFilter.AddMimeType("text/sql");
            dbFilter.AddMimeType("text/x-sql");
            //dbFilter.AddMimeType("text/plain"); //XXX: Wait for feedback
            fileChooser.AddFilter(dbFilter);
            fileChooser.AddFilter(allFilter);
            // On Action handler
            fileChooser.FileActivated += OnFileChoosed;
            // Show current File on the side
            fileChooser.ExtraWidget = pathBox;
            fileChooser.ExtraWidget.WidthRequest = 500;

            // Buttons
            Button validateButton = new Button("Datenbank prüfen");

            validateButton.Clicked += delegate { Validate(true); };
            Button okButton = new Button("Ok");

            okButton.Clicked += OnOk;
            var buttonBox = new Table(1, 5, true);

            buttonBox.Attach(validateButton, 3, 4, 0, 1);
            buttonBox.Attach(okButton, 4, 5, 0, 1);

            // Pack on this
            var mainBox = new VBox();

            mainBox.PackStart(fileChooser, true, true, 0);
            mainBox.PackStart(new HSeparator(), false, false, 2);
            mainBox.PackStart(buttonBox, false, false, 3);
            this.Add(mainBox);
        }
        public void GivenIHaveAtLeastOneExpenditureWithThisPaymentMethodInTheList()
        {
            _firstRow = SiteMap.ExpenseListPage.FindFirstRowAndCheckPaymentMethod("Internal Transfer");

            _targetAccountId     = SiteMap.ExpenseListPage.FindTargetInternalAccountId(_firstRow);
            _targetAccountAmount = DatabaseChecker.GetBankAccountAmount(_targetAccountId);
            _costExpenditure     = SiteMap.ExpenseListPage.FindCost(_firstRow);
        }
Ejemplo n.º 12
0
        public void GivenIHaveAtLeastOneSavingInTheList()
        {
            _firstRow = SiteMap.SavingListPage.FindFirstRow();

            _costSaving             = SiteMap.SavingListPage.FindCost(_firstRow);
            _oldTargetAccountId     = SiteMap.SavingListPage.FindTargetInternalAccountId(_firstRow);
            _oldTargetAccountAmount = DatabaseChecker.GetBankAccountAmount(_oldTargetAccountId);
        }
Ejemplo n.º 13
0
        public void ThenTheIncomeHasBeenUpdated()
        {
            var newCountIncomes = DatabaseChecker.CountIncomes();

            Assert.AreEqual(newCountIncomes, _countIncomes);

            _newCostIncome = DatabaseChecker.GetIncomeCost(_incomeId);
            Assert.AreEqual(_costIncome + 100, _newCostIncome);
        }
Ejemplo n.º 14
0
        public void ThenTheAtmWithdrawHasBeenUpdated()
        {
            var newCountAtmWithdraws = DatabaseChecker.CountAtmWithdraws();

            Assert.AreEqual(newCountAtmWithdraws, _countAtmWithdraws);

            _newCostAtmWithdraw = DatabaseChecker.GetAtmWithdrawInitialAmount(_atmWithdrawId);
            Assert.AreEqual(_costAtmWithdraw + 100, _newCostAtmWithdraw);
        }
        public void ThenTheExpenditureHasBeenUpdated()
        {
            var newCountExpenditures = DatabaseChecker.CountExpenditures();

            Assert.AreEqual(newCountExpenditures, _countExpenditures);

            _newCostExpenditure = DatabaseChecker.GetExpenditureCost(_expenditureId);
            Assert.AreEqual(_costExpenditure + 100, _newCostExpenditure);
        }
Ejemplo n.º 16
0
        public void ThenTheSavingHasBeenUpdated()
        {
            var newCountSavings = DatabaseChecker.CountSavings();

            Assert.AreEqual(newCountSavings, _countSavings);

            _newCostSaving = DatabaseChecker.GetSavingCost(_savingId);
            Assert.AreEqual(_costSaving + 100, _newCostSaving);
        }
Ejemplo n.º 17
0
        public void GivenIHaveAccessedTheExpendituresListPage()
        {
            SiteMap.AccountManagementDashboardPage.GoTo();
            _sourceAccountId     = SiteMap.AccountManagementDashboardPage.SelectAccount();
            _sourceAccountAmount = DatabaseChecker.GetBankAccountAmount(_sourceAccountId);

            SiteMap.ExpenseListPage.GoTo();

            _countExpenditures = DatabaseChecker.CountExpenditures();
            _countMovements    = DatabaseChecker.CountMovements();
        }
Ejemplo n.º 18
0
        public void WhenIClickOnEditForThisExpenditure()
        {
            _costExpenditure = SiteMap.ExpenseListPage.FindCost(_firstRow);

            SiteMap.ExpenseListPage.ClickEditButton(_firstRow);

            _oldTargetAccountId     = SiteMap.ExpenseEditPage.FindTargetAccountId();
            _oldTargetAccountAmount = DatabaseChecker.GetBankAccountAmount(_oldTargetAccountId);

            _expenditureId = SiteMap.ExpenseEditPage.FindExpenseId();
        }
        public void WhenIClickOnEditForThisExpenditure()
        {
            _costExpenditure = SiteMap.ExpenseListPage.FindCost(_firstRow);

            SiteMap.ExpenseListPage.ClickEditButton(_firstRow);

            _oldAtmWithdrawId     = SiteMap.ExpenseEditPage.FindAtmWithdrawId();
            _oldAtmWithdrawAmount = DatabaseChecker.GetAtmWithdrawCurrentAmount(_oldAtmWithdrawId);

            _expenditureId = SiteMap.ExpenseEditPage.FindExpenseId();
        }
Ejemplo n.º 20
0
        public void GivenIHaveAccessedTheAtmWithdrawListPage()
        {
            SiteMap.AccountManagementDashboardPage.GoTo();
            _sourceAccountId     = SiteMap.AccountManagementDashboardPage.SelectAccount();
            _sourceAccountAmount = DatabaseChecker.GetBankAccountAmount(_sourceAccountId);

            SiteMap.AtmWithdrawListPage.GoTo();

            _countAtmWithdraws = DatabaseChecker.CountAtmWithdraws();
            _countMovements    = DatabaseChecker.CountMovements();
        }
Ejemplo n.º 21
0
        public void GivenIHaveAccessedTheSavingListPage()
        {
            SiteMap.AccountManagementDashboardPage.GoTo();
            _sourceAccountId     = SiteMap.AccountManagementDashboardPage.SelectAccount();
            _sourceAccountAmount = DatabaseChecker.GetBankAccountAmount(_sourceAccountId);

            SiteMap.SavingListPage.GoTo();

            _countSavings   = DatabaseChecker.CountSavings();
            _countIncomes   = DatabaseChecker.CountIncomes();
            _countMovements = DatabaseChecker.CountMovements();
        }
Ejemplo n.º 22
0
        public string Execute(string[] args)
        {
            Checker.CheckArgumentsLength(EXPRECTED_ARGUMENTS_LENGTH, args.Length);
            Checker.CheckUserIsLoggedOut();

            var loggedInUser   = AuthenticationService.GetCurrentUser();
            var teamName       = args[0];
            var usernameToKick = args[1];

            if (!DatabaseChecker.IsTeamExisting(teamName))
            {
                throw new ArgumentException(string.Format(ErrorMessages.TEAM_NOT_FOUND, teamName));
            }

            if (!DatabaseChecker.IsUserExisting(usernameToKick))
            {
                throw new ArgumentException(string.Format(ErrorMessages.USER_NOT_FOUND, usernameToKick));
            }

            if (!DatabaseChecker.IsMemberOfTeam(teamName, loggedInUser.Username))
            {
                throw new ArgumentException(string.Format(ErrorMessages.NOT_PART_OF_TEAM, loggedInUser.Username, teamName));
            }

            if (!DatabaseChecker.IsMemberOfTeam(teamName, usernameToKick))
            {
                throw new ArgumentException(string.Format(ErrorMessages.NOT_PART_OF_TEAM, usernameToKick, teamName));
            }

            if (!DatabaseChecker.IsUserCreatorOfTeam(teamName, loggedInUser))
            {
                throw new InvalidOperationException(ErrorMessages.OPERATION_NOT_ALLOWED);
            }

            User userToKick = null;

            using (var context = new TeamBuilderDbContext())
            {
                userToKick = context.Users.FirstOrDefault(u => u.Username == usernameToKick);
            }

            if (DatabaseChecker.IsUserCreatorOfTeam(teamName, userToKick))
            {
                throw new InvalidOperationException(string.Format(ErrorMessages.COMMAND_NOT_ALLOWED, "DisbandTeam"));
            }

            this.userService.KickMember(teamName, usernameToKick);

            var message = string.Format(SuccessfullMessages.SUCCESSFULLY_KICKED_USER, usernameToKick, teamName);

            return(message);
        }
Ejemplo n.º 23
0
        public static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                         .Enrich.FromLogContext()
                         .WriteTo.Console()
                         .CreateLogger();

            var host = CreateHostBuilder(args).Build();

            Task.WaitAll(DatabaseChecker.EnsureDatabaseIsReady(host.Services));

            host.Run();
        }
        private static void CheckForInvalidUsername(string username)
        {
            var usernameLengthIsInvalid = username.Length <Constraints.USERNAME_MIN_LENGTH || username.Length> Constraints.USERNAME_MAX_LENGTH;

            if (usernameLengthIsInvalid)
            {
                throw new ArgumentException(string.Format(ErrorMessages.USERNAME_NOT_VALID, username));
            }

            if (DatabaseChecker.IsUserExisting(username))
            {
                throw new InvalidOperationException(string.Format(ErrorMessages.USERNAME_IS_TAKEN, username));
            }
        }
Ejemplo n.º 25
0
        public string Execute(string[] args)
        {
            Checker.CheckArgumentsLength(EXPRECTED_ARGUMENTS_LENGTH, args.Length);

            var eventName = args[0];

            if (!DatabaseChecker.IsEventExisting(eventName))
            {
                throw new ArgumentException(string.Format(ErrorMessages.EVENT_NOT_FOUND, eventName));
            }

            var message = this.userService.ShowEvent(eventName);

            return(message);
        }
        public string Execute(string[] args)
        {
            Checker.CheckArgumentsLength(EXPRECTED_ARGUMENTS_LENGTH, args.Length);
            Checker.CheckUserIsLoggedOut();

            var teamName = args[0];
            var username = args[1];

            User inviteReciever = null;
            var  loggedInUser   = AuthenticationService.GetCurrentUser();

            using (var context = new TeamBuilderDbContext())
            {
                inviteReciever = context.Users.FirstOrDefault(u => u.Username == username);
            }

            if (!DatabaseChecker.IsUserExisting(username) || !DatabaseChecker.IsTeamExisting(teamName))
            {
                throw new ArgumentException(ErrorMessages.TEAM_OR_USER_NOT_EXIST);
            }

            var isUserCreator              = DatabaseChecker.IsUserCreatorOfTeam(teamName, loggedInUser);
            var isCreatorPartOfTheTeam     = DatabaseChecker.IsMemberOfTeam(teamName, loggedInUser.Username);
            var isInvitedUserPartOfTheTeam = DatabaseChecker.IsMemberOfTeam(teamName, username);
            var isUserInvited              = DatabaseChecker.IsMemberOfTeam(teamName, username);
            var isUserDeleted              = DatabaseChecker.IsUserDeleted(username);

            if (!isUserCreator || !isCreatorPartOfTheTeam || isUserInvited || isUserDeleted || isInvitedUserPartOfTheTeam)
            {
                throw new InvalidOperationException(ErrorMessages.OPERATION_NOT_ALLOWED);
            }

            if (DatabaseChecker.IsInviteExisting(teamName, inviteReciever))
            {
                throw new InvalidOperationException(ErrorMessages.INVITE_IS_ALREADY_SENT);
            }

            this.userService.SendInvitation(teamName, inviteReciever);

            var message = string.Format(SuccessfullMessages.SUCCESSFULLY_MADE_INVITATION, teamName, username);

            return(message);
        }
Ejemplo n.º 27
0
        public static void Initialize(ProjectContext context)
        {
            var exists = new DatabaseChecker().DatabaseExists(context);

            if (exists == DatabaseExistenceState.Exists)
            {
                try
                {
                    context.Database.EnsureCreated();
                    context.SaveChanges();
                }
                catch
                {
                }
            }
            else
            {
                context.Database.EnsureCreated();
            }
        }
        public static void Main(string[] args)
        {
            Console.Title = "JP Project - Api Management";

            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
                         .MinimumLevel.Override("System", LogEventLevel.Information)
                         .MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Information)
                         .Enrich.FromLogContext()
                         .WriteTo.File(@"jpProject_sso_log-.txt", rollingInterval: RollingInterval.Day, retainedFileCountLimit: 5)
                         .WriteTo.Console()
                         .CreateLogger();

            var host = CreateHostBuilder(args).Build();

            Task.WaitAll(DatabaseChecker.EnsureDatabaseIsReady(host.Services.CreateScope()));

            host.Run();
        }
        public string Execute(string[] args)
        {
            string teamName    = string.Empty;
            string acronym     = string.Empty;
            string description = string.Empty;

            SetArgumentValues(args, ref teamName, ref acronym, ref description);

            Checker.CheckUserIsLoggedOut();

            if (DatabaseChecker.IsTeamExisting(teamName))
            {
                throw new ArgumentException(string.Format(ErrorMessages.TEAM_EXISTS, teamName));
            }

            Checker.CheckAcronymIsExisting(acronym);

            this.userService.CreateTeam(teamName, acronym, description);

            var message = string.Format(SuccessfullMessages.SUCCESSFULLY_CREATED_TEAM, teamName);

            return(message);
        }
        public string Execute(string[] args)
        {
            Checker.CheckArgumentsLength(EXPRECTED_ARGUMENTS_LENGTH, args.Length);
            Checker.CheckUserIsLoggedOut();

            var teamName     = args[0];
            var loggedInUser = AuthenticationService.GetCurrentUser();

            if (!DatabaseChecker.IsTeamExisting(teamName))
            {
                throw new ArgumentException(string.Format(ErrorMessages.TEAM_NOT_FOUND, teamName));
            }

            if (!DatabaseChecker.IsInviteExisting(teamName, loggedInUser))
            {
                throw new ArgumentException(string.Format(ErrorMessages.INVITE_NOT_FOUND, teamName));
            }

            this.userService.AcceptInvitation(teamName);

            var message = string.Format(SuccessfullMessages.SUCCESSFULLY_ACCEPTED_INVITATION, loggedInUser.Username, teamName);

            return(message);
        }