Beispiel #1
0
        private Transaction ServiceCharge(string line, WordReader wordReader)
        {
            var memberId = wordReader.NextAsInt();
            var amount   = wordReader.NextAsDecimal();

            return(_transactionFactory.MakeServiceChargeTransaction(memberId, Date.Today, amount));
        }
Beispiel #2
0
        private Transaction TimeCard(string line, WordReader wordReader)
        {
            var empId = wordReader.NextAsInt();
            var date  = wordReader.NextAsDate();
            var hour  = wordReader.NextAsDecimal();

            return(_transactionFactory.MakeTimeCardTransaction(date, hour, empId));
        }
Beispiel #3
0
        private Transaction SalesReceipt(string line, WordReader wordReader)
        {
            var empId  = wordReader.NextAsInt();
            var date   = wordReader.NextAsDate();
            var amount = wordReader.NextAsDecimal();

            return(_transactionFactory.MakeSalesReceiptTransaction(amount, date, empId));
        }
Beispiel #4
0
        private Transaction ChangeEmployeeMember(int empId, WordReader wordReader)
        {
            var memberId = wordReader.NextAsInt();

            wordReader.Skip();
            var dues = wordReader.NextAsDecimal();

            return(_transactionFactory.MakeChangeMemberTransaction(empId, memberId, dues));
        }
Beispiel #5
0
        private Transaction AddEmp(string line, WordReader wordReader)
        {
            var empId   = wordReader.NextAsInt();
            var name    = wordReader.NextQuoted();
            var address = wordReader.NextQuoted();

            switch (wordReader.Next())
            {
            case "H":
                return(AddHourlyEmployee(empId, name, address, wordReader));

            case "S":
                return(AddSalariedEmployee(empId, name, address, wordReader));

            case "C":
                return(AddCommissionedEmployee(empId, name, address, wordReader));
            }
            throw new InvalidOperationException(string.Format("Cannot parse {0}", line));
        }
Beispiel #6
0
        private Transaction ChangeEmployee(string line, WordReader wordReader)
        {
            var empId = wordReader.NextAsInt();

            switch (wordReader.Next())
            {
            case "Member":
                return(ChangeEmployeeMember(empId, wordReader));

            case "Name":
                return(ChangeEmployeeName(empId, wordReader));

            case "Address":
                return(ChangeEmployeeAddress(empId, wordReader));

            case "Hourly":
                return(ChangeHourly(empId, wordReader));

            case "Salaried":
                return(ChangeSalaried(empId, wordReader));

            case "Commissioned":
                return(ChangeCommissioned(empId, wordReader));

            case "Direct":
                return(ChangeDirect(empId, wordReader));

            case "Hold":
                return(ChangeHold(empId, wordReader));

            case "Mail":
                return(ChangeMail(empId, wordReader));

            case "NoMember":
                return(ChangeNoMember(empId, wordReader));
            }

            throw new InvalidOperationException(string.Format("Couldn't parse {0}", line));
        }
Beispiel #7
0
 private Transaction DelEmp(string line, WordReader wordReader)
 {
     return(_transactionFactory.MakeDeleteEmployeeTransaction(wordReader.NextAsInt()));
 }