private void ProcessFile(FileModel file, Action <string, Exception> callback) { var session = Guid.NewGuid().ToString(); var client = m_communicationProvider.GetMainServiceSessionClient(); file.CurrentState = FileStateType.Uploading; using (var dataStream = GetDataStream(file.FullPath)) { try { client.UploadResource(session, dataStream, file.FileName); } catch (Exception) { file.CurrentState = FileStateType.Error; return; //throw; } } file.CurrentState = FileStateType.Processing; try { client.ProcessSessionAsImport(session, new NewBookImportContract { Comment = DefaultUploadMessage }); file.CurrentState = FileStateType.Done; } catch (HttpRequestException ex) { file.ErrorMessage = ex.Message; file.CurrentState = FileStateType.Error; return; } catch (Exception) { file.CurrentState = FileStateType.Error; return; } callback(file.FullPath, null); }
public MainServiceSessionClient GetSessionClient() { return(m_communication.GetMainServiceSessionClient()); }