예제 #1
0
 private static SqlParameter[] CriaParametros(CaixaVO c)
 {
     SqlParameter[] parametros = new SqlParameter[4];
     parametros[0] = new SqlParameter("id", c.Id);
     parametros[1] = new SqlParameter("empresaId", c.EmpresaId);
     parametros[2] = new SqlParameter("mes", c.Mes);
     parametros[3] = new SqlParameter("ano", c.Ano);
     return(parametros);
 }
예제 #2
0
        /// <summary>
        /// Insere o pedido e seus itens
        /// </summary>
        /// <param name="pedido"></param>
        public static int Insere(CaixaVO c)
        {
            //transações
            //https://msdn.microsoft.com/pt-br/library/system.transactions.transactionscope(v=vs.110).aspx

            using (var transacao = new System.Transactions.TransactionScope()) // início da transação
            {
                string sql      = "insert into caixa (empresaId, mes, ano) values (@empresaId, @mes, @ano)";
                int    ultimoId = MetodosBD.ExecutaSQL(sql, CriaParametros(c));

                foreach (CaixaDetalheVO item in c.DetalhesCaixa)
                {
                    item.CaixaId = ultimoId;
                    CaixaDetalheDAO.InsereCaixaDetalhe(item);
                }
                transacao.Complete(); // efetua o commit. Se der uma exception neste código, ou ele não passar por esta linha, será considerado rollback

                return(ultimoId);
            }
        }
예제 #3
0
        private void btnGravaPedido_Click(object sender, EventArgs e)
        {
            try
            {
                CaixaVO c = new CaixaVO();

                if (txtId.Text.Length > 0)
                {
                    c.Id = Convert.ToInt32(txtId.Text);
                }

                c.Mes           = cbMes.SelectedIndex + 1;
                c.Ano           = (int)edAno.Value;
                c.EmpresaId     = Convert.ToInt32(cbEmpresa.SelectedValue);
                c.DetalhesCaixa = detalhes.ToList();

                txtId.Text = CaixaDAO.Insere(c).ToString();
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);
            }
        }