Guest User

Untitled

a guest
Dec 12th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. class ExportPresenter : IExportPresenter
  2. {
  3. private readonly IExportView _view;
  4. private readonly IErrorDialog _errorDialog;
  5. private readonly ISuccessDialog _successDialog;
  6. private readonly IRequestService _requestService;
  7. private readonly IExportDocumentsRequestFactory _requestFactory;
  8.  
  9. public ExportPresenter(IExportView view, IErrorDialog errorDialog, ISuccessDialog successDialog, IRequestService requestService, IExportDocumentsRequestFactory requestFactory)
  10. {
  11. _view = view;
  12. _errorDialog = errorDialog;
  13. _successDialog = successDialog;
  14. _requestService = requestService;
  15. _requestFactory = requestFactory;
  16. }
  17.  
  18. public void Activate(Guid id)
  19. {
  20. _view.Activate();
  21. var request = _requestFactory.Create(id);
  22. _requestService.CompletedWithException += OnCompletedWitException;
  23. _requestService.Completed += OnCompleted;
  24. _requestService.Add(request);
  25. _requestService.Submit();
  26. }
  27.  
  28. private void OnCompletedWitException(IRequestService arg1, Exception ex)
  29. {
  30. _errorDialog.Show("Could not transfer :" + ex.Message);
  31. _view.DeActivate();
  32. Unsubscribe();
  33. }
  34.  
  35. private void Unsubscribe()
  36. {
  37. _requestService.Completed -= OnCompleted;
  38. _requestService.CompletedWithException -= OnCompletedWitException;
  39. }
  40.  
  41. private void OnCompleted(IRequestService obj)
  42. {
  43. _successDialog.Show();
  44. _view.DeActivate();
  45. Unsubscribe();
  46.  
  47. }
  48. }
Add Comment
Please, Sign In to add comment