Advertisement
Guest User

asdfsadfdasadf

a guest
May 11th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 1.27 KB | None | 0 0
  1. et makeAccount i =
  2.     let entity = Entity "account"
  3.     entity.Item "name" <- sprintf "Account%i" i
  4.     entity
  5.  
  6. let makeCreateRequest e =
  7.     let cr = CreateRequest ()
  8.     cr.Parameters.Item "Target" <- e
  9.     cr
  10.  
  11. let requests =
  12.     [1..100]
  13.     |> Seq.map makeAccount
  14.     |> Seq.map makeCreateRequest
  15.  
  16. let chunkBy chunkSize (source: seq<_>) =
  17.     source
  18.     |> Seq.indexed
  19.     |> Seq.groupBy (fun (i, _) -> i / chunkSize)
  20.     |> Seq.map (fun (_, x) ->
  21.         x |> Seq.map snd)
  22.  
  23. let toOrganizationRequestCollection (requests: seq<OrganizationRequest>) =
  24.     let organizationRequestCollection = OrganizationRequestCollection ()
  25.     organizationRequestCollection.AddRange requests
  26.     organizationRequestCollection
  27.  
  28. let executePaged limit (request: OrganizationRequest) =
  29.     request.Parameters.Item "Requests" :?> seq<OrganizationRequest>
  30.     |> chunkBy limit
  31.     |> Seq.map (fun x ->
  32.         request.Parameters.Item "Requests" <- toOrganizationRequestCollection x
  33.         serviceProxy.Execute request)
  34.  
  35. let fuckingDoIt =
  36.     let etr = ExecuteTransactionRequest ()
  37.     etr.Requests <- (requests |> Seq.cast<OrganizationRequest> |> toOrganizationRequestCollection)
  38.     etr.ReturnResponses <- Nullable true
  39.     etr
  40.     |> executePaged 30
  41.     |> Seq.toArray
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement