private void ProcessFile(FileModel file, string username, string password, Action <string, Exception> callback) { var session = Guid.NewGuid().ToString(); using (var client = m_communicationProvider.GetStreamingClientAuthenticated(username, password)) { file.CurrentState = FileStateType.Uploading; using (var dataStream = GetDataStream(file.FullPath)) { try { var contract = new UploadResourceContract { FileName = file.FileName, Data = dataStream, SessionId = session }; client.AddResource(contract); } catch (Exception) { file.CurrentState = FileStateType.Error; return; //throw; } } } file.CurrentState = FileStateType.Processing; using (var client = m_communicationProvider.GetAuthenticatedClient(username, password)) { try { client.ProcessSession(session, DefaultUploadMessage); file.CurrentState = FileStateType.Done; } catch (FaultException ex) { file.ErrorMessage = ex.Message; file.CurrentState = FileStateType.Error; return; } catch (Exception) { file.CurrentState = FileStateType.Error; return; } } callback(file.FullPath, null); }
public ItJakubServiceStreamedClient GetStreamingClient() { if (!IsUserLoggedIn()) { return(m_communication.GetStreamingClient()); } var username = GetUserName(); var password = GetCommunicationToken(); return(m_communication.GetStreamingClientAuthenticated(username, password)); }