public void GravarHistoricoColetor(GravarHistoricoColetorRequisicao gravarHistoricoColetorRequisicao)
        {
            try
            {
                var coletorHistorico = new ColetorHistorico
                {
                    IdColetorAplicacao     = gravarHistoricoColetorRequisicao.IdColetorAplicacao,
                    IdColetorHistoricoTipo = gravarHistoricoColetorRequisicao.IdColetorHistoricoTipo,
                    DataHora  = DateTime.Now,
                    Descricao = gravarHistoricoColetorRequisicao.Descricao,
                    IdEmpresa = gravarHistoricoColetorRequisicao.IdEmpresa,
                    IdUsuario = gravarHistoricoColetorRequisicao.IdUsuario
                };

                _unitOfWork.ColetorHistoricoTipoRepository.GravarHistorico(coletorHistorico);
            }
            catch (Exception e)
            {
                try
                {
                    _log.Error("Erro ao gravar histórico de ações do usuário", e);
                }
                catch
                {
                    //Fazer nada.
                }
            }
        }
Beispiel #2
0
        public async Task FinalizarConferencia(long idEnderecoArmazenagem, long idProduto, int quantidade, long idEmpresa, string idUsuarioOperacao, bool conferenciaManual)
        {
            var volume = ValidarEnderecoConferir(idEnderecoArmazenagem);

            ValidarProdutoConferir(idEnderecoArmazenagem, idProduto);

            if (quantidade != volume.Quantidade)
            {
                throw new BusinessException("Quantidade de produtos informada diverge da quantidade instalada.");
            }

            using (var transacao = _unitOfWork.CreateTransactionScope())
            {
                var idLote            = volume.IdLote.GetValueOrDefault();
                var referenciaProduto = volume.Produto.Referencia;
                var codigoEndereco    = volume.EnderecoArmazenagem.Codigo;

                var detalhesVolume = ConsultaDetalhesVolumeInformado(idEnderecoArmazenagem, idLote, idProduto, idEmpresa);

                var descricao = $"Conferiu {(conferenciaManual ? "manualmente" : string.Empty)} o produto {detalhesVolume.Produto.Referencia} quantidade {quantidade} peso {detalhesVolume.PesoTotal} do lote {detalhesVolume.IdLote} do endereço {detalhesVolume.EnderecoArmazenagem.Codigo}.";

                await RetirarVolumeEndereco(idEnderecoArmazenagem, idLote, volume.IdProduto, idEmpresa, idUsuarioOperacao);

                var loteMovimentacao = new LoteMovimentacao
                {
                    IdEmpresa              = idEmpresa,
                    IdLote                 = idLote,
                    IdProduto              = volume.IdProduto,
                    IdEnderecoArmazenagem  = idEnderecoArmazenagem,
                    IdUsuarioMovimentacao  = idUsuarioOperacao,
                    Quantidade             = quantidade,
                    IdLoteMovimentacaoTipo = LoteMovimentacaoTipoEnum.Conferencia,
                    DataHora               = DateTime.Now
                };

                _unitOfWork.LoteMovimentacaoRepository.Add(loteMovimentacao);
                await _unitOfWork.SaveChangesAsync();

                var coletorHistorico = new ColetorHistorico
                {
                    IdColetorAplicacao     = ColetorAplicacaoEnum.Armazenagem,
                    IdColetorHistoricoTipo = ColetorHistoricoTipoEnum.ConferirEndereco,
                    DataHora  = DateTime.Now,
                    Descricao = descricao,
                    IdEmpresa = idEmpresa,
                    IdUsuario = idUsuarioOperacao
                };

                _unitOfWork.ColetorHistoricoTipoRepository.GravarHistorico(coletorHistorico);

                transacao.Complete();
            }
        }
Beispiel #3
0
 public void GravarHistorico(ColetorHistorico coletorHistorico)
 {
     Entities.ColetorHistorico.Add(coletorHistorico);
     Entities.SaveChanges();
 }