public override void Call() { Progress.Caption = "Simplificando regiones..."; var ci = context.Data.Session.Query <ClippingRegionItem>() .ToList(); Progress.Total = ci.Count; var session = medea.context.Data.Session; int i = 1; foreach (var item in ci) { IGeometry geo = session.GetGeometry <ClippingRegionItem>(item.Id.Value, x => x.Geometry); i++; item.GeometryR1 = (Geometry)Simplifications.Simplify(geo, QualityEnum.High); if (item.GeometryR1.Coordinates.Length == 0) { item.GeometryR1 = (Geometry)geo; } string sql = "update clipping_region_item set " + "cli_geometry_r1 = " + InsertGenerator.GetValueEscaped(item.GeometryR1) + " where cli_id = " + item.Id.Value; try { session.SqlActions.ExecuteNonQuery(sql); } catch (Exception e) { Errors.Add("falló: " + item.Id.Value + " - " + e.ToString()); } Progress.Increment(); } }
public void CallDirect() { Progress.Caption = "Simplificando geografías..."; var ci = context.Data.Session.Query <GeographyItem>() .ToList(); Progress.Total = ci.Count; var session = medea.context.Data.Session; string cad = ""; int i = 0; foreach (var item in ci) { i++; IGeometry geo = session.GetGeometry <GeographyItem>(item.Id.Value, x => x.Geometry); Simplifications.FillSimplifiedGeometries((Geometry)geo, item); string sql = "update geography_item set " + "gei_geometry_r1 = " + InsertGenerator.GetValueEscaped(item.GeometryR1) + ", gei_geometry_r2 = " + InsertGenerator.GetValueEscaped(item.GeometryR2) + ", gei_geometry_r3 = " + InsertGenerator.GetValueEscaped(item.GeometryR3) + ", gei_geometry_r4 = " + InsertGenerator.GetValueEscaped(item.GeometryR4) + ", gei_geometry_r5 = " + InsertGenerator.GetValueEscaped(item.GeometryR5) + ", gei_geometry_r6 = " + InsertGenerator.GetValueEscaped(item.GeometryR6) + " where gei_id = " + item.Id.Value + ";"; cad = cad + sql; try { if (i % 20 == 0) { session.SqlActions.ExecuteNonQuery(cad); cad = ""; } } catch (Exception e) { Errors.Add("falló: " + item.Id.Value + " - " + e.ToString()); } Progress.Increment(); } session.SqlActions.ExecuteNonQuery(cad); cad = ""; }