private void SincronizaCategorias() { try { migrationTable = migrationTableController.SelectOne(4); migrationFields = migrationFieldController.SelectByTableId(migrationTable.MigrationTableId); Sql = "SELECT "; foreach (var f in migrationFields) { if (migrationFields.Last() == f) { Sql += f.Expresion + " FROM " + migrationTable.Tabla; } else { Sql += f.Expresion + " , "; } } Sql += " " + migrationTable.Condicion; GetDataTable(Sql); categoria = null; categorias = categoriaController.SelectAll(); foreach (DataRow row in dataTable.Rows) { Ambiente.S1 = row["clave"].ToString().Trim().ToUpper(); Ambiente.S2 = row["descrip"].ToString().Trim().ToUpper(); categoria = categorias.FirstOrDefault(x => x.CategoriaId.ToUpper().Equals(Ambiente.S1)); if (categoria == null) { categoria = new Categoria(); categoria.CategoriaId = Ambiente.S1; categoria.Nombre = Ambiente.S2; categoria.IsDeleted = false; categoriaController.InsertOne(categoria); } else { categoria.Nombre = Ambiente.S2; categoria.IsDeleted = false; categoriaController.Update(categoria); } } Ambiente.Mensaje("Proceso concluido"); } catch (Exception ex) { Ambiente.Mensaje(ex.ToString()); } }