public ActionResult Selecionar(int idImpressaoItem, string acao, string id, string id2 = "", string id3 = "")
        {
            ImpressaoItem  impressaoItem = _uow.ImpressaoItemRepository.Obter(idImpressaoItem);
            List <Printer> impressoras   = new List <Printer>();

            if (impressaoItem != null)
            {
                impressoras = _uow.BOPrinterRepository.ObterPorPerfil(IdPerfilImpressora, impressaoItem.IdImpressaoItem);
            }

            var listaImpressoras = new SelectList(
                impressoras.Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.Name,
            }), "Value", "Text");

            return(View(new BOPrinterSelecionarViewModel
            {
                ImpressaoItemDescricao = impressaoItem?.Descricao,
                Acao = acao,
                Id = id,
                Id2 = id2,
                Id3 = id3,
                Impressoras = listaImpressoras
            }));
        }
        public JsonResult ValidarModalRegistroRecebimento(long id)
        {
            try
            {
                var garantia   = _uow.GarantiaRepository.BuscarGarantiaPorIdNotaFiscal(id);
                var notafiscal = _uow.NotaFiscalRepository.GetById(id);

                if (garantia != null || notafiscal.IdNotaFiscalStatus != NotaFiscalStatusEnum.AguardandoRecebimento)
                {
                    return(Json(new AjaxGenericResultModel
                    {
                        Success = false,
                        Message = "A nota fiscal já foi recebida por outro usuário, verifique antes de continuar.",
                    }));
                }

                ImpressaoItem impressaoItem = _uow.ImpressaoItemRepository.Obter(10);

                if (!_uow.BOPrinterRepository.ObterPorPerfil(IdPerfilImpressora, impressaoItem.IdImpressaoItem).Any())
                {
                    return(Json(new AjaxGenericResultModel
                    {
                        Success = false,
                        Message = "Não há impressora configurada para Etiqueta de Recebimento.",
                    }));
                }

                return(Json(new AjaxGenericResultModel
                {
                    Success = true,
                }));
            }
            catch (Exception e)
            {
                _log.Error(e.Message, e);

                return(Json(new AjaxGenericResultModel
                {
                    Success = false,
                    Message = "Algo inesperado ocorreu, atualize a página e tente novamente."
                }));
            }
        }