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. } } }
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(); } }
public void GravarHistorico(ColetorHistorico coletorHistorico) { Entities.ColetorHistorico.Add(coletorHistorico); Entities.SaveChanges(); }