コード例 #1
0
        /// <summary>
        /// Inicia uma nova instância da classe <see cref="ListaDto"/>.
        /// </summary>
        /// <param name="estoqueProduto">A model de estoque de produto.</param>
        internal ListaDto(ProdutoLoja estoqueProduto)
        {
            this.IdProduto                  = estoqueProduto.IdProd;
            this.IdLoja                     = estoqueProduto.IdLoja;
            this.IdLog                      = (int)estoqueProduto.IdLog;
            this.CodigoInternoProduto       = estoqueProduto.CodInternoProd;
            this.DescricaoProduto           = estoqueProduto.DescrProduto;
            this.DescricaoGrupoProduto      = estoqueProduto.DescrGrupoProd;
            this.DescricaoTipoCalculo       = estoqueProduto.DescrEstoque;
            this.DescricaoSubgrupoProduto   = estoqueProduto.DescrSubgrupoProd;
            this.EstoqueMinimo              = (decimal)estoqueProduto.EstMinimo;
            this.DescricaoEstoqueMinimo     = estoqueProduto.EstoqueMinimoString;
            this.EstoqueM2                  = (decimal)estoqueProduto.M2;
            this.QuantidadeReserva          = (decimal)estoqueProduto.Reserva;
            this.QuantidadeLiberacao        = (decimal)estoqueProduto.Liberacao;
            this.QuantidadeEstoque          = (decimal)estoqueProduto.QtdEstoque;
            this.DescricaoQuantidadeEstoque = estoqueProduto.QtdEstoqueStringLabel;
            this.DescricaoEstoqueDisponivel = estoqueProduto.EstoqueDisponivel;
            this.QuantidadeEstoqueFiscal    = (decimal)estoqueProduto.EstoqueFiscal;
            this.QuantidadeDefeito          = (decimal)estoqueProduto.Defeito;
            this.QuantidadePosseTerceiros   = (decimal)estoqueProduto.QtdePosseTerceiros;

            var conversor = new ConversorParticipanteModeloParaDto(estoqueProduto);

            this.Participante     = conversor.ObterParticipante();
            this.TipoParticipante = conversor.ObterTipoParticipante();

            this.Permissoes = new PermissoesDto
            {
                Editar              = estoqueProduto.EditVisible,
                ExibirLinkReserva   = estoqueProduto.TipoCalc == (int)TipoCalculoGrupoProd.Qtd || estoqueProduto.TipoCalc == (int)TipoCalculoGrupoProd.QtdDecimal,
                ExibirLinkLiberacao = estoqueProduto.TipoCalc == (int)TipoCalculoGrupoProd.Qtd || estoqueProduto.TipoCalc == (int)TipoCalculoGrupoProd.QtdDecimal,
                LogAlteracoes       = LogAlteracaoDAO.Instance.TemRegistro(LogAlteracao.TabelaAlteracao.ProdutoLoja, estoqueProduto.IdLog, null),
            };
        }
コード例 #2
0
        private TipoPartEnum? ObterTipoParticipanteModelo(ProdutoLoja estoqueProdutos)
        {
            if (estoqueProdutos.IdCliente.HasValue)
            {
                return TipoPartEnum.Cliente;
            }

            if (estoqueProdutos.IdFornec.HasValue)
            {
                return TipoPartEnum.Fornecedor;
            }

            if (estoqueProdutos.IdLojaTerc.HasValue)
            {
                return TipoPartEnum.Loja;
            }

            if (estoqueProdutos.IdTransportador.HasValue)
            {
                return TipoPartEnum.Transportador;
            }

            if (estoqueProdutos.IdAdminCartao.HasValue)
            {
                return TipoPartEnum.AdministradoraCartao;
            }

            return null;
        }
コード例 #3
0
        /// <summary>
        /// Atualiza os dados de um produto na loja
        /// </summary>
        /// <param name="produtoLoja"></param>
        public void Atualizar(ProdutoLoja produtoLoja)
        {
            DbTransaction transaction = null;

            try
            {
                if (saceContext.Connection.State == System.Data.ConnectionState.Closed)
                {
                    saceContext.Connection.Open();
                }
                transaction = saceContext.Connection.BeginTransaction();

                ProdutoLojaE _produtoLojaE = repProdutoLoja.ObterEntidade(pl => pl.codProduto == produtoLoja.CodProduto && pl.codLoja == produtoLoja.CodLoja);
                _produtoLojaE.estoqueMaximo = produtoLoja.EstoqueMaximo;
                _produtoLojaE.localizacao   = produtoLoja.Localizacao;
                _produtoLojaE.localizacao2  = produtoLoja.Localizacao2;
                _produtoLojaE.qtdEstoque    = produtoLoja.QtdEstoque;
                _produtoLojaE.qtdEstoqueAux = produtoLoja.QtdEstoqueAux;

                repProdutoLoja.SaveChanges();

                AtualizarEstoqueEntradasProduto(produtoLoja.CodProduto);
                transaction.Commit();
            }
            catch (Exception e)
            {
                transaction.Rollback();
                throw new DadosException("Produto", e.Message, e);
            }
            finally
            {
                saceContext.Connection.Close();
            }
        }
コード例 #4
0
        /// <summary>
        /// Atualiza o campo Qntde Terceiro da tabela produto_loja
        /// </summary>
        /// <param name="tipoMov"></param>
        /// <param name="idLoja"></param>
        /// <param name="idProd"></param>
        /// <param name="qtdeMov"></param>
        private void AtualizaProdutoLojaQtdeTerceiros(GDASession sessao, MovEstoque.TipoMovEnum tipoMov, uint idLoja, uint idProd, decimal qtdeMov)
        {
            ProdutoLoja plAtual = ProdutoLojaDAO.Instance.GetElement(idLoja, idProd);

            if (plAtual == null)
            {
                return;
            }

            ProdutoLoja plNovo = ProdutoLojaDAO.Instance.GetElement(idLoja, idProd);

            if (tipoMov == MovEstoque.TipoMovEnum.Entrada)
            {
                plNovo.QtdePosseTerceiros += Convert.ToDouble(qtdeMov);
            }
            else
            {
                plNovo.QtdePosseTerceiros -= Convert.ToDouble(qtdeMov);
            }

            ProdutoLojaDAO.Instance.Update(sessao, plNovo);

            // Salva log da alteração no estoque de terceiros
            LogAlteracaoDAO.Instance.LogProdutoLoja(sessao, plAtual);
        }
コード例 #5
0
 private int? ObterIdParticipanteModelo(ProdutoLoja estoqueProdutos)
 {
     return estoqueProdutos.IdCliente
         ?? estoqueProdutos.IdFornec
         ?? estoqueProdutos.IdLojaTerc
         ?? estoqueProdutos.IdTransportador
         ?? estoqueProdutos.IdAdminCartao;
 }
コード例 #6
0
        public List <Compra> Select(Compra filtro)
        {
            List <Compra> retorno = new List <Compra>();

            try
            {
                this.abrirConexao();


                string sql = "SELECT CARRINHO_PRODUTO_LOJA.NUMEROCARRINHO, CARRINHO_PRODUTO_LOJA.PRODUTO_LOJAID, CARRINHO_PRODUTO_LOJA.QUANTIDADE,CARRINHO_PRODUTO_LOJA.VALOR, PRODUTO.ID, PRODUTO.NOME, PRODUTO.DESCRICAO FROM CARRINHO_PRODUTO_LOJA INNER JOIN CARRINHO on NUMEROCARRINHO = carrinho.numero INNER JOIN PRODUTO_LOJA on PRODUTO_LOJAID = PRODUTO_LOJA.ID INNER JOIN PRODUTO on PRODUTO_LOJA.PRODUTOID = PRODUTO.ID";


                //string sql = "select   carrinho_produto_loja.valor, quantidade, " +
                //                      "carrinho.cartaocreditoId , carrinho.numero , carrinho.usuarioId, " +
                //                      "produto_loja.Id, produto_loja.lojaId, produto_loja.produtoId, produto_loja.valor " +
                //              "from carrinho_produto_loja " +
                //                    "inner join carrinho on numerocarrinho = carrinho.numero " +
                //                    "inner join produto_loja on produto_LojaId = produto_Loja.Id";

                if (filtro.Carrinho != null)
                {
                    sql += " where numerocarrinho = " + filtro.Carrinho.Numero;
                }
                if (filtro.ProdutoLoja != null)
                {
                    sql += " and produto_LojaId =" + filtro.ProdutoLoja.Id;
                }

                SqlCommand    cmd      = new SqlCommand(sql, sqlConn);
                SqlDataReader DbReader = cmd.ExecuteReader();
                while (DbReader.Read())
                {
                    Compra      compra      = new Compra();
                    Carrinho    carrinho    = new Carrinho();
                    ProdutoLoja produtoLoja = new ProdutoLoja();
                    Produto     produto     = new Produto();
                    carrinho.Numero    = DbReader.GetInt32(DbReader.GetOrdinal("carrinho"));
                    produtoLoja.Id     = DbReader.GetInt32(DbReader.GetOrdinal("produtoloja"));
                    compra.Quantidade  = DbReader.GetInt32(DbReader.GetOrdinal("quantidade"));
                    compra.Valor       = float.Parse(DbReader.GetDecimal(DbReader.GetOrdinal("valor")).ToString());
                    produto.Id         = DbReader.GetInt32(DbReader.GetOrdinal("idproduto"));
                    produto.Nome       = DbReader.GetString(DbReader.GetOrdinal("nome"));
                    produto.Descricao  = DbReader.GetString(DbReader.GetOrdinal("descrição"));
                    compra.ProdutoLoja = produtoLoja;
                    compra.Carrinho    = carrinho;
                    retorno.Add(compra);
                }
                DbReader.Close();
                cmd.Dispose();
                this.fecharConexao();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(retorno);
        }
コード例 #7
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            ProdutoLoja produtoLoja = await db.ProdutosLojas.FindAsync(id);

            db.ProdutosLojas.Remove(produtoLoja);

            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
コード例 #8
0
        public List <ProdutoLoja> List(ProdutoLoja filtro)
        {
            List <ProdutoLoja> retorno = new List <ProdutoLoja>();

            try
            {
                this.abrirConexao();
                string sql = "select produto.id, produto.codigobarra, produto.nome,produto.descricao,produto.marca, " +
                             "loja.Id , loja.cnpj, loja.razaosocial,loja.nomefantasia, produto_loja.valor ,produto_loja.Id " +
                             "from produto_loja " +
                             "inner join produto on produto.Id = produto_loja.produtoId " +
                             "inner join loja on loja.Id = produto_loja.LojaId";

                if (filtro.Loja != null)
                {
                    sql += " where produto_loja.Id  like '%" + filtro.Loja.Id + "%'";
                }
                if (filtro.Produto != null)
                {
                    sql += " and produto_loja.produtoId  = " + filtro.Produto.Id;
                }

                SqlCommand    cmd      = new SqlCommand(sql, sqlConn);
                SqlDataReader DbReader = cmd.ExecuteReader();
                while (DbReader.Read())
                {
                    ProdutoLoja produtoLoja = new ProdutoLoja();
                    Produto     produto     = new Produto();
                    produto.Id          = DbReader.GetInt32(DbReader.GetOrdinal("id"));
                    produto.CodigoBarra = DbReader.GetString(DbReader.GetOrdinal("codigobarra"));
                    produto.Nome        = DbReader.GetString(DbReader.GetOrdinal("nome"));
                    produto.Descricao   = DbReader.GetString(DbReader.GetOrdinal("descricao"));
                    produto.Marca       = DbReader.GetString(DbReader.GetOrdinal("marca"));
                    produtoLoja.Produto = produto;
                    Loja loja = new Loja();
                    loja.Id           = DbReader.GetInt32(DbReader.GetOrdinal("id"));
                    loja.Cnpj         = DbReader.GetString(DbReader.GetOrdinal("cnpj"));
                    loja.RazaoSocial  = DbReader.GetString(DbReader.GetOrdinal("razaosocial"));
                    loja.NomeFantasia = DbReader.GetString(DbReader.GetOrdinal("nomefantasia"));
                    produtoLoja.Loja  = loja;
                    produtoLoja.Preco = float.Parse(DbReader.GetDecimal(DbReader.GetOrdinal("valor")).ToString());
                    produtoLoja.Id    = DbReader.GetInt32(DbReader.GetOrdinal("id"));
                    retorno.Add(produtoLoja);
                }
                DbReader.Close();
                cmd.Dispose();
                this.fecharConexao();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao conectar e selecionar" + ex.Message);
            }
            return(retorno);
        }
コード例 #9
0
 public String InsertProdutoLoja(ProdutoLoja produtoLoja)
 {
     try
     {
         RegraProdutoLoja regraProdutoLoja = new RegraProdutoLojaImpl();
         return(regraProdutoLoja.Insert(produtoLoja));
     }
     catch (Exception ex)
     {
         throw new Exception("Erro no processo de associar produto a loja" + ex.Message);
     }
 }
コード例 #10
0
 public void UpdateProdutoLoja(ProdutoLoja produtoLoja)
 {
     try
     {
         ProdutoLojaDAO produtoLojaDAOImpl = new ProdutoLojaDAOImpl();
         produtoLojaDAOImpl.Update(produtoLoja);
     }
     catch (Exception ex)
     {
         throw new Exception("Erro no processo de atualizar a associação do produto a loja" + ex.Message);
     }
 }
コード例 #11
0
 public void DeleteProdutoLoja(ProdutoLoja produtoLoja)
 {
     try
     {
         ProdutoLojaDAO produtoLojaDAOImpl = new ProdutoLojaDAOImpl();
         produtoLojaDAOImpl.Delete(produtoLoja);
     }
     catch (Exception ex)
     {
         throw new Exception("Erro no processo de deletar relação de produto a loja" + ex.Message);
     }
 }
コード例 #12
0
 public void Insert(ProdutoLoja produtoLoja)
 {
     try
     {
         this.abrirConexao();
         sql = "insert into produto_loja (produtoId, LojaId, valor) values(" + produtoLoja.Produto.Id + "," + produtoLoja.Loja.Id + "," + produtoLoja.Preco + ")";
         executaSql();
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao conectar e remover" + ex.Message);
     }
 }
コード例 #13
0
 public void Delete(ProdutoLoja produtoLoja)
 {
     try
     {
         this.abrirConexao();
         sql = "delete from produto_loja where produtoId =" + produtoLoja.Produto.Id + " and LojaId =" + "'" + produtoLoja.Loja.Id + "'";
         executaSql();
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao conectar e remover" + ex.Message);
     }
 }
コード例 #14
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                ProdutoLoja produtoLoja = await db.ProdutosLojas.FindAsync(id);

                db.ProdutosLojas.Remove(produtoLoja);
                await db.SaveChangesAsync();

                scope.Complete();
                return(RedirectToAction("Index"));
            }
        }
コード例 #15
0
 public void Update(ProdutoLoja produtoLoja)
 {
     try
     {
         this.abrirConexao();
         sql = "update produto_loja set produtoId = '" + produtoLoja.Produto.Id + "', LojaId = '" + produtoLoja.Loja.Id + "', valor = '" + produtoLoja.Preco + "'" + "where produtoId =" + produtoLoja.Produto.CodigoBarra + " and cnpj =" + "'" + produtoLoja.Loja.Cnpj + "'";
         executaSql();
     }
     catch (Exception ex)
     {
         throw new Exception("Erro ao conectar e remover" + ex.Message);
     }
 }
コード例 #16
0
        private void Converter(ProdutoLoja estoqueProduto)
        {
            var tiposParticipantes = new ConversorEnum <TipoPartEnum>()
                                     .ObterTraducao();

            Func <TipoPartEnum, IdNomeDto> obterTipoParticipante =
                tipo => tiposParticipantes.First(t => t.Id == (int)tipo);

            this.ConverterCliente(estoqueProduto, obterTipoParticipante(TipoPartEnum.Cliente));
            this.ConverterFornecedor(estoqueProduto, obterTipoParticipante(TipoPartEnum.Fornecedor));
            this.ConverterLoja(estoqueProduto, obterTipoParticipante(TipoPartEnum.Loja));
            this.ConverterTransportador(estoqueProduto, obterTipoParticipante(TipoPartEnum.Transportador));
            this.ConverterAdministradoraCartao(estoqueProduto, obterTipoParticipante(TipoPartEnum.AdministradoraCartao));
        }
コード例 #17
0
        // GET: ProdutosLojas/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProdutoLoja produtoLoja = await db.ProdutosLojas.FindAsync(id);

            if (produtoLoja == null)
            {
                return(HttpNotFound());
            }
            return(View(produtoLoja));
        }
コード例 #18
0
        private void ConverterTransportador(ProdutoLoja estoqueProduto, IdNomeDto tipoParticipanteTransportador)
        {
            if (!estoqueProduto.IdTransportador.HasValue)
            {
                return;
            }

            this.participante = new IdNomeDto
            {
                Id   = estoqueProduto.IdTransportador,
                Nome = estoqueProduto.NomeTransportador,
            };

            this.tipoParticipante = tipoParticipanteTransportador;
        }
コード例 #19
0
        private void ConverterCliente(ProdutoLoja estoqueProduto, IdNomeDto tipoParticipanteCliente)
        {
            if (!estoqueProduto.IdCliente.HasValue)
            {
                return;
            }

            this.participante = new IdNomeDto
            {
                Id   = estoqueProduto.IdCliente,
                Nome = estoqueProduto.NomeCliente,
            };

            this.tipoParticipante = tipoParticipanteCliente;
        }
コード例 #20
0
        private void ConverterFornecedor(ProdutoLoja estoqueProduto, IdNomeDto tipoParticipanteFornecedor)
        {
            if (!estoqueProduto.IdFornec.HasValue)
            {
                return;
            }

            this.participante = new IdNomeDto
            {
                Id   = estoqueProduto.IdFornec,
                Nome = estoqueProduto.NomeFornec,
            };

            this.tipoParticipante = tipoParticipanteFornecedor;
        }
コード例 #21
0
        private void ConverterLoja(ProdutoLoja estoqueProduto, IdNomeDto tipoParticipanteLoja)
        {
            if (!estoqueProduto.IdLojaTerc.HasValue)
            {
                return;
            }

            this.participante = new IdNomeDto
            {
                Id   = estoqueProduto.IdLojaTerc,
                Nome = estoqueProduto.NomeLojaTerc,
            };

            this.tipoParticipante = tipoParticipanteLoja;
        }
コード例 #22
0
 public List <ProdutoLoja> ListProdutoLoja(ProdutoLoja filtro)
 {
     try
     {
         RegraProdutoLoja regraProdutoLoja = new RegraProdutoLojaImpl();
         return(regraProdutoLoja.List(filtro));
         //ProdutoLojaDAO produtoLojaDAOImpl = new ProdutoLojaDAOImpl();
         //List<ProdutoLoja> retorno = new List<ProdutoLoja>();
         //retorno = produtoLojaDAOImpl.List(filtro);
         //return retorno;
     }
     catch (Exception ex)
     {
         throw new Exception("Erro no processo de listar relação de produto a loja" + ex.Message);
     }
 }
コード例 #23
0
        public async Task <ActionResult> Create([Bind(Include = "ProdutoLojaId,ProdutoId,LojaId,Estoque,Preco,DataModificacao,UsuarioModificacao,DataCriacao,UsuarioCriacao")] ProdutoLoja produtoLoja)
        {
            if (ModelState.IsValid)
            {
                db.ProdutosLojas.Add(produtoLoja);

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.LojaId    = new SelectList(db.Lojas, "LojaId", "Nome", produtoLoja.LojaId);
            ViewBag.ProdutoId = new SelectList(db.Produtos, "ProdutoId", "Nome", produtoLoja.ProdutoId);

            return(View(produtoLoja));
        }
コード例 #24
0
        // GET: ProdutosLojas/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProdutoLoja produtoLoja = await db.ProdutosLojas.FindAsync(id);

            if (produtoLoja == null)
            {
                return(HttpNotFound());
            }
            ViewBag.LojaId    = new SelectList(db.Lojas, "LojaId", "Nome", produtoLoja.LojaId);
            ViewBag.ProdutoId = new SelectList(db.Produtos, "ProdutoId", "Nome", produtoLoja.ProdutoId);
            return(View(produtoLoja));
        }
コード例 #25
0
        public string Insert(ProdutoLoja produtoLoja)
        {
            String msgRetorno = "";

            try
            {
                ProdutoLojaDAO produtolojadao = new ProdutoLojaDAOImpl();

                if (produtoLoja.Loja == null && produtoLoja.Produto == null && produtoLoja.Preco == 0)
                {
                    msgRetorno = msgRetorno + "Favor inserir dados";
                }

                else
                {
                    if (produtoLoja.Loja == null)
                    {
                        msgRetorno = msgRetorno + "Favor inserir a loja";
                    }

                    if (produtoLoja.Produto == null)
                    {
                        msgRetorno = msgRetorno + "Favor inserir o produto";
                    }

                    if (produtoLoja.Preco == 0)
                    {
                        msgRetorno = msgRetorno + "Favor inserir  preço";
                    }

                    if (produtoLoja.Preco < 0)
                    {
                        msgRetorno = msgRetorno + "O preço não pode ser negativo";
                    }
                }

                if (msgRetorno == "")
                {
                    produtolojadao.Insert(produtoLoja);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao conectar e inserir" + ex.Message);
            }
            return(msgRetorno);
        }
コード例 #26
0
        public async Task <ActionResult> Edit([Bind(Include = "ProdutoLojaId,ProdutoId,LojaId,Quantidade")] ProdutoLoja produtoLoja)
        {
            if (ModelState.IsValid)
            {
                using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    db.Entry(produtoLoja).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    scope.Complete();
                    return(RedirectToAction("Index"));
                }
            }
            ViewBag.LojaId    = new SelectList(db.Lojas, "LojaId", "Nome", produtoLoja.LojaId);
            ViewBag.ProdutoId = new SelectList(db.Produtos, "ProdutoId", "Nome", produtoLoja.ProdutoId);
            return(View(produtoLoja));
        }
コード例 #27
0
        private void btnNovo_Click(object sender, EventArgs e)
        {
            ProdutoLoja produtoLoja = new ProdutoLoja();

            produtoLoja.NomeProduto = ProdutoSelected.Nome;
            produtoLoja.CodProduto  = ProdutoSelected.CodProduto;
            produtoLoja.CodLoja     = Global.LOJA_PADRAO;

            produtoLojaBindingSource.Add(produtoLoja);

            habilitaBotoes(false);
            //codProdutoTextBox.Text = produtoLoja.CodProduto.ToString();
            //nomeProdutoTextBox.Text = produtoLoja.NomeProduto;
            produtoLojaBindingSource.ResumeBinding();
            codLojaComboBox.Focus();
            estado = EstadoFormulario.INSERIR;
        }
コード例 #28
0
        private void ConverterAdministradoraCartao(
            ProdutoLoja estoqueProduto,
            IdNomeDto tipoParticipanteAdministradoraCartao)
        {
            if (!estoqueProduto.IdAdminCartao.HasValue)
            {
                return;
            }

            this.participante = new IdNomeDto
            {
                Id   = estoqueProduto.IdAdminCartao,
                Nome = estoqueProduto.NomeAdminCartao,
            };

            this.tipoParticipante = tipoParticipanteAdministradoraCartao;
        }
コード例 #29
0
        /// <summary>
        /// Insere um novo produto na base de dados
        /// </summary>
        /// <param name="produto"></param>
        /// <returns></returns>
        public Int64 Inserir(Produto produto)
        {
            try
            {
                if (produto.Nome.Trim().Equals(""))
                {
                    throw new NegocioException("O nome do produto não pode ficar em branco.");
                }
                else if (produto.QuantidadeEmbalagem <= 0)
                {
                    throw new NegocioException("A quantidade de produtos na embalagem deve ser maior que zero.");
                }
                else if (!produto.CodigoBarra.Trim().Equals("") && !produto.CodigoBarra.Trim().Equals("SEM GTIN"))
                {
                    if (ObterPorCodigoBarraExato(produto.CodigoBarra).Count() > 0)
                    {
                        throw new NegocioException("Já existe um produto cadastrado com esse código de barra. Favor verificar a possibilidade de ser o mesmo produto.");
                    }
                }

                ProdutoE _produtoE = new ProdutoE();
                Atribuir(produto, _produtoE);

                var repProduto = new RepositorioGenerico <ProdutoE>();
                repProduto.Inserir(_produtoE);
                repProduto.SaveChanges();

                ProdutoLoja produtoLoja = new ProdutoLoja();
                produtoLoja.CodProduto    = _produtoE.codProduto;
                produtoLoja.CodLoja       = Global.LOJA_PADRAO;
                produtoLoja.QtdEstoque    = 0;
                produtoLoja.QtdEstoqueAux = 0;

                GerenciadorProdutoLoja.GetInstance(null).Inserir(produtoLoja);

                return(_produtoE.codProduto);
            }
            catch (Exception e)
            {
                throw new DadosException("Produto", e.Message, e);
            }
        }
コード例 #30
0
        /// <summary>
        /// Inicia uma nova instância da classe <see cref="ConversorParticipanteDtoParaModelo"/>.
        /// </summary>
        /// <param name="participanteInformado">Indica se o participante foi informado.</param>
        /// <param name="idParticipante">O identificador do participante informado.</param>
        /// <param name="tipoParticipanteInformado">Indica se o tipo do participante foi informado.</param>
        /// <param name="tipoParticipante">O tipo de participante informado.</param>
        /// <param name="estoqueProdutos">O objeto com os dados do estoque que será alterado.</param>
        public ConversorParticipanteDtoParaModelo(
            bool participanteInformado,
            int? idParticipante,
            bool tipoParticipanteInformado,
            TipoPartEnum? tipoParticipante,
            ProdutoLoja estoqueProdutos)
        {
            this.idParticipante = participanteInformado
                ? idParticipante
                : this.ObterIdParticipanteModelo(estoqueProdutos);

            this.tipoParticipante = tipoParticipanteInformado
                ? tipoParticipante
                : this.ObterTipoParticipanteModelo(estoqueProdutos);

            this.idCliente = new Lazy<int?>(() => this.ConverterParticipante(TipoPartEnum.Cliente));
            this.idFornecedor = new Lazy<int?>(() => this.ConverterParticipante(TipoPartEnum.Fornecedor));
            this.idLoja = new Lazy<int?>(() => this.ConverterParticipante(TipoPartEnum.Loja));
            this.idTransportador = new Lazy<int?>(() => this.ConverterParticipante(TipoPartEnum.Transportador));
            this.idAdministradoraCartao = new Lazy<int?>(() => this.ConverterParticipante(TipoPartEnum.AdministradoraCartao));
        }