//Salvar o arquivo para o plugin FROALA EDITOR
        private object uploadArquivoFroala(HttpPostedFileBase OFile)
        {
            if (!UploadFileValidation.isAllowedExtension(OFile))
            {
                return(new JsonMessage {
                    error = true, message = "A extensão do arquivo não é válida."
                });
            }

            int idOrganizacao = User.idOrganizacao();

            string pathUpload   = Path.Combine(UtilConfig.pathAbsUpload(idOrganizacao), "froala");
            string extensao     = UploadFileValidation.getExtension(OFile);
            string fileName     = String.Concat(UtilString.onlyNumber(DateTime.Now.ToString()), Guid.NewGuid(), extensao);
            string fullPathFile = Path.Combine(pathUpload, fileName);

            if (!Directory.Exists(pathUpload))
            {
                UtilIO.createFolder(pathUpload);
            }

            OFile.SaveAs(fullPathFile);

            string linkArquivo = String.Concat(UtilConfig.linkAbsSistemaUpload(idOrganizacao), "froala/", fileName);

            return(new { link = linkArquivo });
        }
        //
        private void salvarImagem(HttpPostedFileBase OArquivo, string nomeImagem, int idOrganizacaoInfo = 0)
        {
            if (User.idOrganizacao() > 0)
            {
                idOrganizacaoInfo = User.idOrganizacao();
            }

            string pathFolder = Path.Combine(UtilConfig.pathAbsUpload(idOrganizacaoInfo), "logotipo");

            string pathImagem = Path.Combine(pathFolder, nomeImagem);

            if (File.Exists(pathImagem))
            {
                File.Delete(pathImagem);
            }

            if (!Directory.Exists(pathFolder))
            {
                UtilIO.createFolder(pathFolder);
            }

            OArquivo.SaveAs(pathImagem);
        }
        //Salvar o arquivo em disco e configurar os caminhos para buscar posteriormente
        public bool upload(ref ArquivoUpload OArquivo, HttpPostedFileBase FileUpload, string pathUpload = "", List <ThumbDTO> listaThumb = null)
        {
            string pathBaseAbs = String.IsNullOrEmpty(pathUpload) ? UtilConfig.pathAbsUpload(OArquivo.idOrganizacao.toInt()) : pathUpload;

            string pathPasta = String.Concat(OArquivo.entidade, "/", OArquivo.categoria, "/", OArquivo.idReferenciaEntidade, "/");

            string pathPastaThumb = String.Concat(pathPasta, "thumb/");

            string nomeArquivo = FileUpload.FileName ?? String.Concat(OArquivo.id.ToString(), OArquivo.extensao);

            OArquivo.path        = String.Concat(pathPasta, nomeArquivo);
            OArquivo.pathThumb   = pathPastaThumb;
            OArquivo.nomeArquivo = nomeArquivo;

            //Criar os diretórios necessários.
            UtilIO.createFolder(Path.Combine(pathBaseAbs, pathPasta));
            UtilIO.createFolder(Path.Combine(pathBaseAbs, pathPastaThumb));

            //Salvar o arquivo principal
            FileUpload.SaveAs(String.Concat(pathBaseAbs, OArquivo.path));

            //Caso seja uma imagem, fazer o redimensionamento para o tamanho padrão do sistema.
            if (UploadConfig.validarImagem(FileUpload))
            {
                Instructions InstructionsImage = new Instructions {
                    Format = OArquivo.extensao.Replace(".", ""), Mode = FitMode.Max
                };

                //Tamanho padrão para apresentação no grid do sistema
                InstructionsImage.Height = 100;

                string diretorioThumbSistema        = String.Concat(pathPastaThumb, "sistema");
                string diretorioArquivoThumbSistema = String.Concat(diretorioThumbSistema, "/", nomeArquivo);

                UtilIO.createFolder(Path.Combine(pathBaseAbs, diretorioThumbSistema));

                FileUpload.InputStream.Seek(0, SeekOrigin.Begin);
                ImageBuilder.Current.Build(new ImageJob(FileUpload, Path.Combine(pathBaseAbs, diretorioArquivoThumbSistema), InstructionsImage));

                if (listaThumb == null || listaThumb.Count == 0)
                {
                    listaThumb = new List <ThumbDTO>();
                    listaThumb.Add(new ThumbDTO {
                        folderName = "sistema", height = 50, width = 0
                    });
                }

                foreach (var Item in listaThumb)
                {
                    InstructionsImage.Width  = Item.width;
                    InstructionsImage.Height = Item.height;

                    string diretorioThumb        = String.Concat(pathPastaThumb, Item.folderName);
                    string diretorioArquivoThumb = String.Concat(diretorioThumb, "/", nomeArquivo);

                    UtilIO.createFolder(Path.Combine(pathBaseAbs, diretorioThumb));

                    ImageBuilder.Current.Build(new ImageJob(FileUpload, Path.Combine(pathBaseAbs, diretorioArquivoThumb), InstructionsImage));
                }
            }

            if (!File.Exists(String.Concat(pathBaseAbs, OArquivo.path)))
            {
                int idArquivo = OArquivo.id;

                this.db.ArquivoUpload.Where(x => x.id == idArquivo).Delete();

                return(false);
            }

            this.db.SaveChanges();

            return(true);
        }