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(); } }
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)); }
// [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(); }
/// <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(); }
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"); }