private static DynamicParameters CriaCromo(IDbConnection connection, PaginaModelo pagina, CromoModelo cromo) { DynamicParameters p = new DynamicParameters(); p.Add("@Numero", cromo.Numero); p.Add("@Descricao", cromo.Descricao); p.Add("@Quantidade", cromo.Quantidade); p.Add("@IdPagina", pagina.Id); p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output); connection.Execute("dbo.spCriaCromo", p, commandType: CommandType.StoredProcedure); cromo.Id = p.Get <int>("@Id"); return(p); }
private void ButtonAceitarPaginas_Click(object sender, EventArgs e) { int quantidade = SomatorioCromosPaginas(); CadernetaModelo caderneta = (CadernetaModelo)ComboBoxCadernetas.SelectedItem; PaginaModelo novaPagina; CromoModelo novoCromo; if (!int.TryParse(TextQuantidade.Text, out int quantidadeText)) { MessageBox.Show("Quantidade de cromos invalida!"); } else if (quantidade == quantidadeText) { LigaGrid(DataGridViewPaginas, false); LigaButtonsPaginas(false); cromosCadernetaSelecionada = null; cromosCadernetaSelecionada = new List <CromoModelo>(); LigaGrid(DataGridViewCromos, true); LigaButtonsCromos(true); int cromosTotal = 1; int paginas = DataGridViewPaginas.Rows.Count - 1; for (int p = 0; p < paginas; p++) { string novaPaginaNome = DataGridViewPaginas.Rows[p].Cells["Nome"].Value.ToString(); novaPagina = new PaginaModelo(nome: novaPaginaNome, idCaderneta: caderneta.Id); caderneta.Paginas.Add(novaPagina); int cromos = Convert.ToInt32(DataGridViewPaginas.Rows[p].Cells["QuantidadeCromos"].Value); for (int c = 0; c < cromos; c++) { string novoCromoNumero = (cromosTotal++).ToString(); string novoCromoDescricao = ""; novoCromo = new CromoModelo(numero: novoCromoNumero, descricao: novoCromoDescricao, idPagina: novaPagina.Id); caderneta.Paginas[p].Cromos.Add(novoCromo); cromosCadernetaSelecionada.Add(novoCromo); } } //DataGridViewCromos.DataSource = null; DataGridViewCromos.DataSource = cromosCadernetaSelecionada; DataGridViewCromos.Refresh(); ToolStripLabelNovaCaderneta.Text = "Criação da Caderneta terminada."; ToolStripNovaCaderneta.Update(); } else { MessageBox.Show("Erro: Quantidade errada de cromos. O total de cromos tem de ser igual à soma dos cromo das paginas."); } }
private static DynamicParameters CriaPagina(CadernetaModelo caderneta, IDbConnection connection, PaginaModelo pagina) { var p = new DynamicParameters(); p.Add("@Nome", pagina.Nome); p.Add("@IdCaderneta", caderneta.Id); p.Add("@Id", 0, dbType: DbType.Int32, direction: ParameterDirection.Output); connection.Execute("dbo.spCriaPagina", p, commandType: CommandType.StoredProcedure); pagina.Id = p.Get <int>("@Id"); return(p); }