Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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;
        }
Exemple #4
0
        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));
        }
Exemple #5
0
 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);
 }