Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ExportPresenter : IExportPresenter
- {
- private readonly IExportView _view;
- private readonly IErrorDialog _errorDialog;
- private readonly ISuccessDialog _successDialog;
- private readonly IRequestService _requestService;
- private readonly IExportDocumentsRequestFactory _requestFactory;
- public ExportPresenter(IExportView view, IErrorDialog errorDialog, ISuccessDialog successDialog, IRequestService requestService, IExportDocumentsRequestFactory requestFactory)
- {
- _view = view;
- _errorDialog = errorDialog;
- _successDialog = successDialog;
- _requestService = requestService;
- _requestFactory = requestFactory;
- }
- public void Activate(Guid id)
- {
- _view.Activate();
- var request = _requestFactory.Create(id);
- _requestService.CompletedWithException += OnCompletedWitException;
- _requestService.Completed += OnCompleted;
- _requestService.Add(request);
- _requestService.Submit();
- }
- private void OnCompletedWitException(IRequestService arg1, Exception ex)
- {
- _errorDialog.Show("Could not transfer :" + ex.Message);
- _view.DeActivate();
- Unsubscribe();
- }
- private void Unsubscribe()
- {
- _requestService.Completed -= OnCompleted;
- _requestService.CompletedWithException -= OnCompletedWitException;
- }
- private void OnCompleted(IRequestService obj)
- {
- _successDialog.Show();
- _view.DeActivate();
- Unsubscribe();
- }
- }
Add Comment
Please, Sign In to add comment