예제 #1
0
        private void FillDetalhes()
        {
            Material mat = (Material)listMateriais.SelectedItem;

            if (mat == null)
            {
                return;
            }

            MaterialBLL bll = new MaterialBLL();

            mat = bll.Find(mat.Id);
            var movimentosEstoque = bll.GetMovimentosEstoque(mat.Id, txDataInicio.SelectedDate ?? DateTime.Now,
                                                             txDataFim.SelectedDate ?? DateTime.Now);

            gridDetalhes.Visibility      = Visibility.Visible;
            lbNomeMaterial.Content       = mat.Descricao;
            lbTotalEntradas.Content      = movimentosEstoque.Count(m => m.Tipo.Equals("Entrada")).ToString();
            lbTotalQuantEntradas.Content = $"{ movimentosEstoque.Where(m => m.Tipo.Equals("Entrada")).Select(m => m.Quant).Sum().ToString()} UN";
            lbTotalSaidas.Content        = movimentosEstoque.Count(m => m.Tipo.Equals("Saída")).ToString();
            lbTotalQuantSaidas.Content   = $"{ movimentosEstoque.Where(m => m.Tipo.Equals("Saída")).Select(m => m.Quant).Sum().ToString()} UN";
            lbEstoqueAtual.Content       = mat.Estoque.ToString();

            int mediaVendaPeriodo = mat.MediaDiariaMaterial(txDataInicio.SelectedDate ?? DateTime.Now,
                                                            txDataFim.SelectedDate ?? DateTime.Now);

            lbMediaVendaDiaria.Content = $"{mediaVendaPeriodo} UN";

            int diasRestantesEstoque = 0;

            try
            {
                diasRestantesEstoque = (mat.Estoque / mediaVendaPeriodo);
            }
            catch { }

            if (mediaVendaPeriodo == 0)
            {
                bannerDiasRestantes.Visibility = Visibility.Hidden;
            }
            else
            {
                bannerDiasRestantes.Visibility = Visibility.Visible;
            }

            lbDiasRestantes.Content = $"Restam {diasRestantesEstoque} dias de estoque para este material";
            if (diasRestantesEstoque <= 3)
            {
                bannerDiasRestantes.Background  = (Brush) new BrushConverter().ConvertFrom("#FFFFE0E0");
                bannerDiasRestantes.BorderBrush = (Brush) new BrushConverter().ConvertFrom("#FFFF7373");
                lbDiasRestantes.Foreground      = (Brush) new BrushConverter().ConvertFrom("Red");
            }
            else
            {
                bannerDiasRestantes.Background  = (Brush) new BrushConverter().ConvertFrom("#FFCAE7FF");
                bannerDiasRestantes.BorderBrush = (Brush) new BrushConverter().ConvertFrom("#FF006C67");
                lbDiasRestantes.Foreground      = (Brush) new BrushConverter().ConvertFrom("Black");
            }
        }
        private void btConfirmar_Click(object sender, RoutedEventArgs e)
        {
            if (int.Parse(txQuant.Text) <= 0)
            {
                MessageBox.Show("A quantidade deve ser superior a 0 (zero)",
                                "Atenção", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }

            var bll = new MaterialBLL();
            var mat = bll.Find(Material.Id);

            mat.Estoque = int.Parse(txQuant.Text);
            bll.Save(mat);

            Close();
        }
        private void btSalvar_Click(object sender, RoutedEventArgs e)
        {
            MaterialBLL bll = new MaterialBLL();

            Material mat = (IdAtual == 0
                ? new Material()
                : bll.Find(IdAtual));

            mat.Referencia = txReferencia.Text;
            mat.Descricao  = txDescricao.Text;
            mat.Preco      = decimal.Parse(txPreco.Text);
            mat.Inativo    = ckInativo.IsChecked.Value;
            bll.Save(mat);

            LimparCampos();

            Buscar();
        }
예제 #4
0
        private void btConfirmar_Click(object sender, RoutedEventArgs e)
        {
            Caixa          cx = new CaixaBLL().GetCaixaAberto();
            MovimentoCaixa mc = new MovimentoCaixa();

            mc.ServicoId      = ServicoId;
            mc.CaixaId        = cx.Id;
            mc.FormaPagamento = (int)comboBox.SelectedValue;
            mc.Valor          = decimal.Parse(txValorAdiantamento.Text);
            mc.Tipo           = (int)TipoMovCaixa.Entrada;
            mc.Obs            = $"Adiantamento de pagamento do serviço N° {ServicoId}";

            if (mc.FormaPagamento == -1)
            {
                MessageBox.Show("Selecione uma forma de pagamento",
                                "Atenção", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            MovimentoCaixaBLL bll = new MovimentoCaixaBLL();

            bll.Save(mc);

            if (FecharServico)
            {
                ServicoBLL servBLL = new ServicoBLL();
                var        serv    = servBLL.Find(ServicoId);
                serv.Finalizado = true;
                servBLL.Save(serv);

                List <MaterialServico> materiaisServ = serv.MaterialServico.ToList();

                foreach (MaterialServico m in materiaisServ)
                {
                    MaterialBLL matBll   = new MaterialBLL();
                    var         material = matBll.Find(m.MaterialId);
                    material.Estoque -= m.Quantidade;
                    matBll.Save(material);
                }
            }

            Confirmado = true;
            Close();
        }