public async Task <long> Salvar(long idPedidoVenda, CaixaViewModel caixaEscolhida, GrupoCorredorArmazenagemViewModel grupoCorredorArmazenagem, int numeroVolume, long idEmpresa, decimal peso, decimal cubagem) { long idPedidoVendaVolume = 0; try { var pedidoVendaVolumeRepository = _uow.PedidoVendaVolumeRepository.ObterPorIdPedidoVenda(idPedidoVenda) .Where(x => x.IdGrupoCorredorArmazenagem == grupoCorredorArmazenagem.IdGrupoCorredorArmazenagem && x.NroVolume == numeroVolume && x.PesoVolume == peso && x.CubagemVolume == cubagem).FirstOrDefault(); if (pedidoVendaVolumeRepository != null) { return(pedidoVendaVolumeRepository.IdPedidoVendaVolume); } int numeroCentena = await GerarNumeroCentena(idEmpresa, idPedidoVenda); var pedidoVendaVolume = new PedidoVendaVolume() { IdPedidoVenda = idPedidoVenda, IdCaixaCubagem = caixaEscolhida.IdCaixa, IdGrupoCorredorArmazenagem = grupoCorredorArmazenagem.IdGrupoCorredorArmazenagem, DataHoraInicioSeparacao = null, DataHoraFimSeparacao = null, IdPedidoVendaStatus = PedidoVendaStatusEnum.EnviadoSeparacao, NroCentena = numeroCentena, NroVolume = numeroVolume, PesoVolume = peso, CorredorInicio = grupoCorredorArmazenagem.CorredorInicial, CorredorFim = grupoCorredorArmazenagem.CorredorFinal, EtiquetaVolume = caixaEscolhida.TextoEtiqueta, IdImpressora = grupoCorredorArmazenagem.IdImpressora, CubagemVolume = cubagem }; _uow.PedidoVendaVolumeRepository.Add(pedidoVendaVolume); await _uow.SaveChangesAsync(); idPedidoVendaVolume = pedidoVendaVolume.IdPedidoVendaVolume; } catch (Exception ex) { _log.Error(String.Format("Erro ao salvar o volume do pedido de venda {0}.", idPedidoVenda), ex); } return(idPedidoVendaVolume); }
public void ImprimirEtiquetaVolume(PedidoVendaVolume volume, long idImpressora) { var requisicaoImpressao = new ImprimirEtiquetaVolumeSeparacaoRequest(); var pedidoVenda = volume.PedidoVenda; var cliente = pedidoVenda.Pedido.Cliente; var representante = pedidoVenda.Representante; var pedido = pedidoVenda.Pedido; var transportadora = pedidoVenda.Transportadora; var caixa = volume.CaixaCubagem; var grupoCorredorArmazenagem = volume.GrupoCorredorArmazenagem; requisicaoImpressao.ClienteNomeFantasia = cliente.NomeFantasia; requisicaoImpressao.ClienteEndereco = cliente.Endereco; requisicaoImpressao.ClienteEnderecoNumero = cliente.Numero; requisicaoImpressao.ClienteCEP = cliente.CEP; requisicaoImpressao.ClienteCidade = cliente.Cidade; requisicaoImpressao.ClienteUF = cliente.UF; requisicaoImpressao.ClienteTelefone = cliente.Telefone; requisicaoImpressao.ClienteCodigo = cliente.CodigoIntegracao.ToString(); requisicaoImpressao.RepresentanteCodigo = representante.CodigoIntegracao.ToString(); requisicaoImpressao.PedidoCodigo = pedido.NroPedido.ToString(); requisicaoImpressao.PedidoDataCriacao = pedido.DataCriacao; requisicaoImpressao.PedidoPagamentoCodigoIntegracao = pedido.PagamentoCodigoIntegracao; requisicaoImpressao.PedidoPagamentoIsDebito = pedido.PagamentoIsDebitoIntegracao; requisicaoImpressao.PedidoPagamentoIsCredito = pedido.PagamentoIsCreditoIntegracao; requisicaoImpressao.PedidoPagamentoIsDinheiro = pedido.PagamentoIsDinheiroIntegracao; requisicaoImpressao.PedidoIsRequisicao = pedido.IsRequisicao; requisicaoImpressao.Centena = volume.NroCentena.ToString(); requisicaoImpressao.TransportadoraSigla = transportadora.CodigoTransportadora; requisicaoImpressao.TransportadoraCodigo = transportadora.CodigoIntegracao.ToString(); requisicaoImpressao.TransportadoraNome = transportadora.NomeFantasia; requisicaoImpressao.CorredoresInicio = grupoCorredorArmazenagem.CorredorInicial.ToString(); requisicaoImpressao.CorredoresFim = grupoCorredorArmazenagem.CorredorFinal.ToString(); requisicaoImpressao.CaixaTextoEtiqueta = caixa.TextoEtiqueta; requisicaoImpressao.Volume = volume.NroVolume.ToString(); requisicaoImpressao.IdImpressora = idImpressora; ImprimirEtiquetaVolumeSeparacao(requisicaoImpressao, volume.PedidoVenda.IdEmpresa); }