コード例 #1
0
        public InventarioController()
        {
            _bllProduto = App_Codigo.ContainerIInstancias.ObterBLLProduto();
            var bll = App_Codigo.ContainerIInstancias.ObterBLLInventario();

            _bllInventario = bll;
        }
コード例 #2
0
        private void RemoverProduto(int index)
        {
            ProdutoController produtoController = new ProdutoController();

            IProduto produto = ArquivoEstoque.ListaProdutos[index];

            int response = produtoController.Delete(produto);

            if (response > 0)
            {
                ArquivoEstoque.RemoverProduto(index);

                string            message = "Produto excluido com sucesso";
                string            caption = "Sucesso";
                MessageBoxButtons buttons = MessageBoxButtons.OK;
                DialogResult      result;

                result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Information);
            }
            else
            {
                string            message = "Ocorreu algum erro ao tentar excluir o produto";
                string            caption = "Erro";
                MessageBoxButtons buttons = MessageBoxButtons.OK;
                DialogResult      result;

                result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Error);
            }
        }
コード例 #3
0
        double CarregarProduto(IProduto produto, ref double quantidade)
        {
            double preco = 0;

            string caminhoImagem = @"Arquivos\Imagens\Estoque\" + produto.ID + ".png";

            pictureBoxProduto.Image = Imagem.Carregar(caminhoImagem);
            labelNome.Text          = produto.Nome;

            if (produto.TipoVenda == "Quilo")
            {
                QuantidadeQuilo quantidadeQuilo = new QuantidadeQuilo();
                quantidadeQuilo.ShowDialog();
                quantidade      = quantidadeQuilo.Peso;
                preco           = produto.Preco * quantidade;
                labelPreco.Text = "Preço: R$ " + preco.ToString("F2");
            }
            else if (produto.TipoVenda == "Unidade")
            {
                labelPreco.Text = "Preço: R$ " + produto.Preco.ToString("F2");
                preco           = produto.Preco;
            }

            try //Gerar código de barras do produto
            {
                Zen.Barcode.CodeEan13BarcodeDraw brCode = Zen.Barcode.BarcodeDrawFactory.CodeEan13WithChecksum;
                pictureBoxCodigoBarras.Image = brCode.Draw(produto.ID, 60, 20);
            }
            catch
            {
            }
            return(preco);
        }
コード例 #4
0
ファイル: FachadaVendas.cs プロジェクト: aagustini/LanchesAPP
        public void pedido(int umaVenda, int umProd, int umaQtde)
        {
            Venda    venda = cadVendas.find(umaVenda);
            IProduto prod  = cadProds.find(umProd);

            venda.inserir(umaQtde, prod);
        }
コード例 #5
0
        //private readonly IUser _user;

        public ProdutoService(IProduto produtoRepository,
                              INotificador notificador 
                              ) : base(notificador)
        {
            _produtoRepository = produtoRepository;
            //_user = user;
        }
コード例 #6
0
 public void AdicionarProduto(IProduto produto, int quantidade)
 {
     Itens.Add(new ItemVenda()
     {
         Produto    = produto,
         Quantidade = quantidade
     });
 }
コード例 #7
0
 public AppCrud(CrudContext context,
                IProduto produtoDB,
                ICategoria categoriaDB)
 {
     _context     = context;
     _produtoDB   = produtoDB;
     _categoriaDB = categoriaDB;
 }
コード例 #8
0
        private Produto PatchProduto(Produto produto, IProduto produtoNovo)
        {
            produto.Categoria     = produtoNovo.Categoria;
            produto.CodigoProduto = produtoNovo.CodigoProduto;
            produto.Descricao     = produtoNovo.Descricao;
            produto.ValorUnitario = produtoNovo.ValorUnitario;

            return(produto);
        }
コード例 #9
0
        /// <summary>
        /// Método responsável por iniciar o preparo de um produto
        /// </summary>
        /// <param name="produto">Produto a ser preparado</param>
        /// <param name="callbackSucesso">Callback retornado em caso de sucesso</param>
        /// <param name="callbackErro">Callback retornado em caso de erro</param>
        /// <returns></returns>
        public async Task IniciarPreparoAsync(IProduto produto, Action callbackSucesso = null, Action callbackErro = null)
        {
            await Task.Run(() =>
            {
                if (produto == null)
                {
                    DispararEventoEnviandoMensagem("Selecione o café desejado.");

                    if (callbackErro != null)
                    {
                        callbackErro.Invoke();
                    }

                    return;
                }

                try
                {
                    produto.Comprar(this.Saldo);
                    Saldo -= produto.Preco;
                }
                catch (Exception ex)
                {
                    DispararEventoEnviandoMensagem(ex.Message);

                    if (callbackErro != null)
                    {
                        callbackErro.Invoke();
                    }

                    return;
                }

                this.EmPreparo = true;
                this.DispararEventoIniciandoPreparo();

                DispararEventoEnviandoMensagem($"Iniciando o preparo do {produto.Nome}, por favor aguarde alguns instantes.");

                this.EsquentarAgua();

                foreach (var item in produto.Ingredientes)
                {
                    AnimarMensagem($"Adicionando {item.Nome}, por favor aguarde alguns instantes");
                }

                DispararEventoEnviandoMensagem($"{produto.Nome} pronto, pode retirar.");

                this.EmPreparo             = false;
                this.CafeProntoParaRetirar = true;

                if (callbackSucesso != null)
                {
                    callbackSucesso.Invoke();
                }
            });
        }
コード例 #10
0
 public int CompareTo(IProduto produto)
 {
     // Se o número de vendas for igual então faz a ordenação de acordo com o maior preco
     if (this.QuantidadeVendida == produto.QuantidadeVendida)
     {
         return(produto.Preco.CompareTo(this.Preco));
     }
     // Ordenação padrão : do maior número de vendas para o menor
     return(produto.QuantidadeVendida.CompareTo(this.QuantidadeVendida));
 }
コード例 #11
0
 public ServicoController(IServico servico,
                          IProduto produto,
                          IServicoProduto servicoProduto,
                          IToastrMensagem toastrMensagem)
 {
     _servico        = servico;
     _produto        = produto;
     _servicoProduto = servicoProduto;
     _toastrMensagem = toastrMensagem;
 }
コード例 #12
0
        public ListaDietas CriaProduto(IProduto produto)
        {
            var nome = produto.Nome;
            var prot = produto.Proteinas;

            var addprod = new ListaDietas {
                Nome = nome, Proteinas = prot
            };

            return(addprod);
        }
コード例 #13
0
ファイル: Venda.cs プロジェクト: aagustini/LanchesAPP
        public void inserir(int qtde, IProduto prod)
        {
            // regra de negocio... status == aberta!
            ItemVenda item = new ItemVenda()
            {
                Quantidade = qtde,
                Produto    = prod
            };

            itens.Add(item);
        }
コード例 #14
0
 public ProdutoController(IProduto produto,
                          IToastrMensagem toastrMensagem,
                          IPromocao promocao,
                          IPromocaoProdServ promocaoProdServ,
                          IServico servico)
 {
     _produto          = produto;
     _toastrMensagem   = toastrMensagem;
     _promocao         = promocao;
     _promocaoProdServ = promocaoProdServ;
     _servico          = servico;
 }
コード例 #15
0
 public int Store(IProduto produto)
 {
     try
     {
         connection.Collection.InsertOne(produto);
         return(1);
     }
     catch
     {
         return(0);
     }
 }
コード例 #16
0
        /// <summary>
        /// Método responsável por carregar os produtos disponíveis
        /// </summary>
        private void CarregarProdutosDisponiveis()
        {
            this._produtorsDisponiveis = new List <IProduto>();

            IEnumerable <Type> types = Helpers.ReflectionHelper.FindDerivedTypes <ProdutoBase>();

            foreach (var type in types)
            {
                IProduto produto = (IProduto)Activator.CreateInstance(type);

                this._produtorsDisponiveis.Add(produto);
            }
        }
コード例 #17
0
        public async Task <int> AtualizarProduto(IProduto produto, CancellationToken cancellationToken = default)
        {
            var produtoLocal = await this.contexto.Produto.FindAsync(new object[] { produto.CodigoProduto }, cancellationToken);

            if (produtoLocal == null)
            {
                throw new ArgumentNullException("O Produto não foi encontrado");
            }

            this.contexto.Produto.Update(PatchProduto(produtoLocal, produto));

            return(await this.contexto.SaveChangesAsync(cancellationToken));
        }
コード例 #18
0
        public int Delete(IProduto produto)
        {
            try
            {
                FilterDefinition <IProduto> filter = Builders <IProduto> .Filter.Eq("_id", produto._id);

                DeleteResult response = connection.Collection.DeleteOne(filter);
                return((int)response.DeletedCount);
            }
            catch
            {
                return(0);
            }
        }
コード例 #19
0
        public Dietas(IProduto produto = null)
        {
            InitializeComponent();

            _connection = DependencyService.Get <ISQLiteDb>().GetConnection();


            //CriaProduto(produto);
            if (produto != null)
            {
                var x = CriaProduto(produto);
                _produto.Add(x);
            }
        }
コード例 #20
0
        private void CarregarCafesDisponiveis()
        {
            for (int i = 0; i < this._maquinaCafeVirtual.ProdutosDisponiveis.Count; i++)
            {
                IProduto    produto     = this._maquinaCafeVirtual.ProdutosDisponiveis[i];
                RadioButton radioButton = new RadioButton();

                radioButton.Name     = produto.Nome;
                radioButton.AutoSize = true;
                radioButton.Text     = produto.Nome + " R$ " + string.Format("{0:0.00}", produto.Preco);
                radioButton.Location = new Point(10, (i + 1) * 25);

                this.groupBoxOpcoes.Controls.Add(radioButton);
            }
        }
コード例 #21
0
        private void buttonIniciarPreparo_Click(object sender, EventArgs e)
        {
            string   cafeSelecionado = RetornarCafeSelecionado();
            IProduto produto         = this._maquinaCafeVirtual.ProdutosDisponiveis.FirstOrDefault(x => x.Nome == cafeSelecionado);

            _maquinaCafeVirtual.IniciarPreparoAsync(produto,
                                                    callbackSucesso: () =>
            {
                this.AtualizarControles();
            },
                                                    callbackErro: () =>
            {
                this.AtualizarControles();
            });
        }
コード例 #22
0
        public int Update(IProduto produto)
        {
            try
            {
                FilterDefinition <IProduto> filter = Builders <IProduto> .Filter.Eq("_id", produto._id);

                ReplaceOneResult response = connection.Collection.ReplaceOne(filter, produto);
                return((int)response.ModifiedCount);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                return(0);
            }
        }
コード例 #23
0
        public static IAssertion Validar(this IProduto produto)
        {
            var certificado     = Assertion.IsFalse(produto.InscricaoCertificado == default(long), "Não foi informado o numero de certificado / inscrição");
            var produtoId       = Assertion.IsFalse(produto.Codigo == default(int), $"Não foi informado o produtoId para a inscricao {produto.InscricaoCertificado}");
            var coberturasNull  = Assertion.NotNull(produto.Coberturas, $"A lista de coberturas da inscrição {produto.InscricaoCertificado} não foi informada");
            var coberturasVazia = coberturasNull.IsValid()
                ? Assertion.IsTrue(produto.Coberturas.Any(), $"A lista de coberturas da inscrição {produto.InscricaoCertificado} está vazia")
                : Assertion.Neutral();
            var coberturas = coberturasNull.IsValid()
                ? produto.Coberturas.Select(c => c.Validar(produto.InscricaoCertificado)).Aggregate(Assertion.Neutral(), (x, y) => x.and(y))
                : Assertion.Neutral();
            var matricula = Assertion.IsFalse(produto.Matricula.Equals(default(long)), $"Não foi informada a matricula da inscrição {produto.InscricaoCertificado}");

            return(certificado.and(produtoId).and(coberturasNull).and(coberturasVazia).and(matricula));
        }
コード例 #24
0
        void OnSave(object sender, EventArgs e)
        {
            _model = _factory.GetProdutoDao();
            try
            {
                Prepare();
                var option = _model.Insert(Entidade);
                //_view.Redirect.LoadView("ListAnoBase");

            }
            catch (Exception ex)
            {
                throw ex;
               //_view.Message.Show(new CustomMessage(ex.Message, ExceptionType.Erro));
            }
        }
コード例 #25
0
        void CarregarProduto(IProduto produto)
        {
            string caminhoImagem = @"Arquivos\Imagens\Estoque\" + Id.ToString(produto._id) + ".png";

            pictureBoxProduto.Image = Imagem.Carregar(caminhoImagem);
            labelNome.Text          = produto.Nome;
            labelPreco.Text         = "Preço Uni/Kg: R$ " + produto.Preco.ToString("F2");
            labelImposto.Text       = (produto.Imposto * 100).ToString("F2") + "%";

            try //Gerar código de barras do produto
            {
                Zen.Barcode.CodeEan13BarcodeDraw brCode = Zen.Barcode.BarcodeDrawFactory.CodeEan13WithChecksum;
                pictureBoxCodigoBarras.Image = brCode.Draw(Id.ToString(produto._id), 60, 20);
            }
            catch { }
        }
コード例 #26
0
 public Produto IProdutoToProduto(IProduto model)
 {
     return(new Produto()
     {
         Id = model.Id,
         Titulo = model.Titulo,
         Descricao = model.Descricao,
         Altura = model.Altura,
         Largura = model.Largura,
         Comprimento = model.Comprimento,
         Peso = model.Peso,
         CodigoDeBarras = model.CodigoDeBarras,
         Valor = model.Valor,
         DataAquisicao = model.DataAquisicao,
         Imagem = ""
     });
 }
コード例 #27
0
        void OnInitialize(object sender, EventArgs e)
        {
            try
              {
                  if (_view.ProdutoID != 0)
                  {
                      Identificador = _view.ProdutoID;
                      _model = _factory.GetProdutoDao();
                      Entidade = _model.GetById(Identificador);
                  }

                  if (Entidade != null)
                  {
                      PopulateForm();
                  }

              }
              catch (Exception ex)
              {
                  //_view.Message.Show(ex);
              }
        }
コード例 #28
0
 public CaixaController(ICliente cliente,
                        IAnimal animal,
                        IServico servico,
                        IUsuario usuario,
                        IAgendamento agendamento,
                        ITipoPagamento tipoPagamento,
                        IProduto produtos,
                        IPromocaoProdServ promocao,
                        IVendaProduto vendaProduto,
                        IVenda venda, IToastrMensagem toastr, IClientePontuacao clientePontuacao)
 {
     _cliente          = cliente;
     _animal           = animal;
     _servico          = servico;
     _usuario          = usuario;
     _agendamento      = agendamento;
     _tipoPagamento    = tipoPagamento;
     _produtos         = produtos;
     _promocao         = promocao;
     _vendaProduto     = vendaProduto;
     _venda            = venda;
     _toastr           = toastr;
     _clientePontuacao = clientePontuacao;
 }
コード例 #29
0
 public ProdutoApiController(IProduto IProduto)
 {
     this.Iproduto = IProduto;
 }
コード例 #30
0
 public ProdutoController(IProduto _interfaceProduto)
 {
     interfaceProduto = _interfaceProduto;
 }
コード例 #31
0
 public ProdutoController(IProduto _Crud)
 {
     ProdutoCRUD = _Crud;
 }
コード例 #32
0
        void MaisVendidos()
        {
            try
            {
                List <IProduto> ListaAuxiliar = ArquivoEstoque.ListaProdutos.ToList();

                // ordenar lista a partir do produto mais vendido
                ListaAuxiliar.Sort();

                IProduto A = ListaAuxiliar[0];
                IProduto B = ListaAuxiliar[1];
                IProduto C = ListaAuxiliar[2];
                IProduto D = ListaAuxiliar[3];
                IProduto E = ListaAuxiliar[4];

                Func <ChartPoint, string> labelPoint = chartPoint => string.Format("{0} ({1:P})", chartPoint.Y, chartPoint.Participation);

                string nomeA = A.Nome;
                string nomeB = B.Nome;
                string nomeC = C.Nome;
                string nomeD = D.Nome;
                string nomeE = E.Nome;

                double valorA = A.QuantidadeVendida;
                double valorB = B.QuantidadeVendida;
                double valorC = C.QuantidadeVendida;
                double valorD = D.QuantidadeVendida;
                double valorE = E.QuantidadeVendida;

                pieChart1.Series = new SeriesCollection
                {
                    new PieSeries
                    {
                        Title  = nomeA,
                        Values = new ChartValues <double> {
                            valorA
                        },
                        DataLabels = true,
                        LabelPoint = labelPoint,
                        PushOut    = 5, // se destacar das demais partes
                        //Fill = System.Windows.Media.Brushes.Green // cor da parte A
                    },
                    new PieSeries
                    {
                        Title  = nomeB,
                        Values = new ChartValues <double> {
                            valorB
                        },
                        DataLabels = true,
                        LabelPoint = labelPoint,
                    },
                    new PieSeries
                    {
                        Title  = nomeC,
                        Values = new ChartValues <double> {
                            valorC
                        },
                        DataLabels = true,
                        LabelPoint = labelPoint,
                    },
                    new PieSeries
                    {
                        Title  = nomeD,
                        Values = new ChartValues <double> {
                            valorD
                        },
                        DataLabels = true,
                        LabelPoint = labelPoint,
                    },
                    new PieSeries
                    {
                        Title  = nomeE,
                        Values = new ChartValues <double> {
                            valorE
                        },
                        DataLabels = true,
                        LabelPoint = labelPoint,
                    }
                };

                // local que a legenda do gráfico aparecerá
                pieChart1.LegendLocation = LegendLocation.Bottom;
            }
            catch { }
        }