public static List <ApprovalViewModel> GetPendingApprovals() { var pendingApprovals = ApprovalRepository.FindPendingApprovalForPetsThatAreNotAlreadyApproved(); var pendApprovalViewModels = ApprovalViewModelAssembler.Assemble(pendingApprovals); return(pendApprovalViewModels); }
public static List <ApprovalViewModel> GetApprovals(ApprovalState approvalState) { var approvals = ApprovalRepository.FindApprovalsByApprovalState(approvalState); var approvalViewModels = ApprovalViewModelAssembler.Assemble(approvals); return(approvalViewModels); }
public static void Reject(ApprovalViewModel pendingApproval) { var approval = ApprovalRepository.FindApprovalByEmail(pendingApproval.CustomerEmail); if (approval == null) { return; } approval.Reject(); TransactionManager.Commit(); }
public static void Approve(ApprovalViewModel approvalViewModel) { var approval = ApprovalRepository.FindApprovalByEmail(approvalViewModel.CustomerEmail); if (approval == null) { return; } approval.Approve(); TransactionManager.Commit(); }
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(); }
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"); } }
public static void RequestPetPurchase(string customerEmail) { ApprovalRepository.CreatePendingApproval(customerEmail); }