unit fplataforma;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, ZAbstractRODataset, ZDataset,
  ZAbstractConnection, ZConnection, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls,
  Vcl.StdCtrls;

type
  Tplataforma = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    qalumnoslocal: TZReadOnlyQuery;
    qalumnosweb: TZReadOnlyQuery;
    qalumnoswebmeta: TZReadOnlyQuery;
    Panel3: TPanel;
    Panel4: TPanel;
    DBGrid2: TDBGrid;
    qalumnoswebmetaumeta_id: TLargeintField;
    qalumnoswebmetauser_id: TLargeintField;
    qalumnoswebmetameta_key: TWideStringField;
    qalumnoswebmetameta_value: TWideMemoField;
    dsqalumnosweb: TDataSource;
    qalumnoslocalid: TIntegerField;
    qalumnoslocalnombre_completo: TWideStringField;
    qalumnoslocalcorreo_alumno: TWideStringField;
    dsqalumnoslocal: TDataSource;
    qalumnoswebid: TLargeintField;
    qalumnoswebuser_login: TWideStringField;
    qalumnoswebuser_nicename: TWideStringField;
    qalumnoswebuser_email: TWideStringField;
    qalumnoswebuser_registered: TDateTimeField;
    qalumnoswebdisplay_name: TWideStringField;
    qalumnoswebuser_pass: TWideStringField;
    qalumnoswebuser_url: TWideStringField;
    qalumnoswebuser_activation_key: TWideStringField;
    qalumnoswebuser_status: TIntegerField;
    Button1: TButton;
    qinsertarweb: TZReadOnlyQuery;
    qactualizarweb: TZReadOnlyQuery;
    qlocalizar: TZReadOnlyQuery;
    qinsertarmetaweb: TZReadOnlyQuery;
    qalumnoslocalnombre: TWideStringField;
    qalumnoslocalapellidos: TWideStringField;
    qcorregircorreos: TZReadOnlyQuery;
    qalumnoslocalidcursoplataforma: TIntegerField;
    qalumnoslocalidg: TIntegerField;
    qinsertarcursoweb: TZReadOnlyQuery;
    qlocalizarcurso: TZReadOnlyQuery;
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  plataforma: Tplataforma;

implementation

{$R *.dfm}
uses principal;
procedure Tplataforma.Button1Click(Sender: TObject);
begin
  while not qalumnoslocal.Eof do
  begin
    if qalumnoslocalcorreo_alumno.AsString<>'' then
    begin
      qlocalizar.Close;
      qlocalizar.Prepare;
      qlocalizar.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
      qlocalizar.Open;
      if qlocalizar.RecordCount=0 then
      begin
        qinsertarweb.Prepare;
        qinsertarweb.ParamByName('VID').asinteger:=qalumnoslocalid.AsInteger;
        qinsertarweb.ParamByName('VLOGIN').asstring:=qalumnoslocalcorreo_alumno.AsString;
        qinsertarweb.ParamByName('VPASS').asstring:='';
        qinsertarweb.ParamByName('VNICENAME').asstring:=qalumnoslocalnombre_completo.asstring;
        qinsertarweb.ParamByName('VEMAIL').asstring:=qalumnoslocalcorreo_alumno.AsString;
        qinsertarweb.ParamByName('VURL').asstring:='';
        qinsertarweb.ParamByName('VREGISTERED').asdate:=date();
        qinsertarweb.ParamByName('VACTIVATIONKEY').asstring:='';
        qinsertarweb.ParamByName('VSTATUS').asinteger:=0;
        qinsertarweb.ParamByName('VDISPLAYNAME').asstring:=qalumnoslocalnombre_completo.AsString;
        qinsertarweb.ExecSQL;
        qinsertarmetaweb.Prepare;
        qinsertarmetaweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qinsertarmetaweb.ParamByName('VMETAKEY').Asstring:='nickname';
        qinsertarmetaweb.ParamByName('VMETAVALUE').Asstring:=qalumnoslocalnombre.Asstring;
        qinsertarmetaweb.ExecSQL;
        qinsertarmetaweb.Prepare;
        qinsertarmetaweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qinsertarmetaweb.ParamByName('VMETAKEY').Asstring:='first_name';
        qinsertarmetaweb.ParamByName('VMETAVALUE').Asstring:=qalumnoslocalnombre.Asstring;
        qinsertarmetaweb.ExecSQL;
        qinsertarmetaweb.Prepare;
        qinsertarmetaweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qinsertarmetaweb.ParamByName('VMETAKEY').Asstring:='last_name';
        qinsertarmetaweb.ParamByName('VMETAVALUE').Asstring:=qalumnoslocalapellidos.Asstring;
        qinsertarmetaweb.ExecSQL;
        qinsertarmetaweb.Prepare;
        qinsertarmetaweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qinsertarmetaweb.ParamByName('VMETAKEY').Asstring:='B2NNVfY_capabilities';
        qinsertarmetaweb.ParamByName('VMETAVALUE').Asstring:='a:1:{s:10:"subscriber";b:1;}';
        qinsertarmetaweb.ExecSQL;
        qinsertarmetaweb.Prepare;
        qinsertarmetaweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qinsertarmetaweb.ParamByName('VMETAKEY').Asstring:='B2NNVfY_user_level';
        qinsertarmetaweb.ParamByName('VMETAVALUE').Asstring:='0';
        qinsertarmetaweb.ExecSQL;
        qinsertarmetaweb.Prepare;
        qinsertarmetaweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qinsertarmetaweb.ParamByName('VMETAKEY').Asstring:='baba_user_locked';
        qinsertarmetaweb.ParamByName('VMETAVALUE').Asstring:='yes';
        qinsertarmetaweb.ExecSQL;

      end;
      if qalumnoslocalidcursoplataforma.AsString<>'' then
      begin
        qlocalizarcurso.Close;
        qlocalizarcurso.Prepare;
        qlocalizarcurso.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
        qlocalizarcurso.ParamByName('VCURSO').AsInteger:=qalumnoslocalidcursoplataforma.AsInteger;
        qlocalizarcurso.Open;
        if qlocalizarcurso.RecordCount=0 then
        begin
          qinsertarcursoweb.Prepare;
          qinsertarcursoweb.ParamByName('VID').AsInteger:=qalumnoslocalid.AsInteger;
          qinsertarcursoweb.ParamByName('VCURSO').Asinteger:=qalumnoslocalidcursoplataforma.AsInteger;
          qinsertarcursoweb.ExecSQL;
        end;
      end;
    end;
    qalumnoslocal.Next;
  end;
  qalumnosweb.Refresh;
end;

procedure Tplataforma.FormShow(Sender: TObject);
begin
  qcorregircorreos.ExecSQL;
  qalumnoslocal.Open;
  qalumnosweb.Open;
end;

end.
