Exemple #1
0
        /**
         * Purpose: Gets a single employee from database
         * Arguments:
         *     EmployeeId - An Employee ID
         * Return:
         *     Single employee from database
         */
        public Employee get(int EmployeeId)
        {
            BangazonWorkforceConnection conn = new BangazonWorkforceConnection();
            Employee e = null;

            conn.execute(@"SELECT 
                EmployeeId,
                FirstName, 
                LastName, 
                DepartmentId,
                Administrator
                FROM Employee
                WHERE EndDate IS NULL AND EmployeeId = " + EmployeeId, (SqliteDataReader reader) => {
                while (reader.Read())
                {
                    e = new Employee
                    {
                        EmployeeId    = reader.GetInt32(0),
                        FirstName     = reader[1].ToString(),
                        LastName      = reader[2].ToString(),
                        DepartmentId  = reader.GetInt32(3),
                        Administrator = Convert.ToBoolean(reader.GetInt32(4))
                    };
                }
            });


            return(e);
        }
Exemple #2
0
        /**
         * Purpose: Gets all employee records from database
         * Return:
         *     List of all employee records
         */
        public List <Employee> getAll()
        {
            BangazonWorkforceConnection conn = new BangazonWorkforceConnection();
            List <Employee>             list = new List <Employee>();

            // Execute the query to retrieve all customers
            conn.execute(@"SELECT 
                EmployeeId,
                FirstName, 
                LastName, 
                DepartmentId,
                Administrator
                FROM Employee
                WHERE EndDate IS NULL",
                         (SqliteDataReader reader) => {
                while (reader.Read())
                {
                    list.Add(new Employee
                    {
                        EmployeeId    = reader.GetInt32(0),
                        FirstName     = reader[1].ToString(),
                        LastName      = reader[2].ToString(),
                        DepartmentId  = reader.GetInt32(3),
                        Administrator = Convert.ToBoolean(reader.GetInt32(4))
                    });
                }
            }
                         );


            return(list);
        }
Exemple #3
0
        public Employee getEmployeeByFullName(string fullName)
        {
            // Break the string into an array, whitespace as the delimiter
            string[] fullNameAsArray = Regex.Split(fullName, @"\s+").Where(s => s != string.Empty).ToArray();
            string   firstName       = fullNameAsArray[0];
            string   lastName        = fullNameAsArray[1];

            BangazonWorkforceConnection conn = new BangazonWorkforceConnection();
            Employee e = null;

            conn.execute(@"SELECT 
                EmployeeId,
                FirstName, 
                LastName, 
                DepartmentId,
                Administrator
                FROM Employee
                WHERE EndDate IS NULL AND FirstName = '" + firstName + "' AND " + "LastName = '" + lastName + "'",  // pls no sql hacks :(
                         (SqliteDataReader reader) => {
                while (reader.Read())
                {
                    e = new Employee
                    {
                        EmployeeId    = reader.GetInt32(0),
                        FirstName     = reader[1].ToString(),
                        LastName      = reader[2].ToString(),
                        DepartmentId  = reader.GetInt32(3),
                        Administrator = Convert.ToBoolean(reader.GetInt32(4))
                    };
                }
            });

            return(e);
        }
Exemple #4
0
        /**
         * Purpose: Gets all deparments from database
         * Return:
         *     List of all department records
         */
        public List <Department> getAll()
        {
            BangazonWorkforceConnection conn = new BangazonWorkforceConnection();
            List <Department>           list = new List <Department>();

            // Execute the query to retrieve all customers
            conn.execute(@"SELECT 
                DepartmentId,
                Name
                FROM Department",
                         (SqliteDataReader reader) =>
            {
                while (reader.Read())
                {
                    list.Add(new Department
                    {
                        DepartmentId = reader.GetInt32(0),
                        Label        = reader[1].ToString()
                    });
                }
            }
                         );

            return(list);
        }
        public void CanSaveNewEmployeeToDatabase()
        {
            var employeeFactory = new EmployeeFactory();
            int lastPK          = employeeFactory.getAll().Last().EmployeeId;

            Employee Jeb = new Employee()
            {
                FirstName     = "Jeb",
                LastName      = "Bush",
                DepartmentId  = 1,
                Administrator = false
            };

            Jeb.save();

            Employee shouldBeJeb = employeeFactory.getAll().Last();

            Assert.NotNull(shouldBeJeb);
            Assert.NotNull(shouldBeJeb.EmployeeId);
            Assert.True(shouldBeJeb.EmployeeId > lastPK);
            Assert.True(Jeb.FirstName == shouldBeJeb.FirstName);
            Assert.True(Jeb.LastName == shouldBeJeb.LastName);
            Assert.True(Jeb.DepartmentId == shouldBeJeb.DepartmentId);
            Assert.True(Jeb.Administrator == shouldBeJeb.Administrator);

            var conn = new BangazonWorkforceConnection();

            conn.insert($"DELETE FROM Employee WHERE EmployeeId = {shouldBeJeb.EmployeeId}");
        }
Exemple #6
0
        /**
         * Purpose: Saves an employee instance to the database
         * Return:
         *     void
         */
        public void save()
        {
            string query = string.Format(@"
            INSERT INTO Employee 
                (FirstName, LastName, DepartmentId, Administrator, StartDate)
            VALUES 
                ('{0}', '{1}', '{2}', '{3}', '{4}');
            ",
                                         this.FirstName,
                                         this.LastName,
                                         this.DepartmentId,
                                         this.Administrator ? 1 : 0,
                                         this.StartDate
                                         );

            BangazonWorkforceConnection conn = new BangazonWorkforceConnection();

            conn.insert(query);
        }
Exemple #7
0
        /**
         * Purpose: Gets a single department from database
         * Arguments:
         *     DepartmentId - A department ID
         * Return:
         *     Single department from database
         */
        public Department get(int DepartmentId)
        {
            BangazonWorkforceConnection conn = new BangazonWorkforceConnection();
            Department d = null;

            conn.execute(@"SELECT 
                DepartmentId,
                Name
                FROM Department
                WHERE DepartmentId = " + DepartmentId, (SqliteDataReader reader) =>
            {
                while (reader.Read())
                {
                    d = new Department
                    {
                        DepartmentId = reader.GetInt32(0),
                        Label        = reader[1].ToString()
                    };
                }
            });


            return(d);
        }