public JsonResult AjaxCallBuscarDocumentoTipificar(int id_lote)
        {
            var tipificar = default(TipificarViewModel);
            var lote = default(Lote);

            try
            {
                // Verifica se o id passado esta pendente ou retona o primeiro caso o parametro venha com 0
                //this.Initialize();

                if (id_lote == 0)
                {
                    id_lote = (from l in this._loteService.ListarLotesPendente(UsuarioAtual.ID, 1, ServicoAtual.ID)
                               select l).FirstOrDefault().ID;
                }

                lote = _loteService.GetLote(id_lote, UsuarioAtual.ID, ServicoAtual.ID, 0);

                tipificar = new TipificarViewModel();
                tipificar.QtdeItensLote = lote.Itens.Count();
                tipificar.QtdeItensLotePendente = (from li in lote.Itens where li.DocumentoModelo.ID == 0 select li).Count();

                LoteItem _item = (from li in lote.Itens where li.DocumentoModelo.ID == 0 select li).FirstOrDefault();

                string _caminho = lote.PathCaptura;
                string _arquivo = _item.NomeFinal.Trim();//(from li in lote.Itens where li.DocumentoModelo.ID == 0 select li).FirstOrDefault().NomeFinal;

                ViewBag.IdLoteItem = _item.ID;

                string path_padrao = "";
                if (Nuvem_Atual == 1)
                {
                    path_padrao = string.Format(@"{0}/{1}", _caminho.Trim().Replace('\\','/'), _arquivo.Trim());
                    tipificar.PathImagem = @"https://fileesydoc.blob.core.windows.net/storageprivate/" + path_padrao;
                    tipificar.CaminhoImg = @"https://fileesydoc.blob.core.windows.net/storageprivate/" + path_padrao;
                    tipificar.Nuvem = Nuvem_Atual;
                }
                else
                {
                    tipificar.PathImagem = string.Format(@"{0}\{1}\{2}", @"\easydoc\StoragePrivate", _caminho.Trim().TrimEnd('\\', ' '), _arquivo.Trim()); //Path.Combine(_caminho, _arquivo);
                    //Novo caminho
                    tipificar.CaminhoImg = string.Format(@"{0}/{1}\{2}", @"/StoragePrivate", _caminho.Trim().TrimEnd('\\', ' '), _arquivo.Trim()); //Path.Combine(_caminho, _arquivo);
                }

                if (tipificar == null) tipificar = new TipificarViewModel();
            }
            catch (Exception ex) { return Json(new RetornoViewModel(false, ex.Message)); }

            return Json(new RetornoViewModel(true, null, tipificar));
        }
        public ActionResult AjaxCallEnviarLoteSupervisao(int id_lote, int id_item)
        {
            var tipificar = default(TipificarViewModel);
            var lote = default(Lote);

            try
            {

                //_loteService.TipificarItem(UsuarioAtual.ID, ServicoAtual.ID, id_lote, id_item, id_documento_modelo);
                lote = _loteService.GetLote(id_lote, UsuarioAtual.ID, ServicoAtual.ID, 0);

                lote.StatusLote = 1020;
                _loteService.AtualizarLote(lote);

                RegistrarLOGSimples(3, 12, UsuarioAtual.NomeUsuario);
                // LOG: Enviou documento para supervisão
                tipificar = new TipificarViewModel();

                return Json(new RetornoViewModel(false, "Lote encaminhado para supervisão!", tipificar));

            }
            catch (Exception ex) { return Json(new RetornoViewModel(false, ex.Message)); }

            return Json(new RetornoViewModel(true, null, tipificar));
        }
        public ActionResult AjaxCallTipificarDocumento(int id_lote, int id_item, int id_documento_modelo)
        {
            var tipificar = default(TipificarViewModel);
            var lote = default(Lote);

            try
            {

                _loteService.TipificarItem(UsuarioAtual.ID, ServicoAtual.ID, id_lote, id_item, id_documento_modelo);
                lote = _loteService.GetLote(id_lote, UsuarioAtual.ID, ServicoAtual.ID, 0);

                tipificar = new TipificarViewModel();
                tipificar.QtdeItensLote = lote.Itens.Count();
                tipificar.QtdeItensLotePendente = (from li in lote.Itens where li.DocumentoModelo.ID == 0 select li).Count();

                string _caminho = string.Empty;
                string _arquivo = string.Empty;

                tipificar.PathImagem = Path.Combine(_caminho, _arquivo);

                if (tipificar.QtdeItensLotePendente > 0)
                {
                    _caminho = lote.PathCaptura;
                    _arquivo = (from li in lote.Itens where li.DocumentoModelo.ID == 0 select li).FirstOrDefault().NomeFinal;

                    tipificar.PathImagem = Path.Combine(_caminho, _arquivo);
                }
                else
                {

                    //return View("Menu");
                    tipificar = new TipificarViewModel();
                    return Json(new RetornoViewModel(false, "Todos os documentos deste lote foram tipificados com sucesso!", tipificar));
                }
                RegistrarLOGSimples(3, 11, UsuarioAtual.NomeUsuario);
                // LOG: Tipificou o documento
            }
            catch (Exception ex) { return Json(new RetornoViewModel(false, ex.Message)); }

            return Json(new RetornoViewModel(true, null, tipificar));
        }
        public ActionResult AjaxCallEnviarLoteExcluir(int id_lote)
        {
            var tipificar = default(TipificarViewModel);
            //var lote = default(Lote);
            try
            {

                _loteService.ApagarLote(id_lote);
                tipificar = new TipificarViewModel();
                return Json(new RetornoViewModel(false, "Lote Excluido!", tipificar));

            }
            catch (Exception ex) { return Json(new RetornoViewModel(false, ex.Message)); }

            return Json(new RetornoViewModel(true, null, tipificar));
        }