コード例 #1
0
 public void Commit()
 {
     try
     {
         _context.SaveChanges();
         if (hasTransaction)
         {
             _context.Database.CurrentTransaction.Commit();
         }
         hasTransaction = false;
     }
     catch (DbUpdateConcurrencyException concEx)
     {
         BStatus.Alert("A operação foi completada com erros por que o registro foi excluido por outro utilizador.");
     }
     catch (System.Data.Entity.Validation.DbEntityValidationException valEx)
     {
         BStatus.ErrorOnSave(_context.Set <T>().GetType().Name, valEx.EntityValidationErrors.First().ValidationErrors.First().ErrorMessage);
         throw;
     }
     catch (Exception ex)
     {
         BStatus.ErrorOnSave(_context.Set <T>().GetType().Name, ex.Message);
         throw;
     }
 }
コード例 #2
0
        private void SelecionarTipoMov()
        {
            PesquisarTmv pt = new PesquisarTmv();

            pt.ShowDialog();

            if (pt.Selecionado.Id == 0)
            {
                MessageBox.Show("O tipo de movimento deve ser selecionado antes de iniciar a operação!", "Atenção", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                SelecionarTipoMov();
            }
            else
            {
                txCod_tipo.Text  = pt.Selecionado.Id.ToString();
                txNome_tipo.Text = pt.Selecionado.Descricao;

                if (pt.Selecionado.Cfop == 0)
                {
                    BStatus.Alert("O tipo de movimento selecionado não possui CFOP. Não será permitido emitir NFC-e.");
                }
                else
                {
                    BStatus.Success("Tipo de movimento OK");
                }

                btNFCe.IsEnabled = (pt.Selecionado.Cfop != 0);
                txCfop.Text      = pt.Selecionado.Cfop.ToString();

                lbCliente_fornecedor.Content = (pt.Selecionado.Utiliza_fornecedor
                     ? "Fornecedor"
                     : "Cliente");

                Tipo_movimento = pt.Selecionado;
            }
        }
コード例 #3
0
        protected override Behaviour.BStatus Update()
        {
            //Update all child nodes and retreive their status
            for (int i = _startIdx; i < _behaviours.Count; i++)
            {
                BStatus status = _behaviours[i].Tick();

                // If cild node is running memorize child node.
                if (status == BStatus.BH_RUNNING)
                {
                    _startIdx = i;
                }
                else
                {
                    _startIdx = 0;
                }

                //If child nodes fails or is running the sequence does the same
                if (status != BStatus.BH_SUCCESS)
                {
                    return(status);
                }

                //If all childs succeeded the sequence succeeds as well
                if (i == _behaviours.Count - 1)
                {
                    return(BStatus.BH_SUCCESS);
                }
            }

            //Something went wrong
            Debug.Assert(false, "Unexpected loop exit");
            return(BStatus.BH_INVALID);
        }
コード例 #4
0
        private void btSalvar_Click(object sender, RoutedEventArgs e)
        {
            if (int.Parse(txCod_usuario.Text) == 0)
            {
                BStatus.Alert("Informe o usuário antes de aplicar as permissões");
                return;
            }

            foreach (var item in dataGrid.Items)
            {
                PermissoesAdapter    pa = (item as PermissoesAdapter);
                PermissoesController pc = new PermissoesController();

                Permissoes permissoes = (pa.Permissao_id == 0
                            ? new Permissoes()
                            : pc.Find(pa.Permissao_id));

                permissoes.Id         = pa.Permissao_id;
                permissoes.Usuario_id = int.Parse(txCod_usuario.Text);
                permissoes.Rotina_id  = pa.Rotina_id;
                permissoes.Acesso     = pa.Acesso;
                permissoes.Salvar     = pa.Salvar;
                permissoes.Excluir    = pa.Excluir;

                if (!pc.Save(permissoes))
                {
                    break;
                }

                BStatus.Success($"Permissões aplicadas com sucesso!");
            }
        }
コード例 #5
0
        public MainWindow(Iniciando ini)
        {
            varejo_config db = new varejo_config();

            if (!db.Database.Exists())
            {
                PreparacaoSistema s = new PreparacaoSistema();
                s.ShowDialog();
            }

            if (!Directory.Exists(@"C:\Temp\Curae"))
            {
                Directory.CreateDirectory(@"C:\Temp\Curae");
            }

            foreach (string filename in Directory.GetFiles(@"C:\Temp\Curae\"))
            {
                File.Delete(filename);
            }

            InitializeComponent();
            dataGrid.AplicarPadroes();
            BStatus.Attach(1, lbStatus, image);

            txCod_rotina.ToNumeric();
            txCod_rotina.Focus();
            this.Title = "Curae - Mini ERP";

            Login l = new Login();

            l.Visibility = Visibility.Hidden;
            l.Start(ini);
            l.Show();
            l.EfetuouLogin += L_EfetuouLogin;
        }
コード例 #6
0
        protected override BStatus Update()
        {
            BStatus status = _child.Tick();

            status = Filter(status);

            return(status);
        }
コード例 #7
0
        private void BuscarProduto(bool abrirPesquisa)
        {
            Produtos produto;

            if (abrirPesquisa)
            {
                PesquisarProduto pp = new PesquisarProduto();
                pp.ShowDialog();

                produto        = pp.Selecionado;
                txProduto.Text = produto.Id.ToString();
            }
            else
            {
                produto = new ProdutosController().Get(txProduto.Text).Produtos;
            }

            if (produto == null)
            {
                BStatus.Alert("Produto não encontrado.");
                txProduto.Text = string.Empty;
                return;
            }
            else
            {
                BStatus.Success("Produto encontrado!");
            }

            if (Tipo_movimento.Utiliza_fornecedor)
            {
                if (produto.Produtos_fornecedores.Where(pf => pf.Fornecedor_id == int.Parse(txCod_cliente_fornecedor.Text)).Count() == 0)
                {
                    BStatus.Alert("O produto selecionado não pode ser adicionado a este movimento, pois ele não está relacionado a este fornecedor.");
                    return;
                }

                if (Tipo_movimento.Utiliza_fornecedor && Tipo_movimento.Movimentacao_itens == (int)Tipo_movimentacao.ENTRADA)
                {
                    MostraFatorConv(produto.Produtos_fornecedores.First(pf => pf.Fornecedor_id == int.Parse(txCod_cliente_fornecedor.Text)));
                }
                else
                {
                    lbFatorConversao.Visibility = Visibility.Hidden;
                }
            }

            lbDescricao_produto.Content = produto.Descricao;
            txValor_unit.Text           = (Tipo_movimento.Utiliza_fornecedor
                 ? produto.Produtos_fornecedores.First(pf => pf.Fornecedor_id == int.Parse(txCod_cliente_fornecedor.Text)).Preco_custo.ToString("N2")
                 : produto.Valor_unit.ToString("N2"));
            txQuant.Text       = "1";
            txValor_final.Text = txValor_unit.Text;
            txQuant.Focus();
            txQuant.SelectAll();
        }
コード例 #8
0
 public void ForceRemove(T entity)
 {
     try
     {
         _context.Set <T>().Attach(entity);
         _context.Entry <T>(entity).State = EntityState.Deleted;
     }
     catch (Exception ex)
     {
         BStatus.ErrorOnRemove(entity.GetType().Name, ex.Message);
         throw;
     }
 }
コード例 #9
0
        public T Find(object id)
        {
            try
            {
                return(_context.Set <T>().Find(id));
            }
            catch (Exception ex)
            {
                BStatus.ErrorOnFind(_context.Set <T>().GetType().Name, ex.Message);
            }

            return(null);
        }
コード例 #10
0
        public T First(Func <T, bool> query)
        {
            try
            {
                return(_context.Set <T>().FirstOrDefault(query));
            }
            catch (Exception ex)
            {
                BStatus.ErrorOnFind(_context.Set <T>().GetType().Name, ex.Message);
            }

            return(null);
        }
コード例 #11
0
        protected override BStatus Filter(BStatus initialState)
        {
            if (initialState == BStatus.BH_SUCCESS)
            {
                return(BStatus.BH_FAILURE);
            }
            if (initialState == BStatus.BH_FAILURE)
            {
                return(BStatus.BH_SUCCESS);
            }

            return(initialState);
        }
コード例 #12
0
        //Helper function which makes sure to call all functions in correct order
        public BStatus Tick()
        {
            //Update the behavior and get the new status
            _status = Update();

            if (_status != BStatus.BH_RUNNING)
            {
                //If it finished running pass it on to OnTerminate
                OnTerminate(_status);
            }

            return(_status);
        }
コード例 #13
0
 public void Remove(T entity)
 {
     try
     {
         _context.Set <T>().Remove(entity);
     }
     catch (System.Data.Entity.Validation.DbEntityValidationException valEx)
     {
         BStatus.ErrorOnSave(_context.Set <T>().GetType().Name, valEx.Message);
         throw;
     }
     catch (Exception ex)
     {
         BStatus.ErrorOnRemove(entity.GetType().Name, ex.Message);
         throw;
     }
 }
コード例 #14
0
        public IQueryable <T> Where(Expression <Func <T, bool> > query)
        {
            try
            {
                IQueryable <T> result = (antiTrackingEnabled
                    ? _context.Set <T>().Where(query).AsNoTracking()
                    : _context.Set <T>().Where(query));

                return(result);
            }
            catch (Exception ex)
            {
                BStatus.ErrorOnList(_context.Set <T>().GetType().Name, ex.Message);
            }

            return(null);
        }
コード例 #15
0
 public void Update(T entity)
 {
     try
     {
         _context.Entry <T>(entity).State = EntityState.Modified;
     }
     catch (System.Data.Entity.Validation.DbEntityValidationException valEx)
     {
         BStatus.ErrorOnSave(_context.Set <T>().GetType().Name, valEx.Message);
         throw;
     }
     catch (Exception ex)
     {
         BStatus.ErrorOnSave(entity.GetType().Name, ex.Message);
         throw;
     }
 }
コード例 #16
0
        private void Window_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (initializado)
            {
                return;
            }
            enabledChangeCb = true;
            LoadComboBox();

            BStatus.Attach(3, lbStatus, image);

            dataGrid.AplicarPadroes();
            dataGrid.FontSize                 = 15;
            dataGrid.MinRowHeight             = 20;
            dataGrid.AlternatingRowBackground = Brushes.Lavender;

            initializado = true;
            SelecionarConta();
        }
コード例 #17
0
        public LancamentoMovimentos()
        {
            InitializeComponent();

            dataGrid.AplicarPadroes();
            BStatus.Attach(2, lbStatus, image);
            Grid_Mov.IsEnabled = false;

            Desconto  = 0;
            Acrescimo = 0;
            txValor_final.ToMoney();
            txTotal_prod.ToMoney();
            txValor_unit.ToMoney();
            txDesconto.ToMoney();
            txAcrescimo.ToMoney();
            txTotal.ToMoney();
            lbDescricao_produto.Content = string.Empty;

            lbFatorConversao.Visibility = Visibility.Hidden;
        }
コード例 #18
0
        private void AbreMovimento()
        {
            BStatus.Success("Abrindo movimento...");

            Movimento_Controller = new MovimentosController();
            SelecionarTipoMov();
            SelecionarCliente_Fornecedor();

            if (!Tipo_movimento.Utiliza_fornecedor)
            {
                SelecionarVendedor();
            }

            Movimento_Controller.AbreMovimento(int.Parse(txCod_cliente_fornecedor.Text), int.Parse(txCod_tipo.Text));
            Grid_Mov.IsEnabled = true;

            txProduto.Focus();
            dataGrid.ItemsSource = Movimento_Controller.Itens_movimento;
            BStatus.Success("Movimento iniciado!");
        }
コード例 #19
0
        protected override Behaviour.BStatus Update()
        {
            //Update all child nodes and retreive their status
            for (int i = 0; i < _behaviours.Count; i++)
            {
                BStatus status = _behaviours[i].Tick();

                //If child nodes succeeds or is running the selector does the same
                if (status != BStatus.BH_FAILURE)
                {
                    return(status);
                }

                //If all childs fail the selector fails as well
                if (i == _behaviours.Count - 1)
                {
                    return(BStatus.BH_FAILURE);
                }
            }

            //Something went wrong
            Debug.Assert(false, "Unexpected loop exit");
            return(BStatus.BH_INVALID);
        }
コード例 #20
0
 protected abstract BStatus Filter(BStatus initialState);
コード例 #21
0
 protected override BStatus Filter(BStatus initialState)
 {
     return(BStatus.BH_SUCCESS);
 }
コード例 #22
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     BStatus.Dettach(2);
 }
コード例 #23
0
 public Behaviour()
 {
     _status = BStatus.BH_INVALID;
 }
コード例 #24
0
 //Called after behavior has finished running.
 protected abstract void OnTerminate(BStatus status);
コード例 #25
0
 protected override void OnTerminate(BStatus status)
 {
 }