Beispiel #1
0
 public static void add_worker(Worker worker)
 {
     using (ECOS_Context database = new ECOS_Context())
     {
         Worker editWorker = new Worker();
         editWorker = database.Worker.FirstOrDefault(w => w.Worker_ID == worker.Worker_ID);
         if (editWorker == null)
         {
             string user_name = null;
             string password  = null;
             AccountGenerator.generate_account(ref user_name, ref password, worker, "WORK");
             worker.Logins.Add(new Login {
                 User_name = user_name, Password = password, IsEnable = true, Role = "WORK"
             });
             database.Worker.Add(worker);
         }
         else
         {
             editWorker.First_name            = worker.First_name;
             editWorker.Last_name             = worker.Last_name;
             editWorker.Degree                = worker.Degree;
             database.Entry(editWorker).State = System.Data.Entity.EntityState.Modified;
         }
         database.SaveChanges();
     }
 }
Beispiel #2
0
 public static void add_student(Student student)
 {
     using (ECOS_Context database = new ECOS_Context())
     {
         Student editWorker = new Student();
         editWorker = database.Students.FirstOrDefault(s => s.Album_number == student.Album_number);
         if (editWorker == null)
         {
             string user_name = null;
             string password  = null;
             AccountGenerator.generate_account(ref user_name, ref password, student, "STUD");
             student.Logins.Add(new Login {
                 User_name = user_name, Password = password, IsEnable = true, Role = "STUD"
             });
             database.Students.Add(student);
         }
         else
         {
             editWorker.First_name            = student.First_name;
             editWorker.Last_name             = student.Last_name;
             editWorker.Album_number          = student.Album_number;
             database.Entry(editWorker).State = System.Data.Entity.EntityState.Modified;
         }
         database.SaveChanges();
     }
 }
    public void GenerateAccountTest(string firstName, string lastName, string expectedAccountPrefix)
    {
        // Orchestrate
        var generator = new AccountGenerator();

        // Act
        var obtained = generator.Generate(new Person {
            FirstName = firstName, LastName = lastName
        });
        var sections = obtained.Split("#");

        // Assert
        Assert.Equal(0, string.Compare(sections[0], expectedAccountPrefix));
    }
Beispiel #4
0
        // [S]OLID - Single Responsibility Principle
        // - a class should have only a single responsibility
        static void Main(string[] args)
        {
            StandardMessages.WelcomeMessage();
            IPerson user = PersonDataCapture.Capture();

            bool isUserValid = PersonValidator.Validate(user);

            if (!isUserValid)
            {
                StandardMessages.EndApplication();
            }

            AccountGenerator.CreateAccount(user);
            StandardMessages.EndApplication();
        }
        static void Main(string[] args)
        {
            UserAccount userAccount = UserAccountDataCapture.CaptureFirstName();

            userAccount = UserAccountDataCapture.CaptureLastName();

            bool isUserAccountValid = UserAccountValidator.Validate(userAccount);

            if (!isUserAccountValid)
            {
                StandardMessages.EndApplication();
                return;
            }

            AccountGenerator.CreateAccount(userAccount);
            StandardMessages.EndApplication();
        }
        public static void Main(string[] args)
        {
            StandardMessages.WelcomeMessage();

            var user = PersonDataCapture.Capture();

            // same as PersonValidator.Validate(user) == false
            if (!PersonValidator.Validate(user))
            {
                StandardMessages.EndApplication();
                return;
            }

            AccountGenerator.CreateAccount(user);

            StandardMessages.EndApplication();
        }
Beispiel #7
0
        /// <summary>
        ///     I dont have to change this (same) class for two different reasons. - good
        ///     It makes reading of code faster, understanding of code better and it makes better
        ///     layer for further design principles.
        /// </summary>
        private static void GoodCode()
        {
            StandardMessages.SayWelcomeMessage();

            var user = PersonDataCapture.Capture();

            var isUserValid = PersonValidator.Validate(user);

            if (!isUserValid)
            {
                StandardMessages.EndApplication();
                return;
            }

            AccountGenerator.GenerateUsername(user);

            StandardMessages.EndApplication();
        }
Beispiel #8
0
        static void Main(string[] args)
        {
            StandardMessages.WelcomeMessage();

            //Ask for person information
            Person person = PersonDataCapture.Capture();

            //check for valid detail
            bool isPersonValid = PersonValidator.Validate(person);

            if (isPersonValid == false)
            {
                StandardMessages.EndApplication();
                return;
            }

            //create person
            AccountGenerator.CreateAccount(person);

            StandardMessages.EndApplication();
        }
        private string AddAccount(string[] input)
        {
            if (input.Length != 3)
            {
                throw new ArgumentException("Invalid input");
            }

            // Add SavingAccount <initial balance> <interest rate>
            if (!AuthenticationManager.IsAuthenticated())
            {
                throw new InvalidOperationException("User should log in first");
            }

            string accountType = input[0];

            string  accountNumber = AccountGenerator.GenerateAccountNumber();
            decimal balance       = decimal.Parse(input[1]);
            decimal rateOrFee     = decimal.Parse(input[2]);

            if (accountType.Equals("CheckingAccount", StringComparison.OrdinalIgnoreCase))
            {
                CheckingAccount checkingAccount = new CheckingAccount()
                {
                    AccountNumber = accountNumber,
                    Balance       = balance,
                    Fee           = rateOrFee
                };

                this.ValidateCheckingAccount(checkingAccount);

                using (BankingSystemContext context = new BankingSystemContext())
                {
                    User user = AuthenticationManager.GetCurrentUser();
                    context.Users.Attach(user);
                    checkingAccount.User = user;

                    context.CheckingAccounts.Add(checkingAccount);
                    context.SaveChanges();
                }
            }
            else if (accountType.Equals("SavingAccount", StringComparison.OrdinalIgnoreCase))
            {
                SavingAccount savingAccount = new SavingAccount()
                {
                    AccountNumber = accountNumber,
                    Balance       = balance,
                    InterestRate  = rateOrFee
                };

                this.ValidateSavingAccount(savingAccount);

                using (BankingSystemContext context = new BankingSystemContext())
                {
                    User user = AuthenticationManager.GetCurrentUser();
                    context.Users.Attach(user);
                    savingAccount.User = user;

                    context.SavingAccounts.Add(savingAccount);
                    context.SaveChanges();
                }
            }
            else
            {
                throw new ArgumentException($"Invalid account type {accountType}");
            }

            return($"Account number {accountNumber} successfully added");
        }