public async Task<UploadsPostprocessorResultType> ProcessUploadAsync(ICompletedUpload upload) { PostprocessionResult result = null; try { switch (upload.ContentType) { case FileContentType.Music: result = await SaveAudioAsync(upload.ServerResponse); break; case FileContentType.Video: result = SaveVideo(upload.ServerResponse); break; default: result = await SaveDocumentAsync(upload.ServerResponse); break; } } catch (Exception ex) { _logService.LogException(ex); if (ex.InnerException != null && ex.InnerException is HttpRequestException) result = new PostprocessionResult { Result = UploadsPostprocessorResultType.ConnectionError }; else result = new PostprocessionResult { Result = UploadsPostprocessorResultType.Unknown }; } if (result.Result == UploadsPostprocessorResultType.Success) { _appNotificationsService.SendNotification(new AppNotification { Title = _locService["Toast_PostUploads_Success_Text"], Content = upload.Name, Type = AppNotificationType.Info }); //var successToast = ToastContentFactory.CreateToastText02(); //successToast.Audio.Content = ToastAudioContent.IM; //successToast.TextHeading.Text = _locService["Toast_PostUploads_Success_Text"]; //successToast.TextBodyWrap.Text = upload.Name; //var successXml = successToast.GetXml(); //ToastAudioHelper.SetSuccessAudio(successXml); //var toast = new ToastNotification(successXml); //ToastNotificationManager.CreateToastNotifier().Show(toast); } else ShowError(upload, result); return result.Result; }
private void ShowError(ICompletedUpload upload, PostprocessionResult result) { //var fail = ToastContentFactory.CreateToastText02(); //fail.Audio.Content = ToastAudioContent.IM; //fail.TextHeading.Text = _locService["Toast_PostUploads_Fail_Text"]; //fail.TextBodyWrap.Text = upload.Name; //var failXml = fail.GetXml(); //ToastAudioHelper.SetFailAudio(failXml); //ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(failXml)); _appNotificationsService.SendNotification(new AppNotification { Title = $"{_locService["Toast_PostUploads_Fail_Text"]} - {upload.Name}", Content = "Коснитесь для подробностей", Type = AppNotificationType.Error, Duration = TimeSpan.FromSeconds(15), ActionToDo = () => { string text = null; if (result.Result == UploadsPostprocessorResultType.ServerError) { text = String.Format(_locService["Message_PostUploads_ServerError_Text"], upload.Name, result.ErrorCode, GetServerErrorDescription(result.ErrorCode, result.UploadErrorText)); } else if (result.Result == UploadsPostprocessorResultType.ConnectionError) { text = String.Format(_locService["Message_PostUploads_ConnectionError_Text"], upload.Name); } else { text = String.Format(_locService["Message_PostUploads_UnknownAppError_Text"], upload.Name); } _dialogsService.Show(text, _locService["Message_PostUploads_Error_Title"]); } }); }