Пример #1
0
        public Produto GenerateByFramilia(ProdutoModelView modelView)
        {
            Produto produto = ProdutoFactory.BuildModel(modelView);

            using (SqlCommand comando = conecxao.CreateCommand())
            {
                string query = String.Format(" SELECT  Z07_FILIAL,Z07_GRUPO,Z07_CUSTO1,Z07_PERC01 " +
                                             ", Z07_LUCRO, Z07_LUCRO, Z07_CEMBA, Z07_VEMBA, Z07_CUSTF" +
                                             " FROM Z07010 " +
                                             " WHERE Z07_FILIAL = '{0}'" +
                                             " AND Z07_GRUPO = '{1}' AND D_E_L_E_T_ = ''",
                                             modelView.Filial
                                             , modelView.Familia);
                comando.CommandText = query;
                comando.CommandType = System.Data.CommandType.Text;

                using (SqlDataReader leitor = comando.ExecuteReader())
                {
                    while (leitor.Read())
                    {
                        produto.CustoEmbalagemPercent = Convert.ToDouble(leitor["Z07_CEMBA"]);
                        produto.CustoEmbalagem        = (produto.CustoEmbalagemPercent / 100) * Convert.ToDouble(leitor["Z07_VEMBA"]);
                        produto.CustoOperacional      = Convert.ToDouble(leitor["Z07_CUSTO1"]);
                        produto.DespesasOperacionais  = Convert.ToDouble(leitor["Z07_PERC01"]);
                        produto.MargemLucro           = Convert.ToDouble(leitor["Z07_LUCRO"]);
                        produto.Rendimento            = modelView.Rendimento;
                    }
                }
            }

            return(produto);
        }
Пример #2
0
        /*
         * protected virtual void atualizarProduto(IList<ProdutoInfo> produtos) {
         *  _produtoListView.ItemsSource = produtos;
         * }
         */

        protected virtual async Task carregarProduto()
        {
            UserDialogs.Instance.ShowLoading("Carregando...");
            try
            {
                var regraLoja = LojaFactory.create();
                var loja      = regraLoja.pegarAtual();
                if (loja != null)
                {
                    _empresaLabel.Text = loja.Nome;
                }

                var args = new ProdutoListaEventArgs(Filtro);
                //await AoCarregar?.Invoke(this, args);
                var regraProduto = ProdutoFactory.create();
                var retorno      = await regraProduto.buscar(Filtro);

                _produtoListView.ItemsSource = retorno.Produtos;
                //atualizarProduto(retorno.Produtos);
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
            }
        }
        private async void executarBusca(string palavraChave)
        {
            try {
                UserDialogs.Instance.ShowLoading("Buscando...");
                var regraProduto = ProdutoFactory.create();
                var regraLoja    = LojaFactory.create();
                var loja         = regraLoja.pegarAtual();

                Filtro.PalavraChave = palavraChave;
                Items = criarListaInfinita();
                _produtoListView.ItemsSource = null;
                _produtoListView.ItemsSource = Items;
                _buscando = true;
                await Items.LoadMoreAsync();

                //_produtoListView.ItemsSource = await regraProduto.buscar(loja.Id, palavraChave);
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                await DisplayAlert("Erro", erro.Message, "Entendi");
            }
        }
        // GET: Produto
        public ActionResult Index()
        {
            var model     = produtoDAO.List();
            var modelView = ProdutoFactory.BuildModelViewList(model);

            return(View(modelView));
        }
Пример #5
0
        public MarcaProdutoDTO AddMarcaProduto(MarcaProdutoDTO MarcaProdutoDTO)
        {
            try
            {
                if (MarcaProdutoDTO == null)
                {
                    throw new Exception("Objeto não instânciado.");
                }

                var marcaProduto = ProdutoFactory.CreateMarcaProduto(MarcaProdutoDTO.Nome
                                                                     );

                SalvarMarcaProduto(marcaProduto);

                var adapter = TypeAdapterFactory.CreateAdapter();
                return(adapter.Adapt <MarcaProduto, MarcaProdutoDTO>(marcaProduto));
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
Пример #6
0
        public void UpdateMarcaProduto(MarcaProdutoDTO marcaProdutoDTO)
        {
            try
            {
                if (marcaProdutoDTO == null)
                {
                    throw new Exception("Objeto não instânciado.");
                }

                var persistido = _marcaProdutoRepository.Get(marcaProdutoDTO.Id);
                if (persistido == null)
                {
                    throw new Exception("MarcaProduto não encontrado.");
                }

                var corrente = ProdutoFactory.CreateMarcaProduto(marcaProdutoDTO.Nome
                                                                 );

                corrente.Id = persistido.Id;

                AlterarMarcaProduto(persistido, corrente);
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
        /// <summary>
        /// Formulário de Exclusão
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns></returns>
        public ActionResult Excluir(int id)
        {
            Produto produto   = produtoDAO.GetById(id);
            var     modelView = ProdutoFactory.BuildModelView(produto);

            ViewBag.UsuarioDeAprovacao = produto.UsuarioDeAprovacao;
            return(View(modelView));
        }
        public ActionResult Incluir(ProdutoModelView modelView)
        {
            if (!ModelState.IsValid)
            {
                return(View(modelView));
            }

            var produto = ProdutoFactory.BuildModel(modelView);

            produtoDAO.Save(produto);
            return(Redirect("Index"));
        }
Пример #9
0
        public void UpdateProduto(ProdutoDTO produtoDTO)
        {
            try
            {
                if (produtoDTO == null)
                {
                    throw new Exception("Objeto não instânciado.");
                }

                var persistido = _produtoRepository.Get(produtoDTO.Id);
                if (persistido == null)
                {
                    throw new Exception("Produto não encontrado.");
                }

                var corrente = ProdutoFactory.CreateProduto(produtoDTO.Nome,
                                                            produtoDTO.MarcaProdutoId,
                                                            produtoDTO.CategoriaProdutoId,
                                                            persistido.CodigoBarras,
                                                            produtoDTO.UsaBalanca,
                                                            produtoDTO.Ativo,
                                                            persistido.EstoqueAtual,
                                                            produtoDTO.Modelo,
                                                            produtoDTO.Custo,
                                                            produtoDTO.Venda,
                                                            persistido.Unidade,
                                                            produtoDTO.MovimentaEstoque,
                                                            produtoDTO.TipoNcm,
                                                            produtoDTO.Ncm,
                                                            produtoDTO.NaturezaEconomica,
                                                            produtoDTO.TipoProduto,
                                                            produtoDTO.ObjetivoComercial,
                                                            produtoDTO.Referencia,
                                                            produtoDTO.ReferenciaAux,
                                                            produtoDTO.LocalEstoque,
                                                            produtoDTO.AceitaSaldoNegativo,
                                                            produtoDTO.QuantidadeMinimaEstoque);

                corrente.Id = persistido.Id;

                AlterarProduto(persistido, corrente);
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
Пример #10
0
        public ProdutoData ConvertToData()
        {
            var tamanho     = Tamanho.Split(' ');
            var novoTamanho = new Tamanho(Convert.ToDecimal(tamanho[0]), tamanho[1]);

            Entity.Produto produto = Fabricacao == Fabricacao.Nacional
        ? ProdutoFactory
                                     .CriarProdutoNacional(Id, novoTamanho, Fabricacao, new Dinheiro(Valor))
        : ProdutoFactory
                                     .CriarProdutoInternacional(Id, novoTamanho, Fabricacao, new Dinheiro(Valor));

            return(new ProdutoData(produto));
        }
 public void CriarItemNoEstoque(ProdutoEnum tipo, ProdutoDTO item)
 {
     if (ItemPodeSerComprado(item))
     {
         Produto       produto    = new ProdutoFactory().CriarProduto(tipo, item);
         EstoqueDBFake controleDB = new EstoqueDBFake();
         controleDB.AdicionarItem(produto);
     }
     else
     {
         throw new Exception();
     }
 }
Пример #12
0
        public ProdutoDTO AddProduto(ProdutoDTO produtoDTO)
        {
            try
            {
                if (produtoDTO == null)
                {
                    throw new Exception("Objeto não instânciado.");
                }

                var Produto = ProdutoFactory.CreateProduto(produtoDTO.Nome,
                                                           produtoDTO.MarcaProdutoId,
                                                           produtoDTO.CategoriaProdutoId,
                                                           produtoDTO.CodigoBarras,
                                                           produtoDTO.UsaBalanca,
                                                           produtoDTO.Ativo,
                                                           produtoDTO.EstoqueAtual,
                                                           produtoDTO.Modelo,
                                                           produtoDTO.Custo,
                                                           produtoDTO.Venda,
                                                           produtoDTO.Unidade,
                                                           produtoDTO.MovimentaEstoque,
                                                           produtoDTO.TipoNcm,
                                                           produtoDTO.Ncm,
                                                           produtoDTO.NaturezaEconomica,
                                                           produtoDTO.TipoProduto,
                                                           produtoDTO.ObjetivoComercial,
                                                           produtoDTO.Referencia,
                                                           produtoDTO.ReferenciaAux,
                                                           produtoDTO.LocalEstoque,
                                                           produtoDTO.AceitaSaldoNegativo,
                                                           produtoDTO.QuantidadeMinimaEstoque
                                                           );

                SalvarProduto(Produto);

                var adapter = TypeAdapterFactory.CreateAdapter();
                return(adapter.Adapt <Produto, ProdutoDTO>(Produto));
            }
            catch (ApplicationValidationErrorsException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                LoggerFactory.CreateLog().LogError(ex);
                throw new Exception("O servidor não respondeu.");
            }
        }
Пример #13
0
        protected async void abrirProduto(BannerPecaInfo peca)
        {
            if (!peca.IdProduto.HasValue)
            {
                await UserDialogs.Instance.AlertAsync("Banner não está ligado a nenhum produto!", "Erro", "Entendi");

                return;
            }
            EnderecoUtils.selecionarEndereco(async(endereco) => {
                UserDialogs.Instance.ShowLoading("Carregando...");
                try
                {
                    var regraProduto = ProdutoFactory.create();
                    var regraLoja    = LojaFactory.create();
                    var produto      = await regraProduto.pegar(peca.IdProduto.Value);

                    var loja = await regraLoja.pegar(produto.IdLoja);
                    await regraLoja.gravarAtual(loja);
                    if (App.Current.MainPage is RootPage)
                    {
                        ((RootPage)App.Current.MainPage).atualizarMenu();
                    }

                    var produtoPage = new ProdutoPage()
                    {
                        Title   = produto.Nome,
                        Produto = produto
                    };
                    UserDialogs.Instance.HideLoading();
                    if (App.Current.MainPage is RootPage)
                    {
                        ((RootPage)App.Current.MainPage).PushAsync(produtoPage);
                    }
                    else
                    {
                        App.Current.MainPage = App.gerarRootPage(produtoPage);
                    }
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
                }
            });
        }
Пример #14
0
        protected override void Seed(Context.SistemaUnibenContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //
            var empresaFactory = new EmpresaFactory(context);
            var produtoFactory = new ProdutoFactory(context);

            empresaFactory.Run();
            produtoFactory.Run();
        }
Пример #15
0
        protected InfiniteScrollCollection <ProdutoColunaInfo> criarListaInfinita()
        {
            return(new InfiniteScrollCollection <ProdutoColunaInfo>
            {
                OnLoadMore = async() => {
                    var produtos = new List <ProdutoColunaInfo>();
                    if (!_buscando)
                    {
                        return produtos;
                    }
                    var paginaAtual = ((Items.Count * 3) / TAMANHO_PAGINA) + 1;

                    _produtoListView.Footer = _carregando;
                    _carregando.IsRunning = true;
                    _carregando.IsVisible = true;
                    var regraProduto = ProdutoFactory.create();
                    Filtro.Pagina = paginaAtual;
                    Filtro.TamanhoPagina = TAMANHO_PAGINA;
                    var retorno = await regraProduto.buscar(Filtro);

                    ProdutoColunaInfo coluna = null;
                    foreach (var produto in retorno.Produtos)
                    {
                        if (coluna == null)
                        {
                            coluna = new ProdutoColunaInfo();
                        }
                        if (coluna.Coluna1 == null)
                        {
                            coluna.Coluna1 = produto;
                        }
                        else if (coluna.Coluna2 == null)
                        {
                            coluna.Coluna2 = produto;
                        }
                        else if (coluna.Coluna3 == null)
                        {
                            coluna.Coluna3 = produto;
                            produtos.Add(coluna);
                            coluna = null;
                        }
                    }
                    if (coluna != null)
                    {
                        produtos.Add(coluna);
                    }
                    _carregando.IsRunning = false;
                    _carregando.IsVisible = false;
                    _produtoListView.Footer = null;
                    var qtdePordutoBaixado = (Items.Count + produtos.Count) * 3;
                    if (qtdePordutoBaixado >= retorno.Total)
                    {
                        _buscando = false;
                    }
                    if (retorno.Total == 0)
                    {
                        //_mainLayout.Children.Insert(0, _vazioFrame);
                        adicionarAvisoVazio();
                    }
                    return produtos;
                }
            });
        }
Пример #16
0
        public InicioViewModel AdicionarProdutoParaOInicio(List <Produto> produtos, Carrinho carrinho)
        {
            var inicioViewModel = ProdutoFactory.CriarProdutoParaListarNaHome(produtos, carrinho);

            return(inicioViewModel);
        }