public void SaveList(IGetFromAPI <Planet> getFrom) { string urlNext; using (var connection = new SqlConnection()) { connection.ConnectionString = ConfigurationManager.ConnectionStrings["StarWarsConnectionString"].ConnectionString; connection.Open(); do { List <Planet> planets = getFrom.GetListObjects(Url, out urlNext); List <DbCommand> commands = new List <DbCommand>(); foreach (var planet in planets) { var command = new SqlCommand { Connection = connection, CommandText = $"insert into planets(name,rotationPeriod,orbitalPeriod,diameter,climate,gravity,terrain,surfaceWater,populationPlanet) values(@name, @rotationPeriod,@orbitalPeriod,@diameter,@climate,@gravity, @terrain, @surfaceWater,@population)" }; command.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@name", planet.Name), new SqlParameter("@rotationPeriod", planet.RotationPeriod), new SqlParameter("@orbitalPeriod", planet.OrbitalPeriod), new SqlParameter("@diameter", planet.Diameter), new SqlParameter("@climate", planet.Climate), new SqlParameter("@gravity", planet.Gravity), new SqlParameter("@terrain", planet.Terrain), new SqlParameter("@surfaceWater", planet.Terrain), new SqlParameter("@population", planet.Population), }); commands.Add(command); Console.WriteLine("Creating the command..."); } Console.WriteLine("Creating transaction..."); ExecuteInTransaction(connection, commands); Console.WriteLine("Commiting transaction..."); Url = urlNext; } while (urlNext != string.Empty); } }
public void SaveList(IGetFromAPI <Person> getFrom) { string urlNext; using (var connection = new SqlConnection()) { connection.ConnectionString = ConfigurationManager.ConnectionStrings["StarWarsConnectionString"].ConnectionString; connection.Open(); do { List <Person> people = getFrom.GetListObjects(Url, out urlNext); List <DbCommand> commands = new List <DbCommand>(); foreach (var person in people) { var command = new SqlCommand { Connection = connection, CommandText = $"insert into people values (@name,@height,@mass,@hairColor,@skinColor,@eyeColor,@gender,@homeWorld,@url)" }; command.Parameters.AddRange(new SqlParameter[] { new SqlParameter("@name", person.Name), new SqlParameter("@height", person.Height), new SqlParameter("@mass", person.Mass), new SqlParameter("@hairColor", person.HairColor), new SqlParameter("@skinColor", person.SkinColor), new SqlParameter("@eyeColor", person.EyeColor), new SqlParameter("@gender", person.Gender), new SqlParameter("@homeworld", person.HomeworldId), new SqlParameter("@url", person.Url), }); commands.Add(command); Console.WriteLine("Creating the command..."); } ExecuteInTransaction(connection, commands); Url = urlNext; } while (urlNext != string.Empty); } }