Ejemplo n.º 1
0
        public IHttpActionResult ImprimirEtiquetaPicking(ImprimirEtiquetaPickingRequisicao requisicao)
        {
            if (!ModelState.IsValid)
            {
                return(ApiBadRequest(ModelState));
            }

            try
            {
                var requisicaoServico = new ImprimirEtiquetaPickingRequest
                {
                    IdEnderecoArmazenagem = requisicao.IdEnderecoArmazenagem,
                    IdProduto             = requisicao.IdProduto,
                    IdImpressora          = requisicao.IdImpressora
                };

                _etiquetaService.ImprimirEtiquetaPicking(requisicaoServico);

                return(ApiOk());
            }
            catch (BusinessException ex)
            {
                return(ApiBadRequest(ex.Message));
            }
        }
Ejemplo n.º 2
0
        public JsonResult ImprimirEtiqueta(ProdutoImpressaoViewModel viewModel)
        {
            try
            {
                ValidateModel(viewModel);

                if (viewModel.TipoImpressaoEtiqueta == TipoImpressaoEtiqueta.PICKING)
                {
                    var request = new ImprimirEtiquetaPickingRequest
                    {
                        IdEnderecoArmazenagem = viewModel.IdEnderecoArmazenagem,
                        IdProduto             = viewModel.IdProduto,
                        QuantidadeEtiquetas   = 1,
                        IdImpressora          = viewModel.IdImpressora
                    };

                    _etiquetaService.ImprimirEtiquetaPicking(request);
                }
                else
                {
                    _etiquetaService.ImprimirEtiquetaFilete(viewModel.IdProduto, viewModel.IdEnderecoArmazenagem, viewModel.IdImpressora);
                }

                return(Json(new AjaxGenericResultModel
                {
                    Success = true,
                    Message = "Impressão enviada com sucesso."
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception exception)
            {
                if (exception is BusinessException)
                {
                    return(Json(new AjaxGenericResultModel
                    {
                        Success = false,
                        Message = exception.Message
                    }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    _log.Error(exception.Message, exception);

                    throw;
                }
            }
        }
Ejemplo n.º 3
0
        public void ImprimirEtiquetaPicking(ImprimirEtiquetaPickingRequest request)
        {
            Produto produto = _unitOfWork.ProdutoRepository.GetById(request.IdProduto);

            if (produto == null)
            {
                throw new BusinessException("Produto não encontrado.");
            }

            EnderecoArmazenagem endereco = _unitOfWork.EnderecoArmazenagemRepository.GetById(request.IdEnderecoArmazenagem);

            if (endereco == null)
            {
                throw new BusinessException("Endereço não encontrado.");
            }

            string referenciaProduto   = produto.Referencia;
            string codigoEndereco      = endereco.Codigo ?? string.Empty;
            string idEnderecoFormatado = endereco.IdEnderecoArmazenagem.ToString().PadLeft(7, '0');

            var etiquetaZpl = new StringBuilder();

            etiquetaZpl.AppendLine($"^XA");
            etiquetaZpl.AppendLine($"^FO16,20^GB270,880,200^FS");

            etiquetaZpl.AppendLine($"^FO55,85^FB430,1,0,C,0^A0B,250,60^FR^FD{referenciaProduto}^FS");

            etiquetaZpl.AppendLine($"^FO370,45^A0B,180,110^FD{codigoEndereco}^FS");

            etiquetaZpl.AppendLine($"^FO600,180^BCR,100,N,N^FD{idEnderecoFormatado}^FS");

            etiquetaZpl.AppendLine($"^XZ");

            byte[] etiqueta = Encoding.ASCII.GetBytes(etiquetaZpl.ToString());

            _impressoraService.Imprimir(etiqueta, request.IdImpressora);
        }