Exemplo n.º 1
0
        public async Task AdicionarItemAoPedidoAsync(int pedido, string idProduto, int cores, int quantidade)
        {
            var identificacao = idProduto.Split(",")[1].Trim();
            var id            = int.Parse(idProduto.Split(",")[0].Trim());

            if (identificacao == "produto")
            {
                var produtoCorModel = await _produtoCorRepository.GetCorByProdutoAsync(cores, id, "AT");

                var valorUnitario = produtoCorModel.ProdutoModel.ValorVenda;
                var valorTotal    = valorUnitario * quantidade;

                await _baseRepository.CreateProdutosAsync(new PedidoProdutosModel(pedido, produtoCorModel.Id, quantidade,
                                                                                  valorUnitario, valorTotal));

                await DarBaixaEstoque(null, produtoCorModel.Id, -quantidade, "produto");

                await AtualizarValoresDoPedido(valorTotal, pedido);
            }
            else
            {
                var kit = await _kitsRepository.GetByIdAsync(id);

                var valorUnitario = kit.ValorVenda;
                var valorTotal    = valorUnitario * quantidade;

                await _baseRepository.CreateKitsAsync(new PedidoKitModel(pedido, id, quantidade, valorUnitario,
                                                                         valorTotal));

                await DarBaixaEstoque(await _produtoCorRepository.GetListByKitAsync(kit.Nome, null),
                                      0, -quantidade, "kit");

                await AtualizarValoresDoPedido(valorTotal, pedido);
            }
        }
Exemplo n.º 2
0
        public async Task <(bool, string)> AddFotoList(Stream stream, int idCor, ProdutoFotoModel produtoFotoModel, string statusAtivacao)
        {
            var produtoCorModel = await _produtoCorRepository.GetCorByProdutoAsync(idCor,
                                                                                   produtoFotoModel.ProdutoModelId, statusAtivacao);

            var streamResized = await ResizeImage(stream);

            var uriBlob = await _blobInfrastructure.CreateBlobAsync(streamResized, "produtosblob");

            produtoFotoModel.SetUriBlob(uriBlob);
            produtoFotoModel.SetProdutoCorModelId(produtoCorModel.Id);

            if (produtoFotoModel.Principal)
            {
                var verificacao = await _produtoFotoRepository.CheckFotoAndPrincipal(produtoFotoModel.ProdutoModelId);

                if (verificacao)
                {
                    return(false, "O produto já tem uma foto principal cadatrada");
                }
            }

            await _produtoFotoRepository.CreateAsync(produtoFotoModel);

            return(true, null);
        }
Exemplo n.º 3
0
 public async Task <ProdutoCorModel> GetCorByProdutoAsync(int corId, int prodId, string statusAtivacao)
 {
     return(await _produtoCorRepository.GetCorByProdutoAsync(corId, prodId, statusAtivacao));
 }