Giter Site home page Giter Site logo

powerplatformsolutions's Introduction

PowerPlatformSolutions

powerplatformsolutions's People

Contributors

vinecksie avatar

Stargazers

 avatar

Watchers

 avatar

powerplatformsolutions's Issues

Custom API : Peerberry : creation of a custom connector to get loans list

  • discover endpoint of peerberry
  • authentication part
  • bug with token variable empty. to debug modified code
  • azure : get loan data
  • azure : parse data
  • security for password via azure portal to put again
  • sync with github
  • PA learning : PL100 S15 & S16 + PL400
  • sort ChatGPT
  • PA : get data from Azure function
  • PA : write data to dataverse. issue on lookup fields. need guid of each related record
  • PA : call flow from Pocket Invest : button and Javascript code

Perf Improvement

updatedtrans variables : limit only to necessary fields to improve performance

  • Preimage
  • dll

Custom plugins should not catch exception

if profiling turn on, not able to test exception of the code :
Message: ISV code reduced the open transaction count. Custom plug-ins should not catch exceptions from OrganizationService calls and continue processing.
try
{
_service.Execute(request);
}
catch (Exception ex)
{
throw new InvalidPluginExecutionException("An error occurred in the FollupupPlugin plug-in. " + ex.Message);
}

Pocket Invest : platform credentials

Manage credentials with a new form and Entra ID or Dataverse security
Then use these credentials by calling the JS function calling the API Azure io having credentials setup in the AZ function

Building Profile

ConcurrencyModel

Articles on concurrency model
take care of loanref because does not contains the rowversion, so we have to make a retrieve to get the row version

  Entity updatedTransaction = (Entity)context.PreEntityImages["PreImageXIRR"];
  //tracingService.Trace("Stage {0}", ++tracingStep);
  EntityReference loanRef = (EntityReference)updatedTransaction.Attributes["cr471_loanid"];
  Entity loanEntity = organizationService.Retrieve("cr471_loans", loanRef.Id , new ColumnSet("cr471_xirr"));

  //OK
  //var loanEntity2 = new Entity("cr471_loans");
  //loanEntity2.Id = loanEntity.Id;                   
  //loanEntity2["cr471_xirr"] = devtest;
  //organizationService.Update(loanEntity2);

  //OK
  ////SIMPLE MODE TEST
  //Entity loanEntity = organizationService.Retrieve("cr471_loans", loanRef.Id, new ColumnSet("cr471_xirr"));
  //decimal devtest = 7;
  //loanEntity["cr471_xirr"] = devtest;
  //organizationService.Update(loanEntity);

  //CONCURRENCY MODE TEST
  Entity newLoan = new Entity("cr471_loans", loanEntity.Id);
  decimal devtest = 9;
  newLoan["cr471_xirr"] = devtest;
  // Set the row version for concurrency behavior
  // Error -2147088253 will occur if this is not set
  newLoan.RowVersion = loanEntity.RowVersion;

  UpdateRequest request = new UpdateRequest()
  {
      Target = newLoan,
      // The operation will fail if the record is updated in the period since it was retrieved.
      ConcurrencyBehavior = ConcurrencyBehavior.IfRowVersionMatches
  };

  organizationService.Execute(request);

pocket invest : improve model-driven app performance

  • avoid button useless
  • avoid loading not important fields on the first tab
  • avoid loading of async js function on onload and onchange events
  • avoid loading a maximum of function on loading event and on the first tab
  • play with monitor and flags

Articles : URL to get metadata

- get metadata :  
	Get metadata : 
		The following example gets the 
		scheduledstart column of the 
		appointment table for the 
		row with ID d2862246-4763-ee11-8def-000d3a34118b.

		https://org859aecd5.crm16.dynamics.com/api/data/v9.2.24022.00170/Loan(6b0e784b-9fd0-ee11-904d-002248e53c36)?

		6b0e784b-9fd0-ee11-904d-002248e53c36

version :
var globalContext = Xrm.Utility.getGlobalContext();
globalContext.getVersion()

	https://org859aecd5.crm16.dynamics.com/main.aspx?appid=f336cc89-bad0-ee11-904d-002248e53c36&pagetype=entityrecord&etn=cr471_
	loans&id=6b0e784b-9fd0-ee11-904d-002248e53c36
	
	https://org859aecd5.crm16.dynamics.com/api/data/v9.2.24022.00170/cr471_loanses
	https://org859aecd5.crm16.dynamics.com/api/data/v9.2.24022.00170/cr471_loanses(6b0e784b-9fd0-ee11-904d-002248e53c36)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.