/// <summary>
        /// Gets the FileEntry type image.
        /// </summary>
        /// <param name='type'>The FileEntry type.</param>
        /// <returns>The FileEntry type image.</returns>
#if MonoTouch
        public UIImage GetTypeImage(FileEntryTypes type)
        {
            string imageFolder;

            imageFolder = "Content/Images/DocumentTypes/";

            switch (type)
            {
            case FileEntryTypes.Folder:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Folder48.png")));

            case FileEntryTypes.PDF:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "PDF48.png")));

            case FileEntryTypes.Word:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Word48.png")));

            case FileEntryTypes.Excel:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Excel48.png")));

            case FileEntryTypes.PowerPoint:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "PowerPoint48.png")));

            case FileEntryTypes.Image:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Image48.png")));

            default:
                return(_GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Undefined48.png")));
            }
        }
        /// <summary>
        /// Creates the file entry.
        /// </summary>
        /// <param name="type">The FileEntry type.</param>
        /// <param name="showAlertOnException">Indicates should be or not appears the alert window if an exception raise.</param>
        /// <param name="pathes">The pathes.</param>
        /// <returns><c>true</c>, if FileSystemInfo was created, <c>false</c> otherwise./returns>
        public bool CreateFileEntry(FileEntryTypes type, bool showAlertOnException = true, params string[] pathes)
        {
            var root = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            var path = Path.Combine(root, Path.Combine(pathes));

            var success = false;

            try {
                if (type == FileEntryTypes.Folder)
                {
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                }
                else
                {
                    if (!File.Exists(path))
                    {
                        File.WriteAllText(path, path);
                    }
                }
                success = true;
            } catch (Exception) {
                if (showAlertOnException)
                {
                    MgrAccessor.CommonUtils.ShowAlert("Warning", "The error occurs when created FileEntry", "Ok");
                }
            }

            return(success);
        }
            /// <summary>
            /// Gets the resource image id by the file type.
            /// </summary>
            private int _GetResourceIdByType(FileEntryTypes feType)
            {
                switch (feType)
                {
                case FileEntryTypes.Folder:
                    return(Resource.Drawable.Folder48);

                case FileEntryTypes.PDF:
                    return(Resource.Drawable.PDF48);

                case FileEntryTypes.Word:
                    return(Resource.Drawable.Word48);

                case FileEntryTypes.Excel:
                    return(Resource.Drawable.Excel48);

                case FileEntryTypes.PowerPoint:
                    return(Resource.Drawable.PowerPoint48);

                case FileEntryTypes.Image:
                    return(Resource.Drawable.Image48);

                default:
                    return(Resource.Drawable.Undefined48);
                }
            }
 /// <summary>
 /// Gets the type image from the hash.
 /// </summary>
 /// <param name='type'>The FileEntry type.</param>
 /// <param name='imageFileName'>The image file name.</param>
 /// <returns>The FileEntry type image.</returns>
 private UIImage _GetTypeImageFromHash(FileEntryTypes type, string imageFileName)
 {
     if (_DocumentTypeImages.ContainsKey(type))
     {
         return(_DocumentTypeImages[type] as UIImage);
     }
     else
     {
         var img = UIImage.FromFile(imageFileName);
         _DocumentTypeImages.Add(type, img);
         return(img);
     }
 }
        /// <summary>
        /// Creates the file entry.
        /// </summary>
        /// <param name="type">The FileEntry type.</param>
        /// <param name="showAlertOnException">Indicates should be or not appears the alert window if an exception raise.</param>
        /// <param name="pathes">The pathes.</param>
        /// <returns><c>true</c>, if FileSystemInfo was created, <c>false</c> otherwise./returns>
        public bool CreateFileEntry(FileEntryTypes type, bool showAlertOnException = true, params string[] pathes)
        {
            var root = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            var path = Path.Combine(root, Path.Combine(pathes));

            var success = false;
            try {
                if (type == FileEntryTypes.Folder) {
                    if (!Directory.Exists(path)) {
                        Directory.CreateDirectory(path);
                    }
                } else {
                    if (!File.Exists(path)) {
                        File.WriteAllText(path, path);
                    }
                }
                success = true;
            } catch (Exception) {
                if (showAlertOnException) {
                    MgrAccessor.CommonUtils.ShowAlert("Warning", "The error occurs when created FileEntry", "Ok");
                }
            }

            return success;
        }
 /// <summary>
 /// Gets the type image from the hash.
 /// </summary>
 /// <param name='type'>The FileEntry type.</param>
 /// <param name='imageFileName'>The image file name.</param>
 /// <returns>The FileEntry type image.</returns>
 private UIImage _GetTypeImageFromHash(FileEntryTypes type, string imageFileName)
 {
     if (_DocumentTypeImages.ContainsKey(type)) {
         return _DocumentTypeImages[type] as UIImage;
     } else {
         var img = UIImage.FromFile(imageFileName);
         _DocumentTypeImages.Add(type, img);
         return img;
     }
 }
        /// <summary>
        /// Gets the FileEntry type image.
        /// </summary>
        /// <param name='type'>The FileEntry type.</param>
        /// <returns>The FileEntry type image.</returns>
        public UIImage GetTypeImage(FileEntryTypes type)
        {
            string imageFolder;
            imageFolder = "Content/Images/DocumentTypes/";

            switch (type) {
                case FileEntryTypes.Folder:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Folder48.png"));
                case FileEntryTypes.PDF:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "PDF48.png"));
                case FileEntryTypes.Word:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Word48.png"));
                case FileEntryTypes.Excel:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Excel48.png"));
                case FileEntryTypes.PowerPoint:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "PowerPoint48.png"));
                case FileEntryTypes.Image:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Image48.png"));
                default:
                    return _GetTypeImageFromHash(type, GetCorrectPath(imageFolder + "Undefined48.png"));
            }
        }