コード例 #1
0
 public ApprovalResponse Approve(IExpenseReport expenseReport)
 {
     ApprovalResponse response = _approver.ApproveExpense(expenseReport);
     if (response == ApprovalResponse.BeyondApprovalLimit && _next != null)
     {
         return _next.Approve(expenseReport);
     }
     return response;
 }
コード例 #2
0
        public ApprovalResponse HandleExpense(IExpenseReport expenseReport)
        {
            var response = _expenseApprover.ApproveExpense(expenseReport);

            if (response != ApprovalResponse.BeyondApprovalLimit)
            {
                Console.WriteLine($"The request was {response} by {_expenseApprover.Name}");
            }
            else
            {
                if (_successor == null)
                {
                    Console.WriteLine("No one was able to approve your expense.");
                }
                else
                {
                    _successor.HandleExpense(expenseReport);
                }
            }

            return(response);
        }
コード例 #3
0
ファイル: Employee.cs プロジェクト: skalinets/DesignPatterns
 public ApprovalResponse ApproveExpense(IExpenseReport expenseReport)
 {
     return expenseReport.Total > _approvalLimit
             ? ApprovalResponse.BeyondApprovalLimit
             : ApprovalResponse.Approved;
 }
 public ApprovalResponse Approve(IExpenseReport expenseReport)
 {
     return(ApprovalResponse.Denied);
 }
コード例 #5
0
ファイル: Employee.cs プロジェクト: connorconway/Patterns
 public ApprovalResponse ApproveExpense(IExpenseReport expenseReport)
 {
     return(expenseReport.Total > _approvalLimit ? ApprovalResponse.BeyondApprovalLimit : ApprovalResponse.Approved);
 }
コード例 #6
0
 public ApprovalResponse Approve(IExpenseReport expenseReport)
 {
     return ApprovalResponse.Denied;
 }
コード例 #7
0
 ApprovalResponse IExpenseApprover.ApproveExpense(IExpenseReport expenseReport)
 {
     return(expenseReport.Total > m_ApproveLimit
                ? ApprovalResponse.BeyondApprovalLimit
                : ApprovalResponse.Approved);
 }
コード例 #8
0
 public ExpenseReportService(IExpenseReport expenseReport)
 {
     _expenseReport = expenseReport ?? throw new ArgumentNullException(nameof(expenseReport));
 }
コード例 #9
0
 public ApprovalResponse Approve(IExpenseReport expenseReport)
 => ApprovalResponse.Denied;
コード例 #10
0
        //################################################################################
        #region IExpenseHandler Implementation

        ApprovalResponse IExpenseHandler.Approve(IExpenseReport expenseReport, out string approverName)
        {
            approverName = string.Empty;
            return(ApprovalResponse.Denied);
        }
コード例 #11
0
        public ApprovalResponse Approve(IExpenseReport report)
        {
            var response = _approver.ApproveExpense(report);

            return(response == ApprovalResponse.BeyondApprovalLimit ? _next.Approve(report) : response);
        }
コード例 #12
0
 ApprovalResponse IExpenseHandler.Approve(IExpenseReport expenseReport, ref string approver)
 {
     approver = "None";
     return(ApprovalResponse.Denied);
 }
コード例 #13
0
 public ApprovalResponse ApproveExpense(IExpenseReport report)
 {
     return(_approvableAmount > report.Amount ? ApprovalResponse.Approved : ApprovalResponse.BeyondApprovalLimit);
 }
コード例 #14
0
 public ApprovalResponse ApproveExpense(IExpenseReport report) =>
 report.Amount > ApprovalLimit
         ? ApprovalResponse.BeyondLimit
         : ApprovalResponse.Approved;
コード例 #15
0
ファイル: Employee.cs プロジェクト: Andser99/PatternPublic
 public ApprovalResponse ApproveExpense(IExpenseReport expenseReport)
 {
     return(expenseReport.Total > ApprovalLimit ? ApprovalResponse.Denied : ApprovalResponse.Approved);
 }