Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public createItem( logItem: IInteractionLogItem): Promise<IInteractionLogItem[]> {
- const userPromises: Promise<{}>[] = [];
- if(logItem.Client && logItem.Client.AccountName){
- userPromises.push(this._ensureUser(logItem.Client));
- }
- if(logItem.AssignedTo && logItem.AssignedTo.AccountName){
- userPromises.push(this._ensureUser(logItem.AssignedTo));
- }
- if(logItem.ResolvedBy && logItem.ResolvedBy.AccountName){
- userPromises.push(this._ensureUser(logItem.ResolvedBy));
- }
- if(logItem.Referrer && logItem.Referrer.AccountName){
- userPromises.push(this._ensureUser(logItem.Referrer));
- }
- console.log("SharePointDataProvider.CreateItem: userPromises.length=" + userPromises.length);
- if( userPromises.length == 0) {
- const batch: SPHttpClientBatch = this.webPartContext.spHttpClient.beginBatch();
- const batchPromises: Promise<{}>[] = [
- this._createItem(batch, logItem),
- this._getItemsBatched(batch)
- ];
- return this._resolveBatch(batch, batchPromises);
- } else if( userPromises.length == 1) {
- userPromises[0].then( (value: {}) => {
- const batch: SPHttpClientBatch = this.webPartContext.spHttpClient.beginBatch();
- const batchPromises: Promise<{}>[] = [
- this._createItem(batch, logItem),
- this._getItemsBatched(batch)
- ];
- return this._resolveBatch(batch, batchPromises);
- });
- } else {
- Promise.all(userPromises).then( (value: {}[]) => {
- const batch: SPHttpClientBatch = this.webPartContext.spHttpClient.beginBatch();
- const batchPromises: Promise<{}>[] = [
- this._createItem(batch, logItem),
- this._getItemsBatched(batch)
- ];
- return this._resolveBatch(batch, batchPromises);
- });
- }
- }
- private _ensureUser( user: IInteractionLogPerson): Promise<ISPUser> {
- console.log("SharePointDataProvider.EnsureUser( "" + user.AccountName + "" )");
- var data = {logonName: user.AccountName};
- return this._webPartContext.spHttpClient.post(
- this._ensureUserUrl,
- SPHttpClient.configurations.v1,
- { body: JSON.stringify(data) } ).then(
- (value: SPHttpClientResponse) => {
- console.log("SharePointDataProvider.EnsureUser Got Http Response:"" + value.statusText + """ );
- return value.json();
- },
- (error: any) => console.log("SharePointDataProvider.EnsureUser Rejected: " + error )
- ).then((spUser: ISPUser) => {
- console.log("SharePointDataProvider.EnsureUser Set Id:" + spUser.Id +" LoginName:"" + spUser.LoginName + """ );
- user.Id = spUser.Id;
- return spUser;
- });
- }
- SharePointDataProvider.EnsureUser( "i:0#.f|membership|bob@pc.org.nz" )
- SharePointDataProvider.CreateItem: userPromises.length=1
- TypeError: Cannot read property 'then' of undefined
- at ILoggerContainer._createInteractionLogItem (d:spfxiLogger-webpartdisti-logger.bundle.js:22103:60)
- at ILoggerForm._handleAddButtonClick (d:spfxiLogger-webpartdisti-logger.bundle.js:23173:21)
- at Object.r (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:75541)
- at a (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:30260)
- at Object.s [as executeDispatchesInOrder] (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:30475)
- at f (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:26933)
- at m (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:27059)
- at Array.forEach (<anonymous>)
- at r (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:112499)
- at Object.processEventQueue (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:28121)
- SharePointDataProvider.EnsureUser Got Http Response:"OK"
- SharePointDataProvider.EnsureUser Set Id:13 LoginName:"i:0#.f|membership|bob@pc.org.nz"
- SharePointDataProvider.EnsureUser( "i:0#.f|membership|dennis@carehouse.org.nz" )
- SharePointDataProvider.EnsureUser( "i:0#.f|membership|bob@pc.org.nz" )
- SharePointDataProvider.CreateItem: userPromises.length=2
- TypeError: Cannot read property 'then' of undefined
- at ILoggerContainer._createInteractionLogItem (d:spfxiLogger-webpartdisti-logger.bundle.js:22103:60)
- at ILoggerForm._handleAddButtonClick (d:spfxiLogger-webpartdisti-logger.bundle.js:23173:21)
- at Object.r (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:75541)
- at a (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:30260)
- at Object.s [as executeDispatchesInOrder] (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:30475)
- at f (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:26933)
- at m (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:27059)
- at Array.forEach (<anonymous>)
- at r (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:112499)
- at Object.processEventQueue (https://spoprod-a.akamaihd.net/files/sp-client-prod_2017-06-30.017/sp-webpart-workbench-assembly_en-us_f3fed222daad2a0117a4c168deed7705.js:174:28121)
- SharePointDataProvider.EnsureUser Got Http Response:"OK"
- SharePointDataProvider.EnsureUser Set Id:10 LoginName:"i:0#.f|membership|dennis@carehouse.org.nz"
- SharePointDataProvider.EnsureUser Got Http Response:"OK"
- SharePointDataProvider.EnsureUser Set Id:13 LoginName:"i:0#.f|membership|bob@pc.org.nz"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement