public static GrammarDivision GetGrammaticalCategoryFromGrammar(string grammarId) { GrammarDivision res = new GrammarDivision(); using (OleDbConnection connection = new OleDbConnection(connectionString)) { connection.Open(); OleDbCommand query = new OleDbCommand("SELECT Grammar, Division, group as cat_id FROM Grammars g INNER JOIN Divisions_Grammar dg ON dg.group = g.Division_Grammar WHERE g.Grammar = ?", connection); OleDbParameter param_grammar = query.CreateParameter(); param_grammar.Value = grammarId; query.Parameters.Add(param_grammar); OleDbDataReader reader = query.ExecuteReader(); if (reader.Read()) { res.Category_id = Convert.ToInt32(reader["cat_id"]); res.Category_name = reader["Division"].ToString(); } } return(res); }
public static Grammar[] GetAllGrammars_v2() { ArrayList grammars = new ArrayList(); using (OleDbConnection connection = new OleDbConnection(connectionString)) { connection.Open(); OleDbCommand storedProcedure = new OleDbCommand("GetAllGrammars_incomplete", connection); storedProcedure.CommandType = CommandType.StoredProcedure; OleDbDataReader reader = storedProcedure.ExecuteReader(); while (reader.Read()) { //Tengo que crear un autor y un libro de gramatica para irlos rellenando poco a poco. Author grammarAuthor = new Author(); /** * En el caso del autor rellenamos todos los campos menos: * - city_name -> Se puede rellenar luego teniendo la lista con las ciudades * - county_name -> Se puede rellenar luego teniendo la lista con las provincias * - country_name -> Se puede rellenar luego teniendo la lista con los paises * * - occupations -> Se puede rellenar luego teniendo una lista con todos los oficios de los autores * */ grammarAuthor.Author_id = Convert.ToInt32(reader["authors.Author_Id"]); grammarAuthor.Name = reader["author_name"].ToString(); grammarAuthor.Gender = reader["authors.gender_info"].ToString(); grammarAuthor.Country_id = Convert.ToInt32(reader["authors.country_id"]); grammarAuthor.County_id = Convert.ToInt32(reader["authors.county_id"]); grammarAuthor.City_id = Convert.ToInt32(reader["authors.city_id"]); grammarAuthor.Biographical_details = reader["bio"].ToString(); Grammar grammar = new Grammar(); /** * En el caso del libro de gramática rellenamos todos los campos menos: * # GrammarImprint * - city_name -> Se puede rellenar luego teniendo la lista con las ciudades * - county_name -> Se puede rellenar luego teniendo la lista con las provincias * - country_name -> Se puede rellenar luego teniendo la lista con los paises * * - GrammarReferences -> Se puede rellenar luego teniendo una lista con todas las referencias de los libros * - GrammarLibraries -> Se puede rellenar luego teniendo una lista con las bibliotecas que tienen los libros * - GrammarSubsidiaryContents -> Se puede rellenar luego teniendo una lista con los contenidos que tienen los libros * * */ grammar.GrammarId = Convert.ToInt32(reader["Grammar"]); grammar.GrammarPublicationYear = reader["YearP"].ToString(); grammar.GrammarTitle = reader["Title"].ToString(); grammar.GrammarAuthor = grammarAuthor; grammar.GrammarFirstEdition = Convert.ToInt32(reader["Edition"]); Imprint grammarImprint = new Imprint(); grammarImprint.Grammar_id = grammar.GrammarId; grammarImprint.Country_id = Convert.ToInt32(reader["Grammars.country_id"]); grammarImprint.County_id = Convert.ToInt32(reader["Grammars.county_id"]); grammarImprint.City_id = Convert.ToInt32(reader["Grammars.city_id"]); grammarImprint.Printers = reader["Printers"].ToString(); grammarImprint.Booksellers = reader["BookSellers"].ToString(); grammarImprint.Price = reader["Price"].ToString(); grammarImprint.Description = reader["Physical_Description"].ToString(); grammar.GrammarImprint = grammarImprint; TypeOfWork grammarToW = new TypeOfWork(); grammarToW.Code = reader["Grammars.Type_Work"].ToString(); grammarToW.Type_description = reader["Description"].ToString(); grammar.GrammarTypeOfWork = grammarToW; GrammarDivision grammarDivision = new GrammarDivision(); grammarDivision.Category_id = Convert.ToInt32(reader["Group"]); grammarDivision.Category_name = reader["Division"].ToString(); grammar.GrammarDivision = grammarDivision; TargetAudience grammarAgeAudience = new TargetAudience(); grammarAgeAudience.AudienceCriteria = Convert.ToInt32(reader["age_id"]); grammarAgeAudience.AudienceName = reader["age_info"].ToString(); TargetAudience grammarGenderAudience = new TargetAudience(); grammarGenderAudience.AudienceCriteria = Convert.ToInt32(reader["gender_id"]); grammarGenderAudience.AudienceName = reader["audience_genders.gender_info"].ToString(); TargetAudience grammarInstructionAudience = new TargetAudience(); grammarInstructionAudience.AudienceCriteria = Convert.ToInt32(reader["instruction_id"]); grammarInstructionAudience.AudienceName = reader["instruction_info"].ToString(); TargetAudience grammarPurposeAudience = new TargetAudience(); grammarPurposeAudience.AudienceCriteria = Convert.ToInt32(reader["purpose_id"]); grammarPurposeAudience.AudienceName = reader["purpose_info"].ToString(); grammar.GrammarTargetAge = grammarAgeAudience; grammar.GrammarTargetGender = grammarGenderAudience; grammar.GrammarTargetInstruction = grammarInstructionAudience; grammar.GrammarTargetSP = grammarPurposeAudience; grammar.GrammarCommments = reader["Comments"].ToString(); grammars.Add(grammar); } } return((Grammar[])grammars.ToArray(typeof(Grammar))); }