« PutEntity (TSDataServiceProviderInfo) » : différence entre les versions

De Wiki1000
(Page créée avec « <source lang='delphi'>procedure putEntity(data:TitObject);</source> Cette fonction met à jour une ressource en effectuant un HTTP PUT de l'entité sur le Service SData. {|… »)
 
Aucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 14 : Ligne 14 :


<source lang="delphi">
<source lang="delphi">
var data:remoteEntity;
var prv:TSDataServiceProviderInfo; inst:RE_Expense; aReason:string;
begin
begin
  // create an instance of sdata service provider
   prv := TSDataServiceProviderInfo.Create;
   prv := TSDataServiceProviderInfo.Create;
   prv.UserName := userName;
   prv.UserName := 'syfre';
   prv.UserPassword := jeton;  
   prv.UserPassword := '';
   prv.EndPointURL := endpoint;
   prv.EndPointURL := 'http://syfre/syfre/server/sdata/syfre/ndfContract/-/';


   // Update an entity
   aReason := Format('expense du %s',[FormatDatetime('c',Now)]);
   //
 
   data := prv.GetEntity('remoteEntity','id=%1',[remoteID]);
  inst := RE_Expense.Create;
   data.someProperty := newValue;
  inst.reason := aReason;
  prv.putEntity(data);
  inst.dateExpense := Now;
  inst.quantity := 1;
  inst.status.AsVariant := RE_NDF_STATUS_DRAFT;
  prv.PostEntity(inst);
 
   inst.quantity := 2;
  prv.PutEntity(inst);
 
   inst := prv.GetEntityWhere('RE_Expense','reason=%1','dateExpense',[aReason]) as RE_expense;
   if Assigned(inst) then
  begin
    if inst.quantity=2
      then showMessage('udate ok')
      else showMessage(Format('update failed (quantity=%0.2f)',[inst.quantity]));
  end
  else showMessage('not found after update');
end;
end;
</source>
</source>
Ligne 35 : Ligne 49 :


{{Footer|TSDataServiceProviderInfo (class)}}
{{Footer|TSDataServiceProviderInfo (class)}}
[[Category:Stéréotype entité de service distant]]

Dernière version du 15 mars 2013 à 08:04

procedure putEntity(data:TitObject);

Cette fonction met à jour une ressource en effectuant un HTTP PUT de l'entité sur le Service SData.

data Un objet de type classe d'entité de service distant non persistant.
Note : En cas d'erreur cette méthode lève une exception et le code de retour et le message correspondant peuvent être obtenu dans lastResultCode et lastResultText

Exemple :

var prv:TSDataServiceProviderInfo; inst:RE_Expense; aReason:string;
begin
  prv := TSDataServiceProviderInfo.Create;
  prv.UserName := 'syfre';
  prv.UserPassword := '';
  prv.EndPointURL := 'http://syfre/syfre/server/sdata/syfre/ndfContract/-/';

  aReason := Format('expense du %s',[FormatDatetime('c',Now)]);

  inst := RE_Expense.Create;
  inst.reason := aReason;
  inst.dateExpense := Now;
  inst.quantity := 1;
  inst.status.AsVariant := RE_NDF_STATUS_DRAFT;
  prv.PostEntity(inst);

  inst.quantity := 2;
  prv.PutEntity(inst);

  inst := prv.GetEntityWhere('RE_Expense','reason=%1','dateExpense',[aReason]) as RE_expense;
  if Assigned(inst) then
   begin
    if inst.quantity=2
       then showMessage('udate ok')
       else showMessage(Format('update failed (quantity=%0.2f)',[inst.quantity]));
   end
   else showMessage('not found after update');
end;

Voir aussi

TSDataServiceProviderInfo (class)Développement DSM