예제 #1
0
        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());
            }
        }