public void AtualizarEstoque(int IDCompany, int IDUser, int IDProduto, TipoMovimentoEstoqueEnum Tipo, int Qtde, bool doCommit = false) { EstoqueEN estoqueEN = _repositoryEstoque.GetByID(IDProduto); if (estoqueEN != null) { int _qtde = estoqueEN.Qtde; if (Tipo == TipoMovimentoEstoqueEnum.Entrada) { _qtde += Qtde; } else { _qtde -= Qtde; } if (_qtde <= 0 && Tipo == TipoMovimentoEstoqueEnum.Saida) { ProdutoEN produtoEN = _repositoryProduto.GetByID(IDProduto); throw new DomainException($"Estoque do produto [{produtoEN.Nome}] Insuficiente"); } else { estoqueEN.UpdateProperties ( IDCompany, IDUser, IDProduto, _qtde ); } _repositoryEstoque.Edit(estoqueEN); } else { estoqueEN = new EstoqueEN ( IDCompany, IDUser, IDProduto, Qtde ); _repositoryEstoque.Save(estoqueEN); } if (doCommit) { _unitOfWork.Commit(); } }
public void Save(int IDCompany, int IDUser, OrigemMovimentoEstoqueEnum Origem, int Chave, int IDProduto, TipoMovimentoEstoqueEnum Tipo, int Qtde, string Observacao) { MovimentoEstoqueEN movimentoEstoqueEN = new MovimentoEstoqueEN ( IDCompany, IDUser, Origem, Chave, IDProduto, Tipo, Qtde, Observacao ); movimentoEstoqueEN.DataMovimento = DateTime.Now.ToLocalTime(); _repositoryMovimentoEstoque.Save(movimentoEstoqueEN); _estoqueBU.AtualizarEstoque(IDCompany, IDUser, IDProduto, Tipo, Qtde); _unitOfWork.Commit(); }
private void ValidateAndSetProperties(int IDCompany, int IDUser, OrigemMovimentoEstoqueEnum Origem, int Chave, int IDProduto, TipoMovimentoEstoqueEnum Tipo, int Qtde, string Observacao) { DomainException.When(IDCompany == 0, "Compania não informada."); DomainException.When(IDUser == 0, "Usuário não informado."); DomainException.When(IDProduto == 0, "Fornecedor não informado."); DomainException.When(Qtde <= 0, "Qtde não pode ser menor ou igual a zero."); this.IDCompany = IDCompany; this.IDUser = IDUser; this.Origem = Origem; this.Chave = Chave; this.IDProduto = IDProduto; this.Tipo = Tipo; this.Qtde = Qtde; this.Observacao = Observacao; }
public IActionResult MovimentacaoEstoqueImprimir(OrigemMovimentoEstoqueEnum idOrigem, TipoMovimentoEstoqueEnum idTipo, int idProduto, DateTime dataInicial, DateTime dataFinal) { var caminhoTemplate = _configuration.GetSection("Environment:CaminhoTemplate").Value; var documento = _templateBU.MovimentacaoEstoqueImprimir(caminhoTemplate, idOrigem, idTipo, idProduto, dataInicial, dataFinal); var nomeArquivo = $"MovimentacaoEstoque.pdf"; var contentDispositionHeader = new System.Net.Mime.ContentDisposition { Inline = true, FileName = nomeArquivo }; Response.Headers.Add("Content-Disposition", contentDispositionHeader.ToString()); byte[] byteArray = Convert.FromBase64String(documento); return(File(byteArray, System.Net.Mime.MediaTypeNames.Application.Pdf)); }
public void UpdateProperties(int IDCompany, int IDUser, OrigemMovimentoEstoqueEnum Origem, int Chave, int IDProduto, TipoMovimentoEstoqueEnum Tipo, int Qtde, string Observacao) { ValidateAndSetProperties(IDCompany, IDUser, Origem, Chave, IDProduto, Tipo, Qtde, Observacao); }