@@ -67,6 +67,7 @@ protected void Execute(LocalPluginContext context)
6767 foreach ( Guid autoNumberId in autoNumberIdList )
6868 {
6969 Entity autoNumber = context . OrganizationService . Retrieve ( "cel_autonumber" , autoNumberId , true ) ;
70+ string targetAttribute = autoNumber . GetAttributeValue < string > ( "cel_attributename" ) ;
7071
7172 if ( ( autoNumber . Contains ( "cel_conditionaloptionset" ) && ( ! Target . Contains ( autoNumber . GetAttributeValue < string > ( "cel_conditionaloptionset" ) ) || Target . GetAttributeValue < OptionSetValue > ( autoNumber . GetAttributeValue < string > ( "cel_conditionaloptionset" ) ) . Value != autoNumber . GetAttributeValue < int > ( "cel_conditionalvalue" ) ) ) )
7273 {
@@ -76,21 +77,21 @@ protected void Execute(LocalPluginContext context)
7677 //{
7778 // continue; // Continue, if this is a conditional lookup
7879 //}
79- else if ( Target . Contains ( autoNumber . GetAttributeValue < string > ( "cel_attributename" ) ) )
80+ else if ( Target . Contains ( targetAttribute ) && ! String . IsNullOrWhiteSpace ( Target . GetAttributeValue < string > ( targetAttribute ) ) )
8081 {
8182 continue ; // Continue, so we don't overwrite an existing value
8283 }
8384
8485 // Generate number and insert into Target Record
85- Target [ autoNumber . GetAttributeValue < string > ( "cel_attributename" ) ] = String . Format ( "{0}{1}{2}" , ReplaceParameters ( autoNumber . GetAttributeValue < string > ( "cel_prefix" ) , Target , context . OrganizationService ) ,
86- autoNumber . GetAttributeValue < int > ( "cel_nextnumber" ) . ToString ( "D" + autoNumber . GetAttributeValue < int > ( "cel_digits" ) ) ,
87- ReplaceParameters ( autoNumber . GetAttributeValue < string > ( "cel_suffix" ) , Target , context . OrganizationService ) ) ;
86+ Target [ targetAttribute ] = String . Format ( "{0}{1}{2}" , ReplaceParameters ( autoNumber . GetAttributeValue < string > ( "cel_prefix" ) , Target , context . OrganizationService ) ,
87+ autoNumber . GetAttributeValue < int > ( "cel_nextnumber" ) . ToString ( "D" + autoNumber . GetAttributeValue < int > ( "cel_digits" ) ) ,
88+ ReplaceParameters ( autoNumber . GetAttributeValue < string > ( "cel_suffix" ) , Target , context . OrganizationService ) ) ;
8889
8990 // Increment next number in db
9091 Entity updatedAutoNumber = new Entity ( "cel_autonumber" ) ;
9192 updatedAutoNumber . Id = autoNumber . Id ;
9293 updatedAutoNumber [ "cel_nextnumber" ] = autoNumber . GetAttributeValue < int > ( "cel_nextnumber" ) + 1 ;
93- updatedAutoNumber [ "cel_preview" ] = Target [ autoNumber . GetAttributeValue < string > ( "cel_attributename" ) ] ; // fix the preview
94+ updatedAutoNumber [ "cel_preview" ] = Target [ targetAttribute ] ; // fix the preview
9495
9596 context . OrganizationService . Update ( updatedAutoNumber ) ;
9697 }
0 commit comments