Пример #1
0
        private EstoqueDto ObterEstoque(GDASession sessao, DadosAdicionaisFiltroPedidoDto dadosAdicionais, Produto produto)
        {
            var pedidoProducao = dadosAdicionais.TipoPedido == Data.Model.Pedido.TipoPedidoEnum.Producao;

            var estoqueReal = (decimal)ProdutoLojaDAO.Instance.GetEstoque(
                sessao,
                (uint)dadosAdicionais.IdLoja,
                (uint)produto.IdProd,
                pedidoProducao);

            var bloquearEstoque = !pedidoProducao &&
                                  GrupoProdDAO.Instance.BloquearEstoque(sessao, produto.IdGrupoProd, produto.IdSubgrupoProd);

            var estoqueAtual = bloquearEstoque
                ? estoqueReal
                : 999999999;

            var retorno = new EstoqueDto
            {
                QuantidadeReal       = estoqueReal,
                QuantidadeAtual      = estoqueAtual,
                NumeroBarrasAluminio = null,
                Unidade = "peça(s)",
                ExibirPopupFaltaEstoque = PedidoConfig.DadosPedido.ExibePopupVidrosEstoque &&
                                          ProdutoDAO.Instance.ExibirMensagemEstoque(sessao, produto.IdGrupoProd, produto.IdSubgrupoProd),
            };

            var tipoCalculo = (TipoCalculoGrupoProd)produto.TipoCalculo;

            this.CalcularQuantidadeBarrasAluminio(tipoCalculo, retorno);
            this.VerificarUnidadeEstoqueEM2(tipoCalculo, retorno);

            return(retorno);
        }
Пример #2
0
        public async Task <EstoqueDto> AddAsync(EstoqueDto estoqueDto)
        {
            var estoque = this.mapperEstoque.MapperDtoToEntity(estoqueDto);
            var result  = await this.serviceEstoque.AddAsync(estoque);

            return(this.mapperEstoque.MapperEntityToDto(result));
        }
Пример #3
0
        public void Initialize()
        {
            service = new VeiculoService(veiculoRepository);

            veiculo = new Veiculo("IKG6861", "Verde", 100.00, true, true, "Hyundai", "HB20", TipoVeiculo.Carro, "Venda");

            listaVeiculo = new List <Veiculo> {
                veiculo
            };

            estoque = new EstoqueDto(veiculo.Id,
                                     veiculo.Placa,
                                     veiculo.Cor,
                                     veiculo.Preco,
                                     Enum.GetName(typeof(TipoVeiculo), veiculo.TipoVeiculo),
                                     veiculo.TipoOperacao,
                                     veiculo.ArCondicionado,
                                     veiculo.Automatico,
                                     veiculo.Marca,
                                     veiculo.Modelo,
                                     veiculo.Disponivel);

            expected = new List <EstoqueDto> {
                estoque
            };
        }
Пример #4
0
        public async Task <ActionResult <EstoqueDto> > Adicionar(EstoqueDto obj)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }
            await _Estoqueservice.Adicionar(_mapper.Map <Estoque>(obj));

            obj.UltimaAtualizacao = DateTime.Now;
            return(CustomResponse(obj));
        }
Пример #5
0
 public async Task <ActionResult <EstoqueDto> > Put(Guid id, [FromBody] EstoqueDto estoqueDto)
 {
     try
     {
         return(await this.applicationServiceEstoque.UpdateAsync(id, estoqueDto));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #6
0
 public async Task <ActionResult <EstoqueDto> > Post([FromBody] EstoqueDto estoqueDto)
 {
     try
     {
         return(await this.applicationServiceEstoque.AddAsync(estoqueDto));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #7
0
        public EstoqueDto MapperEntityToDto(Estoque estoque)
        {
            var estoqueDto = new EstoqueDto()
            {
                Id                   = estoque.Id,
                IdProduto            = estoque.IdProduto,
                IdUnidadeAtendimento = estoque.IdUnidadeAtendimento,
                Quantidade           = estoque.Quantidade
            };

            return(estoqueDto);
        }
Пример #8
0
        public Estoque MapperDtoToEntity(EstoqueDto estoqueDto)
        {
            var estoque = new Estoque()
            {
                Id                   = estoqueDto.Id,
                IdProduto            = estoqueDto.IdProduto,
                IdUnidadeAtendimento = estoqueDto.IdUnidadeAtendimento,
                Quantidade           = estoqueDto.Quantidade
            };

            return(estoque);
        }
        public IActionResult EditarEstoque(int id)
        {
            var estoque = database.Estoques.Include(p => p.Produto).First(e => e.Id == id);

            ViewBag.Produto = database.Produtos.ToList();

            EstoqueDto estoqueView = new EstoqueDto();

            estoqueView.Id         = estoque.Id;
            estoqueView.ProdutoID  = estoque.Produto.Id;
            estoqueView.Quantidade = estoque.Quantidade;
            return(View(estoqueView));
        }
Пример #10
0
        public async Task <IActionResult> Delete(EstoqueDto dto)
        {
            var result = new HttpResult <EstoqueDto>(this._logger, this._service);

            try
            {
                await this._service.Remove(dto);

                return(result.ReturnCustomResponse(dto));
            }
            catch (Exception ex)
            {
                return(result.ReturnCustomException(ex, "Estoque", dto));
            }
        }
Пример #11
0
        private void VerificarUnidadeEstoqueEM2(TipoCalculoGrupoProd tipoCalculo, EstoqueDto estoque)
        {
            var tiposCalculoM2 = new[]
            {
                TipoCalculoGrupoProd.M2,
                TipoCalculoGrupoProd.M2Direto,
            };

            if (!tiposCalculoM2.Contains(tipoCalculo))
            {
                return;
            }

            estoque.Unidade = "m²";
        }
 public IActionResult Atualizar(EstoqueDto dadosTemporario)
 {
     if (ModelState.IsValid)
     {
         var dados = database.Estoques.First(est => est.Id == dadosTemporario.Id);
         dados.Produto    = database.Produtos.First(pro => pro.Id == dadosTemporario.ProdutoID);
         dados.Quantidade = dadosTemporario.Quantidade;
         database.SaveChanges();
         return(RedirectToAction("ListarEstoque", "Gestao"));
     }
     else
     {
         ViewBag.Produto = database.Produtos.ToList();
         return(View("../Gestao/EditarEstoque"));
     }
 }
Пример #13
0
        public async Task <EstoqueDto> UpdateAsync(Guid id, EstoqueDto estoqueDto)
        {
            var result = await this.GetByIdAsync(id);

            if (result != null)
            {
                estoqueDto.Id = result.Id;

                var estoque = this.mapperEstoque.MapperDtoToEntity(estoqueDto);

                await this.serviceEstoque.UpdateAsync(estoque);

                return(await this.GetByIdAsync(estoque.Id));
            }
            else
            {
                return(new EstoqueDto());
            }
        }
Пример #14
0
        public async Task <ActionResult <EstoqueDto> > Atualizar(int id, EstoqueDto obj)
        {
            if (id != obj.Id)
            {
                NotificarErro("O id informado não é o mesmo que foi passado na requisção");
                return(CustomResponse(obj));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            obj.UltimaAtualizacao = DateTime.Now;

            await _Estoqueservice.Atualizar(_mapper.Map <Estoque>(obj));

            return(CustomResponse(obj));
        }
        public IActionResult Salvar(EstoqueDto dadosTemporario)
        {
            if (ModelState.IsValid)
            {
                Estoque dados = new Estoque();

                dados.Produto    = database.Produtos.First(Produto => Produto.Id == dadosTemporario.ProdutoID);
                dados.Quantidade = dadosTemporario.Quantidade;
                dados.Status     = true;
                database.Estoques.Add(dados);
                database.SaveChanges();
                return(RedirectToAction("ListarEstoque", "Gestao"));
            }
            else
            {
                ViewBag.Produto = database.Produtos.ToList();
                return(View("../Gestao/NovoEstoque"));
            }
        }
Пример #16
0
        private void CalcularQuantidadeBarrasAluminio(TipoCalculoGrupoProd tipoCalculo, EstoqueDto estoque)
        {
            var tiposCalculoBarrasAluminio = new[]
            {
                TipoCalculoGrupoProd.MLAL0,
                TipoCalculoGrupoProd.MLAL05,
                TipoCalculoGrupoProd.MLAL1,
                TipoCalculoGrupoProd.MLAL6,
            };

            if (!tiposCalculoBarrasAluminio.Contains(tipoCalculo))
            {
                return;
            }

            estoque.Unidade = "ml";
            estoque.NumeroBarrasAluminio = (int)Math.Ceiling(estoque.QuantidadeAtual / 6);
        }