예제 #1
0
        public static bool PutFileFromUploadManagerLight(ref DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocument, string repositoryId, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retVal = false;


            if (System.IO.File.Exists(fileDocument.fullName))
            {
                DocsPaDB.Query_DocsPAWS.UploadFiles uploadFiles = new DocsPaDB.Query_DocsPAWS.UploadFiles();

                string fileHash = uploadFiles.GetHashFile(infoUtente.idPeople, infoUtente.idGruppo, fileDocument.fullName, fileDocument.nomeOriginale);

                //Creare metoto insert into components
                //oppure
                //Update se creo finto file e richiamo put file
                if (uploadFiles.UpdateComponentsPath(fileRequest.docNumber, fileDocument.fullName, fileDocument.name, fileDocument.contentType, fileDocument.length, fileHash.ToUpper(), infoUtente))
                {
                    uploadFiles.DeleteFileInUpload(fileDocument.name, repositoryId, infoUtente);
                    fileRequest.path     = fileDocument.fullName;
                    fileRequest.fileName = fileDocument.name;
                    fileRequest.fileSize = fileDocument.length.ToString();
                    retVal = true;
                }
            }


            return(retVal);
        }
예제 #2
0
        public static bool DeletePersonalFile(DocsPaVO.documento.FileDocumento fileDocument, string repositoryId, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retVal = false;

            DocsPaDB.Query_DocsPAWS.UploadFiles uploadFiles = new DocsPaDB.Query_DocsPAWS.UploadFiles();

            uploadFiles.BeginTransaction();
            if (uploadFiles.DeleteFileInUpload(fileDocument.name, repositoryId, infoUtente))
            {
                if (System.IO.File.Exists(fileDocument.fullName))
                {
                    try
                    {
                        System.IO.File.Delete(fileDocument.fullName);
                        uploadFiles.CommitTransaction();
                        retVal = true;
                    }
                    catch
                    {
                        uploadFiles.RollbackTransaction();
                    }
                }
                else
                {
                    uploadFiles.CommitTransaction();
                    retVal = true;
                }
            }
            return(retVal);
        }
예제 #3
0
        public static bool PutFileFromUploadManager(ref DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocument, string fileName, string fileDescription, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retVal = false;

            fileRequest.path     = fileDocument.fullName;
            fileRequest.fileName = fileDocument.name;

            try
            {
                fileDocument.content = System.IO.File.ReadAllBytes(fileDocument.fullName);
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in BusinessLogic.UploadFiles.UploadFilesManager  - metodo: PutFileFromUploadManager ", ex);
                return(false);
            }

            string msgError = string.Empty;

            if (BusinessLogic.Documenti.FileManager.putFile(ref fileRequest, fileDocument, infoUtente, true, out msgError))
            {
                DocsPaDB.Query_DocsPAWS.UploadFiles uploadFiles = new DocsPaDB.Query_DocsPAWS.UploadFiles();
                //if (uploadFiles.DeleteFileInUpload(hashFile, infoUtente))
                if (uploadFiles.DeleteFileInUpload(fileName, fileDescription, infoUtente))
                {
                    System.IO.File.Delete(fileDocument.fullName);
                }

                retVal = true;
            }
            else
            {
                logger.Debug("Errore in BusinessLogic.UploadFiles.UploadFilesManager  - metodo: PutFileFromUploadManager ", new Exception(msgError));
                retVal = false;
            }

            return(retVal);
        }
예제 #4
0
        /// <summary>
        /// Cancellazione di tutte le parti relative al file in upload
        /// </summary>
        /// <param name="request"></param>
        /// <param name="infoUtente"></param>
        /// <returns>Response</returns>
        public static Services.FilesUploader.UploadFile.UploadFileResponse DeleteFileInUpload(Services.FilesUploader.UploadFile.UploadFileRequest request, DocsPaVO.utente.InfoUtente infoUtente)
        {
            Services.FilesUploader.UploadFile.UploadFileResponse response = new Services.FilesUploader.UploadFile.UploadFileResponse();
            DocsPaDB.Query_DocsPAWS.UploadFiles uploadFilesDb             = new DocsPaDB.Query_DocsPAWS.UploadFiles();
            Domain.FileInUpload fileInUpClient = request.FileInUp;

            try
            {
                if (fileInUpClient != null)
                {
                    //DocsPaVO.UploadFiles.FileInUpload fileInUpServer = uploadFilesDb.GetFileInUpload(fileInUpClient.fileHash, infoUtente);
                    DocsPaVO.UploadFiles.FileInUpload fileInUpServer = uploadFilesDb.GetFileInUpload(fileInUpClient.strIdentity, infoUtente);

                    if (fileInUpServer != null)
                    {
                        string pathSulServer = string.Empty;

                        if (fileInUpServer != null && !string.IsNullOrEmpty(fileInUpServer.StrIdentity))
                        {
                            pathSulServer = fileInUpServer.RepositoryPath; // +@"\" + fileInUpClient.fileName;
                        }
                        else
                        {
                            pathSulServer = (System.Configuration.ConfigurationManager.AppSettings["UPLOAD_BIGFILE_REPOSITORY"] != null && !string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["UPLOAD_BIGFILE_REPOSITORY"].ToString()) ? System.Configuration.ConfigurationManager.AppSettings["UPLOAD_BIGFILE_REPOSITORY"] : string.Empty);
                        }

                        if (!string.IsNullOrEmpty(pathSulServer) && Directory.Exists(fileInUpServer.RepositoryPath))
                        {
                            string[] fileNamePart    = fileInUpServer.FileName.Split('.');
                            string   fileExt         = fileNamePart[fileNamePart.Length - 1];
                            string   partialFileName = fileInUpServer.FileName.Substring(0, fileInUpServer.FileName.Length - (fileExt.Length + 2));

                            for (int i = 0; i < fileInUpServer.TotalChunkNumber; i++)
                            {
                                string completeFileName = @"\" + partialFileName + i.ToString() + "." + fileExt;
                                File.Delete(pathSulServer + completeFileName);
                            }

                            //uploadFilesDb.DeleteFileInUpload(fileInUpClient.fileHash, infoUtente);
                            uploadFilesDb.DeleteFileInUpload(fileInUpClient.fileName, fileInUpClient.fileDescription, infoUtente);

                            response.Success = true;
                        }
                        else
                        {
                            uploadFilesDb.DeleteFileInUpload(fileInUpClient.fileName, fileInUpClient.fileDescription, infoUtente);
                        }
                    }
                    else
                    {
                        throw new PisException("PARAMETER_FILEINUP_MISSING");
                    }
                }
                else
                {
                    throw new PisException("FILE_NOT_EXIST");
                }
            }
            catch (PisException pisEx)
            {
                response.Error = new Services.ResponseError
                {
                    Code        = pisEx.ErrorCode,
                    Description = pisEx.Description
                };

                response.Success = false;
            }

            return(response);
        }