Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public MainServiceSessionClient GetSessionClient()
 {
     return(m_communication.GetMainServiceSessionClient());
 }