/// <summary>
        ///Delete local file
        /// </summary>
        /// <param name="InputFileDescription fileDesc">FileDescription object which contains the file data</param>
        /// <returns>bool</returns>
        public bool removeFile(InputFileDescription fileDesc)
        {
            //Initialize the result variable with the default value
            bool result = false;

            if (fileDesc != null)
            {
                try
                {
                    if (!String.IsNullOrEmpty(fileDesc.Path))
                    {
                        //Delete the file
                        File.Delete(fileDesc.Path);
                        result = true;
                    }
                    else
                    {
                        throw new DocumentsToolsException();
                    }
                }
                catch (DocumentsToolsException)
                {
                    throw new GdtFileNotFoundException(locale, this.exceptionHandler);
                }
            }
            else
            {
                throw new GdtNullReferenceException(locale, this.exceptionHandler);
            }
            return(result);
        }
        /// <summary>
        ///Save file localy from stream
        /// </summary>
        /// <param name="Stream st">File stream</param>
        /// <param name="string path">Folder where to save</param>
        /// <returns> InputFileDescription</returns>
        public InputFileDescription saveFile(Stream st, InputFileDescription inputFileDesc)
        {
            //Result ibject
            InputFileDescription fileDesc = new  InputFileDescription();

            try
            {
                if (st != null)
                {
                    if (!String.IsNullOrEmpty(inputFileDesc.OperationId) && !String.IsNullOrEmpty(inputFileDesc.Name))
                    {
                        string directory = getDirectory(inputFileDesc.OperationId);
                        //Create new FileStream object which will be saved localy
                        string pathForFile = String.Concat(directory, "/" + inputFileDesc.Name);
                        try
                        {
                            using (System.IO.FileStream output = new System.IO.FileStream(pathForFile, FileMode.Create, FileAccess.Write))
                            {
                                //Save stream to the local file
                                st.CopyTo(output);
                                //Set result data
                                FileInfo fileInfo = new FileInfo(pathForFile);
                                fileDesc.CreationTime     = fileInfo.CreationTimeUtc;
                                fileDesc.ModificationTime = fileInfo.LastWriteTimeUtc;
                                fileDesc.UploadTime       = DateTime.UtcNow;
                                fileDesc.Name             = Path.GetFileName(pathForFile);
                                fileDesc.Path             = directory;
                                fileDesc.Size             = st.Length;
                            }
                        }
                        catch (DocumentsToolsException)
                        {
                            throw new GdtFileNotFoundException(locale, this.exceptionHandler);
                        }
                    }
                    else
                    {
                        throw new GdtFileNotFoundException(locale, this.exceptionHandler);
                    }
                }
                else
                {
                    throw new GdtNullReferenceException(locale, this.exceptionHandler);
                }
            }
            catch (DocumentsToolsException ex)
            {
                throw ex;
            }
            return(fileDesc);
        }
        /// <summary>
        ///Get file description
        /// </summary>
        /// <param name="FileDescription fileDesc">FileDescription of the </param>
        /// <returns>InputFileDescription</returns>
        public InputFileDescription getFileDescription(FileDescription fileDesc)
        {
            //Initialaze the InputFileDescription obhect wich will be returned
            InputFileDescription fileDescription = new InputFileDescription();

            //Check if fileid is empty
            if (fileDesc != null)
            {
                try
                {
                    if (!String.IsNullOrEmpty(fileDesc.Name) && !String.IsNullOrEmpty(fileDesc.OperationId))
                    {
                        string path = getDirectory(fileDesc.OperationId);
                        //Get FileInfo for the fileId
                        FileInfo fi = new FileInfo(path + "/" + fileDesc.Name);
                        //Set result data
                        fileDescription.Name         = fi.Name;
                        fileDescription.Path         = path;
                        fileDescription.Size         = fi.Length;
                        fileDescription.CreationTime = fi.CreationTimeUtc;
                    }
                    else
                    {
                        throw new GdtFileNotFoundException(locale, this.exceptionHandler);
                    }
                }
                catch (DocumentsToolsException)
                {
                    throw new GdtNullReferenceException(locale, this.exceptionHandler);
                }
            }
            else
            {
                throw new GdtNullReferenceException(locale, this.exceptionHandler);
            }
            return(fileDescription);
        }