public ProduzirProduto(DataHandler dataHandler, ProdutoPersonalizado prodPers, ListarMateriais listarMateriais)
 {
     InitializeComponent();
     this.dataHandler     = dataHandler;
     this.prodPers        = prodPers;
     this.listarMateriais = listarMateriais;
 }
예제 #2
0
        private void validarDados()
        {
            List <ProdutoPersonalizado> lista = ((IEnumerable <ProdutoPersonalizado>) this.produtosEncomenda.ItemsSource).ToList();

            if (txtCliente.Text.Equals("") || localEntrega.SelectedIndex == -1 || dataPrevista.SelectedDate == null)
            {
                throw new Exception("Por favor preencha todos os campos relativos á encomenda antes de avançar.");
            }
            else if (produtosEncomenda.Items.Count == 0)
            {
                throw new Exception("Uma encomenda tem de ter pelo menos um produto!");
            }
            for (int i = 0; i < lista.Count; i++)
            {
                ProdutoPersonalizado prod = lista.ElementAt(i);
                if (prod.ProdutoBase.Referencia == null || prod.Tamanho == null || prod.ID == null || prod.Quantidade == null)
                {
                    throw new Exception("Por favor preencha todos os dados referentes aos produtos da encomenda");
                }
            }
            for (int i = 0; i < produtosEncomenda.Items.Count; i++)
            {
                ProdutoPersonalizado prod = lista.ElementAt(i);
                if (!dataHandler.checkIfProdutoPersonalizadoExists(prod))
                {
                    throw new Exception("O produto especificado na linha " + i + " não existe está registado na base de dados. \nSe pretende registar esse produto por favor dirija-se á tab de produção.");
                }
            }
        }
 public RegistarProdutoMateriais(DataHandler dataHandler, ProdutoPersonalizado prod, ListarMateriais listarMateriais, Boolean inserirEtiqueta)
 {
     InitializeComponent();
     this.dataHandler      = dataHandler;
     this.prod             = prod;
     this.listarMateriais  = listarMateriais;
     this.inserirEtiqueta  = inserirEtiqueta;
     materiaisSelecionados = new ObservableCollection <MaterialTextil>();
 }
 private void detalhesProdutoPersonalizado_Click(object sender, RoutedEventArgs e)
 {
     if (produtosPersonalizadosLista.SelectedItems.Count == 1)
     {
         ProdutoPersonalizado         prod     = (ProdutoPersonalizado)produtosPersonalizadosLista.SelectedItem;
         DetalhesProdutoPersonalizado detalhes = new DetalhesProdutoPersonalizado(dataHandler, (int)prod.ProdutoBase.Referencia, prod.Tamanho, (int)prod.ID);
         detalhes.Show();
     }
 }
 private void produtos_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (produtos.SelectedItems.Count == 1 && Utilizador.loggedUser.TiposUser.Contains("Gestor de Produção"))
     {
         ProdutoPersonalizado         prod   = (ProdutoPersonalizado)produtos.SelectedItem;
         DetalhesProdutoPersonalizado window = new DetalhesProdutoPersonalizado(dataHandler, (int)prod.ProdutoBase.Referencia, prod.Tamanho, (int)prod.ID);
         window.Show();
     }
 }
예제 #6
0
        private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ProdutoPersonalizado produtoSelecionado = ((ProdutoPersonalizado)produtosPers.SelectedItem);

            if (produtoSelecionado != null)
            {
                DetalhesProdutoPersonalizado window = new DetalhesProdutoPersonalizado(dataHandler, (int)produtoSelecionado.ProdutoBase.Referencia, produtoSelecionado.Tamanho, (int)produtoSelecionado.ID);
                window.Show();
            }
        }
예제 #7
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ProdutoPersonalizado prod = new ProdutoPersonalizado();

            prod.Quantidade = 1;
            List <ProdutoPersonalizado> someVar = ((IEnumerable <ProdutoPersonalizado>) this.produtosEncomenda.ItemsSource).ToList();

            someVar.Add(prod);
            produtosEncomenda.ItemsSource = someVar;
        }
        public void fillNotifications()
        {
            double lucroMes           = dataHandler.getSaldoDesteMes();
            double dinheiroGasto      = dataHandler.getDinheiroGastoMes();
            double dinheiroGerado     = dataHandler.getDinheiroGeradoMes();
            int    encomendasMes      = dataHandler.getEncomendasDesteMes();
            int    nProdutosDesteMes  = dataHandler.getNProdutosVendidosMes();
            ProdutoPersonalizado prod = dataHandler.getProdutoMaisVendidoMes();

            nEncomendasPrevistas.Content = "Existem " + encomendasMes + " encomendas para serem entregues este mês.";
            nProdutosMes.Content         = "Neste mês foram vendidos até ao momento " + nProdutosDesteMes + " produtos";
            if (prod.ProdutoBase.Referencia != 0)
            {
                produtosMaisVendidoMes.Content = "O tipo de produto mais vendido deste mês foi: " + prod.ProdutoBase.Nome + " (Ref:" + prod.ProdutoBase.Referencia + ", Qtd:" + prod.Quantidade + ")";
            }
        }
 public DetalhesProdutoPersonalizado(DataHandler dataHandler, int referencia, string tamanho, int id)
 {
     InitializeComponent();
     this.dataHandler        = dataHandler;
     prod                    = new ProdutoPersonalizado();
     prod                    = dataHandler.getProdutoPersonalizadoFromDB(referencia, tamanho, id);
     refProduto.Text         = prod.ProdutoBase.Referencia.ToString();
     tamanhoProduto.Text     = prod.Tamanho;
     corProduto.Content      = prod.Cor;
     corProduto.Background   = new SolidColorBrush((Color)ColorConverter.ConvertFromString(prod.Cor));
     versaoProduto.Text      = prod.ID.ToString();
     precoProduto.Text       = prod.Preco.ToString();
     unidadesProduto.Text    = prod.UnidadesStock.ToString();
     nEtiqueta.Text          = prod.Etiqueta.Numero.ToString();
     normasEtiqueta.Text     = prod.Etiqueta.Normas.ToString();
     paisEtiqueta.Text       = prod.Etiqueta.PaisFabrico.ToString();
     composicaoEtiqueta.Text = prod.Etiqueta.Composicao.ToString();
     materias.ItemsSource    = dataHandler.getMateriaisFromProdutoPersonalizado(prod);
 }
예제 #10
0
        private void confirmar_Click(object sender, RoutedEventArgs e)
        {
            //verificar se um tamanho foi selecionado
            if (cbTamanho.SelectedIndex <= -1)
            {
                Xceed.Wpf.Toolkit.MessageBox.Show("Por favor, selecione o tamanho a atribuir ao produto!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            //verificar se uma cor foi selecionada
            if (txtCor.SelectedColorText == "")
            {
                Xceed.Wpf.Toolkit.MessageBox.Show("Por favor, selecione uma cor a atribuir ao produto!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (txtPreço.Text == "")
            {
                Xceed.Wpf.Toolkit.MessageBox.Show("Por favor, indique o preço a atribuir ao produto!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (Convert.ToDouble(txtPreço.Text) <= 0)
            {
                Xceed.Wpf.Toolkit.MessageBox.Show("O preço do produto deve ser maior que 0!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (rdEtiquetaExis.IsChecked == false && rdEtiquetaNova.IsChecked == false)
            {
                Xceed.Wpf.Toolkit.MessageBox.Show("Por favor, adicione uma etiqueta existente ao produto, ou crie uma nova!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            //validar os formularios de preenchimento de uma etiqueta nova
            if (rdEtiquetaNova.IsChecked == true)
            {
                if (txtNormas.Text.Length == 0 || txtComp.Text.Length == 0 || txtPais.Text.Length == 0)
                {
                    Xceed.Wpf.Toolkit.MessageBox.Show("Por favor, preencha todos os campos relativos à criação de nova etiqueta!", "", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (txtNormas.Text.Length > 100)
                {
                    Xceed.Wpf.Toolkit.MessageBox.Show("A especificação das normas é demasiado longa! Indique apenas o essencial.", "", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (txtComp.Text.Length > 100)
                {
                    Xceed.Wpf.Toolkit.MessageBox.Show("A especificação da composição da etiqueta é demasiado longa! Indique apenas o essencial.", "", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (txtPais.Text.Length > 20)
                {
                    Xceed.Wpf.Toolkit.MessageBox.Show("O nome do País especificado é demasiado longo! Use acrónimos ou abreviações.", "", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }

            ProdutoPersonalizado prodPers = new ProdutoPersonalizado();
            Boolean inserirEtiqueta       = true;

            try
            {
                ComboBoxItem cbi = (ComboBoxItem)cbTamanho.SelectedItem;
                prodPers.Tamanho = cbi.Content.ToString();

                prodPers.Cor = txtCor.SelectedColorText;
                Console.WriteLine(cbi.Content.ToString());
                prodPers.Preco            = Convert.ToDouble(txtPreço.Text);
                prodPers.ProdutoBase      = new ProdutoBase();
                prodPers.ProdutoBase      = (ProdutoBase)cbProdBase.SelectedItem;
                prodPers.MateriaisTexteis = new ObservableCollection <MaterialTextil>();
                prodPers.Etiqueta         = new Etiqueta();
                if (rdEtiquetaExis.IsChecked == true)
                {
                    prodPers.Etiqueta = (Etiqueta)cbEtiqueta.SelectedItem;
                    inserirEtiqueta   = false;
                }
                else if (rdEtiquetaNova.IsChecked == true)
                {
                    prodPers.Etiqueta.Normas      = txtNormas.Text;
                    prodPers.Etiqueta.Composicao  = txtComp.Text;
                    prodPers.Etiqueta.PaisFabrico = txtPais.Text;
                    inserirEtiqueta = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            RegistarProdutoMateriais page = new RegistarProdutoMateriais(dataHandler, prodPers, listaMateriais, inserirEtiqueta);

            this.NavigationService.Navigate(page);
        }