コード例 #1
0
ファイル: Facade.cs プロジェクト: ducklabs/joespetstore
        public static List <ApprovalViewModel> GetPendingApprovals()
        {
            var pendingApprovals       = ApprovalRepository.FindPendingApprovalForPetsThatAreNotAlreadyApproved();
            var pendApprovalViewModels = ApprovalViewModelAssembler.Assemble(pendingApprovals);

            return(pendApprovalViewModels);
        }
コード例 #2
0
ファイル: Facade.cs プロジェクト: ducklabs/joespetstore
        public static List <ApprovalViewModel> GetApprovals(ApprovalState approvalState)
        {
            var approvals          = ApprovalRepository.FindApprovalsByApprovalState(approvalState);
            var approvalViewModels = ApprovalViewModelAssembler.Assemble(approvals);

            return(approvalViewModels);
        }
コード例 #3
0
ファイル: Facade.cs プロジェクト: ducklabs/joespetstore
        public static void Reject(ApprovalViewModel pendingApproval)
        {
            var approval = ApprovalRepository.FindApprovalByEmail(pendingApproval.CustomerEmail);

            if (approval == null)
            {
                return;
            }

            approval.Reject();

            TransactionManager.Commit();
        }
コード例 #4
0
ファイル: Facade.cs プロジェクト: ducklabs/joespetstore
        public static void Approve(ApprovalViewModel approvalViewModel)
        {
            var approval = ApprovalRepository.FindApprovalByEmail(approvalViewModel.CustomerEmail);

            if (approval == null)
            {
                return;
            }

            approval.Approve();

            TransactionManager.Commit();
        }
コード例 #5
0
ファイル: Facade.cs プロジェクト: ducklabs/joespetstore
        public static void PurchasePet(ApprovalViewModel approvalViewModel)
        {
            var approval = ApprovalRepository.FindApprovalByEmail(approvalViewModel.CustomerEmail);

            if (approvalViewModel == null)
            {
                throw new PurchasePetException("No approval found");
            }

            approval.PurchasePet();

            //TransactionManager.Commit();
        }
コード例 #6
0
ファイル: Approval.cs プロジェクト: ducklabs/joespetstore
        public void Approve()
        {
            if (ApprovalRepository.FindApprovalsByApprovalState(ApprovalState.Approved).Count != 0)
            {
                throw new ApprovalException("Another Approval has already been Approved");
            }

            if (ApprovalState == ApprovalState.Pending)
            {
                ApprovalState = ApprovalState.Approved;
                EmailServerServiceFactory.EmailServer.SendEmail(CustomerEmail, FormatApprovedEmail());
            }
            else
            {
                throw new ApprovalException("Approval not in Pending state");
            }
        }
コード例 #7
0
ファイル: Facade.cs プロジェクト: ducklabs/joespetstore
 public static void RequestPetPurchase(string customerEmail)
 {
     ApprovalRepository.CreatePendingApproval(customerEmail);
 }