Ejemplo n.º 1
0
        public void TestAddCommissionedEmployee()
        {
            int empId = 3;
            AddCommissionedEmployee t =
                new AddCommissionedEmployee(empId, "Justin", "Home", 2500, 9.5, database);

            t.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.AreEqual("Justin", e.Name);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is CommissionClassification);
            CommissionClassification cc = pc as CommissionClassification;

            Assert.AreEqual(2500, cc.BaseRate, .001);
            Assert.AreEqual(9.5, cc.CommissionRate, .001);
            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is BiWeeklySchedule);

            PaymentMethod pm = e.Method;

            Assert.IsTrue(pm is HoldMethod);
        }
Ejemplo n.º 2
0
        public void TestSalesReceiptTransaction()
        {
            int empId = 5;
            AddCommissionedEmployee t =
                new AddCommissionedEmployee(
                    empId, "Bill", "Home", 2000, 15.25, database);

            t.Execute();
            SalesReceiptTransaction tct =
                new SalesReceiptTransaction(
                    new DateTime(2005, 7, 31), 250.00, empId, database);

            tct.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is CommissionClassification);
            CommissionClassification cc = pc as CommissionClassification;

            SalesReceipt sr = cc.GetSalesReceipt(new DateTime(2005, 7, 31));

            Assert.IsNotNull(sr);
            Assert.AreEqual(250.00, sr.SaleAmount, .001);
        }
Ejemplo n.º 3
0
        public void TestChangeCommisionTransaction()
        {
            int empId             = 5;
            AddSalariedEmployee t =
                new AddSalariedEmployee(
                    empId, "Bob", "Home", 2500.00, database);

            t.Execute();
            ChangeCommissionedTransaction cht =
                new ChangeCommissionedTransaction(empId, 1250.00, 5.6, database);

            cht.Execute();
            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);
            PaymentClassification pc = e.Classification;

            Assert.IsNotNull(pc);
            Assert.IsTrue(pc is CommissionClassification);
            CommissionClassification cc = pc as CommissionClassification;

            Assert.AreEqual(1250.00, cc.BaseRate, .001);
            Assert.AreEqual(5.6, cc.CommissionRate, .001);
            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is BiWeeklySchedule);
        }
        private void PrepareToSaveClassification(Employee employee)
        {
            PaymentClassification classification = employee.Classification;

            if (classification is HourlyClassification)
            {
                classificationCode = "hourly";
                HourlyClassification hourlyClassification = classification as HourlyClassification;
                insertClassificationCommand = CreateInsertHourlyClassificationCommand(hourlyClassification, employee);
            }
            else if (classification is SalariedClassification)
            {
                classificationCode = "salary";
                SalariedClassification salariedClassification = classification as SalariedClassification;
                insertClassificationCommand = CreateInsertSalariedClassificationCommand(salariedClassification, employee);
            }
            else if (classification is CommissionClassification)
            {
                classificationCode = "commission";
                CommissionClassification commissionClassification = classification as CommissionClassification;
                insertClassificationCommand = CreateInsertCommissionClassificationCommand(commissionClassification, employee);
            }
            else
            {
                classificationCode = "unknown";
            }
        }
Ejemplo n.º 5
0
        private void PrepareToSavePaymentClassification(Employee employee)
        {
            PaymentClassification paymentClassification = employee.Classification;

            if (paymentClassification is HourlyClassification)
            {
                classificatinCode = "hourly";
                HourlyClassification hourlyClassification = paymentClassification as HourlyClassification;
                CreateInsertHourlyCommand(employee, hourlyClassification);
            }
            else if (paymentClassification is SalariedClassification)
            {
                classificatinCode = "salaried";
                SalariedClassification salariedClassification = paymentClassification as SalariedClassification;
                CreateInsertSalariedCommand(employee, salariedClassification);
            }
            else if (paymentClassification is CommissionClassification)
            {
                classificatinCode = "commission";
                CommissionClassification commissionClassification = paymentClassification as CommissionClassification;
                CreatInsertCommissionedCommand(employee, commissionClassification);
            }
            else
            {
                classificatinCode = "unknown";
            }
        }
        private SqlCommand CreateInsertCommissionClassificationCommand(CommissionClassification classification, Employee employee)
        {
            string     sql     = "insert into CommissionedClassification values (@Salary, @Commission, @EmpId)";
            SqlCommand command = new SqlCommand(sql);

            command.Parameters.Add("@Salary", classification.BaseRate);
            command.Parameters.Add("@Commission", classification.CommissionRate);
            command.Parameters.Add("@EmpId", employee.EmpId);
            return(command);
        }
Ejemplo n.º 7
0
        private void CreatInsertCommissionedCommand(Employee employee, CommissionClassification commissionClassification)
        {
            string sql = "insert into CommissionedClassification " +
                         "values (@Salary, @Commission, @EmpId)";

            insertPaymentClassificationCommand = new SqlCommand(sql);
            insertPaymentClassificationCommand.Parameters.AddWithValue("@Salary", commissionClassification.BaseRate);
            insertPaymentClassificationCommand.Parameters.AddWithValue("@Commission", commissionClassification.CommissionRate);
            insertPaymentClassificationCommand.Parameters.AddWithValue("@EmpId", employee.EmpId);
        }
        private void SetPaymentClassification()
        {
            PaymentClassification classification = employee.Classfication;

            if (classification is HourlyClassification)
            {
                classificationCode = "hourly";
                HourlyClassification hourlyClassification =
                    classification as HourlyClassification;
                insertClassificationSql =
                    "insert into HourlyClassification values " +
                    "(@HourlyRate, @EmpId)";
                classificationParameters = new object[]
                {
                    hourlyClassification.HourlyRate,
                    employee.EmpId
                };
            }
            else if (classification is SalariedClassification)
            {
                classificationCode = "salary";
                SalariedClassification salariedClassification =
                    classification as SalariedClassification;
                insertClassificationSql =
                    "insert into SalariedClassification values (@Salary, @EmpId)";
                classificationParameters = new object[]
                {
                    salariedClassification.Salary,
                    employee.EmpId
                };
            }
            else if (classification is CommissionClassification)
            {
                classificationCode = "commission";
                CommissionClassification commissionClassification =
                    classification as CommissionClassification;
                insertClassificationSql =
                    "insert into CommissionedClassification values " +
                    "(@Salary, @Commission, @EmpId)";
                classificationParameters = new object[]
                {
                    commissionClassification.BaseRate,
                    commissionClassification.CommissionRate,
                    employee.EmpId
                };
            }
            else
            {
                classificationCode = "unknown";
            }
        }
        public void CreateCommisstionedClassificationFromRow()
        {
            operation = new LoadPaymentClassificationOperation(employee, "commission", null);
            operation.Prepare();
            DataRow row = LoadEmployeeOperationTest.ShuntRow("Salary,Commission", 999.99, 9.9);

            operation.CreateClassification(row);

            PaymentClassification classification = this.operation.Classification;

            Assert.IsTrue(classification is CommissionClassification);
            CommissionClassification commissionClassification = classification as CommissionClassification;

            Assert.AreEqual(999.99, commissionClassification.BaseRate, 0.01);
            Assert.AreEqual(9.9, commissionClassification.CommissionRate, 0.01);
        }
Ejemplo n.º 10
0
        public void ExecuteTest()
        {
            AddEmployeeTransaction addEmp = new AddCommissionedEmployee(3, "Dalai", "Bree Street", 0.6, 0.7, database);

            addEmp.Execute();
            Employee emp = database.GetEmployee(3);

            Assert.IsNotNull(emp);

            PaymentClassification classification = emp.Classification;
            PaymentMethod         method         = emp.Method;
            PaymentSchedule       schedule       = emp.Schedule;

            Assert.AreEqual("Dalai", emp.Name);
            Assert.IsTrue(classification is CommissionClassification);
            Assert.IsTrue(method is HoldMethod);
            Assert.IsTrue(schedule is BiWeeklySchedule);

            CommissionClassification hourlyClassifiction = classification as CommissionClassification;

            Assert.AreEqual(0.6, hourlyClassifiction.BaseRate, 0.0001);
            Assert.AreEqual(0.7, hourlyClassifiction.CommissionRate, 0.0001);
        }
Ejemplo n.º 11
0
        public void ExecuteTest()
        {
            int      empId    = 12;
            DateTime dateTime = new DateTime(2013, 2, 5);
            double   amount   = 2300;

            AddEmployeeTransaction addEmpTrans = new AddCommissionedEmployee(empId, "Fasa", "quanwan", 2000, 3.12, database);

            addEmpTrans.Execute();
            SalesReceiptTransaction salesRecTrans = new SalesReceiptTransaction(dateTime, amount, empId, database);

            salesRecTrans.Execute();
            Employee emp = database.GetEmployee(empId);

            Assert.IsNotNull(emp);
            Assert.IsTrue(emp.Classification is CommissionClassification);

            CommissionClassification cc = emp.Classification as CommissionClassification;
            SalesReceipt             sr = cc.GetSalesReceipt(dateTime);

            Assert.AreEqual(sr.Date, dateTime);
            Assert.AreEqual(sr.Amount, amount);
        }
Ejemplo n.º 12
0
        public void ExecuteTest()
        {
            int    empId          = 28;
            double baseRate       = 2.3;
            double commissionRate = 5.6;

            AddEmployeeTransaction addSalEmp = new AddSalariedEmployee(empId, "kara", "samubola", 3000, database);

            addSalEmp.Execute();

            ChangeClassificationTranscation changeCommissionedTrans = new ChangeCommissionedTransaction(empId, baseRate, commissionRate, database);

            changeCommissionedTrans.Execute();
            Employee emp = database.GetEmployee(empId);

            Assert.IsNotNull(emp);
            Assert.IsTrue(emp.Classification is CommissionClassification);

            CommissionClassification hc = emp.Classification as CommissionClassification;

            Assert.IsNotNull(hc);
            Assert.AreEqual(hc.BaseRate, baseRate);
            Assert.AreEqual(hc.CommissionRate, commissionRate);
        }