diff --git a/teststeper02-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java b/teststeper02-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java
index d1bd5f6..7988302 100644
--- a/teststeper02-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java
+++ b/teststeper02-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java
@@ -69,6 +69,18 @@ public class BuilderService {
 		executeDump(true);
 
 		// ADD OTHER SERVICE
+addCustomMenu( "test vps steper","Stepper_workflow",  "Transcations"); 
+
+
+addCustomMenu( "Document_upload","Document_upload",  "Transcations"); 
+
+
+addCustomMenu( "Visa_entry_type","Visa_entry_type",  "Transcations"); 
+
+
+addCustomMenu( "Customer_information","Customer_information",  "Transcations"); 
+
+
 addCustomMenu( "Document_upload","Document_upload",  "Transcations"); 
 
 
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts
index 8052672..d496e91 100644
--- a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts
@@ -19,6 +19,7 @@
 
 
 
+
 
 
 import { Component, OnInit } from '@angular/core';
@@ -249,6 +250,8 @@ export class Stepper_workflowComponent implements OnInit {
     console.log('id is ', id)
 
     // stepper route
+ this.router.navigate(["../test_vps_steper/", id], { relativeTo: this.route });
+
 
 
 
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.css.map b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.css.map
new file mode 100644
index 0000000..e1cc363
--- /dev/null
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["test_vps_steper.component.scss","test_vps_steper.component.css"],"names":[],"mappings":"AAAA;EACE,UAAA;EACA,YAAA;ACCF;;ADCA;EACE,UAAA;EACA,aAAA;ACEF;;ADAA;EACE,UAAA;EACA,aAAA;ACGF;;ADDA;EACE,UAAA;EACA,aAAA;ACIF;;ADDA;EACE,WAAA;EACA,aAAA;ACIF;;ADDA;EACE,WAAA;EACA,kBAAA;EACA,aAAA;EACA,qBAAA;EACA,sBAAA;EACA,kBAAA;EACA,sBAAA;ACIF;;ADFA;EACE,UAAA;ACKF;;ADHA;EACE,kBAAA;ACMF;;ADHA;EACE,WAAA;ACMF;;ADJA;EACA;IACA,WAAA;ECOE;AACF","file":"test_vps_steper.component.css"}
\ No newline at end of file
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.html b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.html
new file mode 100644
index 0000000..8a217c7
--- /dev/null
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.html
@@ -0,0 +1,527 @@
+
+  - Home+
- stepper+
+
+
+
+  
+  
+
+  
+  
+
+
+
+
+  
+    
+      
+
+      
+
+        
+   
+            step 0
+             Application Update
+                Datagrid 
+             Create/Customer_information
 Information Of
+                Customer
+            
+
+   
+            step 1
+             Application Update
+                Datagrid 
+             Create/Document_upload
 Information Of
+                Customer
+            
+
+ 
+            Step 2
+            Review And 
Confirmation
+            
+              Finish .
+            
+          
+      
+    
+  
+  
+    
+    
+      
+    
 
+    
+    
+      
+    
 
+   
+      
+    
\ No newline at end of file
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.scss b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.scss
new file mode 100644
index 0000000..35a9e5a
--- /dev/null
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.scss
@@ -0,0 +1,46 @@
+.horizontal{
+  width: 25%;
+  padding: 5px;
+}
+.horizontal1{
+  width: 50%;
+  padding: 10px;
+}
+.middle{
+  width: 33%;
+  padding: 10px;
+}
+.middle1{
+  width: 75%;
+  padding: 10px;
+}
+
+.full{
+  width: 100%;
+  padding: 10px;
+}
+
+input[type=text],[type=date], select {
+  width: 100%;
+  padding: 12px 20px;
+  margin: 8px 0;
+  display: inline-block;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  box-sizing: border-box;
+}
+.required-field{
+  color: red;
+}
+.center {
+  text-align: center;
+
+}
+.center{
+  color: blue;
+}
+@media (max-width: 600px){
+.horizontal,.middle,.horizontal1,.middle1 {
+width: 100%;
+}}
+
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.spec.ts b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.spec.ts
new file mode 100644
index 0000000..5eef0d2
--- /dev/null
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.spec.ts
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { test_vps_steperComponent } from './test_vps_steper.component';
+
+describe('test_vps_steperComponent', () => {
+  let component: test_vps_steperComponent;
+  let fixture: ComponentFixture
;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      declarations: [ test_vps_steperComponent ]
+    })
+    .compileComponents();
+  });
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(test_vps_steperComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.ts b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.ts
new file mode 100644
index 0000000..b24e0f3
--- /dev/null
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component.ts
@@ -0,0 +1,824 @@
+import { Component, OnInit } from '@angular/core';
+
+
+import { ToastrService } from 'ngx-toastr';
+import { ActivatedRoute, Router } from '@angular/router';
+import { College } from 'src/app/models/fnd/play';
+import { student } from 'src/app/models/fnd/Studentadd';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { Observable } from 'rxjs';
+import { ValidationError } from 'src/app/models/fnd/ValidationError';
+import { test_vps_steperservice } from './test_vps_steper.service';
+@Component({
+  selector: 'app-editstepper',
+  templateUrl: './test_vps_steper.component.html',
+  styleUrls: ['./test_vps_steper.component.scss']
+})
+export class test_vps_steperComponent implements OnInit {
+  updated = false;
+  stringJson: any;
+  customerId: string = '';
+  selectedFile!: File;
+  fileName = '';
+
+  id: number;
+  errorFields: ValidationError[] = [];
+  appToUpdate: College = null;
+  trained = false;
+
+  json: string = "";
+  luisApp =
+    {
+      name: '',
+      created: 1,
+      trained: 1,
+      tested: 1,
+      updated: 1,
+      published: 1,
+
+    };
+  // Layout direction changing
+  layout = {
+    direction: "vertical",
+    block1: "clr-col-lg-3 clr-col-12 ",
+    block2: "clr-col-lg-9 clr-col-12 ",
+  };
+
+  timelineStyle = { 
+ step0: { state: "current", open: true, failed: false }, 
+    step1: { state: "not-started", open: false, failed: false },
+    step2: { state: "not-started", open: false, failed: false },
+};
+public Customer_informationentryForm: FormGroup;
+public Document_uploadentryForm: FormGroup;
+  submitted = false;
+  rowSelected: any = {};
+  modalcomplete = false;
+
+  constructor( 
+private mainService: test_vps_steperservice,
+
+private Customer_information_fb: FormBuilder, 
+private Document_upload_fb: FormBuilder, 
+private router: Router,
+ private route: ActivatedRoute,
+    private toastr: ToastrService,
+  ) { }
+
+  ngOnInit(): void {
+    this.id = this.route.snapshot.params["id"];
+    console.log("update with id = ", this.id);
+
+
+ this.Customer_informationentryForm = this.Customer_information_fb.group({ 
+name : [null],
+
+description : [null],
+
+active : [true],
+
+visa_entry_type : [null],
+
+visa_duration : [null],
+
+visa_processing : [null],
+
+travel_start_date : [null],
+
+travel_end_date : [null],
+
+passport_number : [null,[Validators.required]],
+
+passport_issue_date : [null],
+
+passport_expiry_date : [null],
+
+email_field : [null],
+
+phone_number: ['+91'],
+
+birth_place : [null],
+
+date_of_birth : [null],
+
+gender : [null],
+
+profession : [null],
+
+visa_cost : [null, { updateOn: 'blur' }],
+
+referrer : [null],
+
+nationality : [null],
+
+supplier : [null],
+
+agent : [null],
+
+
+  });
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ this.Document_uploadentryForm = this.Document_upload_fb.group({ 
+
+
+
+
+
+  });
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ const stepId = this.id; // or from route/query/etc
+ 
+    this.getResolvedDataFromStepper(stepId).subscribe(res => {
+      console.log('response get ', res);
+
+      if (res === null) {
+        this.showEmptyForm();
+      } else {
+ if (res['Customer_information']) {
+ 
+ this.prefillCustomer_informationForm(res['Customer_information']);
+        }
+
+ if (res['Document_upload']) {
+ 
+ this.prefillDocument_uploadForm(res['Document_upload']);
+        }
+}
+    });
+
+  }
+showEmptyForm(): void {
+    console.log('No config found. Showing empty form.');
+    // You can choose to show one or both based on some logic
+
+ this.Customer_informationentryForm.reset();
+
+ this.Document_uploadentryForm.reset();
+  }  prefillCustomer_informationForm(data: any): void {
+
+    console.log(' Customer_information data ', data)
+    this.Customer_informationentryForm.patchValue({
+      id: data.id || '',
+name: data.name || '',
+
+description: data.description || '',
+
+active: data.active || '',
+
+visa_entry_type: data.visa_entry_type || '',
+
+visa_duration: data.visa_duration || '',
+
+visa_processing: data.visa_processing || '',
+
+travel_start_date: data.travel_start_date || '',
+
+travel_end_date: data.travel_end_date || '',
+
+passport_number: data.passport_number || '',
+
+passport_issue_date: data.passport_issue_date || '',
+
+passport_expiry_date: data.passport_expiry_date || '',
+
+email_field: data.email_field || '',
+
+phone_number: data.phone_number || '',
+
+birth_place: data.birth_place || '',
+
+date_of_birth: data.date_of_birth || '',
+
+gender: data.gender || '',
+
+profession: data.profession || '',
+
+visa_cost: data.visa_cost || '',
+
+referrer: data.referrer || '',
+
+nationality: data.nationality || '',
+
+supplier: data.supplier || '',
+
+agent: data.agent || '',
+
+    });
+  }  prefillDocument_uploadForm(data: any): void {
+
+    console.log(' Document_upload data ', data)
+    this.Document_uploadentryForm.patchValue({
+      id: data.id || '',
+imageupload_field: data.imageupload_field || '',
+
+fileupload_field: data.fileupload_field || '',
+
+    });
+  }
+ getResolvedDataFromStepper(id: number): Observable {
+    console.log('get step config');
+
+    return new Observable(observer => {
+      this.mainService.gettabledata(id).subscribe(configList => {
+        if (!configList || configList.length === 0) {
+          console.log('empty config');
+          observer.next(null);
+          observer.complete();
+          return;
+        }
+
+        const results: { [key: string]: any } = {};
+        let processed = 0;
+
+        configList.forEach(config => {
+          const { table_name, table_id } = config;
+
+          this.getByTableNameAndId(table_name, table_id).subscribe(data => {
+
+            console.log('data is ', data);
+            results[table_name] = data;
+
+            processed++;
+            if (processed === configList.length) {
+              observer.next(results);  // emit combined data
+              observer.complete();
+            }
+
+          }, error => {
+            console.error(`Error loading data for table ${table_name}`, error);
+            processed++;
+            if (processed === configList.length) {
+              observer.next(results);  // continue with what we have
+              observer.complete();
+            }
+          });
+        });
+
+      }, error => {
+        console.error("Error loading stepper config", error);
+        observer.error(error);
+      });
+    });
+  }
+
+
+
+  getByTableNameAndId(tableName: string, id: number): Observable {
+
+    switch (tableName) {
+   case 'Customer_information':
+        return this.mainService.getCustomer_informationById(id); case 'Document_upload':
+        return this.mainService.getDocument_uploadById(id);// aur bhi cases agar naye table add ho to
+      default:
+        throw new Error(`Unknown table name: ${tableName}`);
+    }
+  }
+  // Change to Horizontal Layout
+  changeToHorizonTal() {
+    this.layout = {
+      direction: "horizontal",
+      block1: "clr-col-lg-12 clr-col-12 height container",
+      block2: "clr-col-lg-12 clr-col-12 container",
+    }
+  }
+  // Change to Vertical Layout
+  changeToVertical() {
+    this.layout = {
+      direction: "vertical",
+      block1: "clr-col-lg-3 clr-col-12 ",
+      block2: "clr-col-lg-9 clr-col-12 ",
+    }
+  }
+
+
+
+  onCustomer_informationSave() {
+    console.log('Form Submitted:', this.Customer_informationentryForm.value);
+    this.submitted = true;
+    if (this.Customer_informationentryForm.invalid) {
+
+      console.log('invalid form ..');
+      // Log all form errors
+      Object.keys(this.Customer_informationentryForm.controls).forEach(field => {
+        const control = this.Customer_informationentryForm.get(field);
+        if (control && control.invalid) {
+          console.log(`Error in field: ${field}`, control.errors);
+        }
+      }
+      );
+      return;
+    }
+    this.onCustomer_informationCreate();
+  }
+
+  onCustomer_informationCreate() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    this.mainService.createCustomer_information(this.Customer_informationentryForm.value).subscribe(
+      (data) => {
+        console.log('adding data ', data);
+        this.customerId = data.id;
+
+        console.log('id is  ', this.customerId);
+
+
+ const tableId = data.id;
+        const tableName = 'Customer_information';
+        const stepperId = this.id;
+
+        // Save stepper config
+        this.mainService.saveStepperConfig(stepperId, tableId, tableName).subscribe(() => {
+          this.toastr.success("Stepper Config Saved");
+        });        if (data || data.status >= 200 && data.status <= 299) {
+          this.toastr.success("Added Successfully");
+        }
+        setTimeout(() => {
+          this.ngOnInit();
+        }, 500);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+      }, (error) => {
+        console.log(error);
+        if (error.status >= 200 && error.status <= 299) {
+          // this.toastr.success("Added Succesfully");
+        }
+        if (error.status >= 400 && error.status <= 499) {
+          this.toastr.error("Not Added");
+        }
+        if (error.status >= 500 && error.status <= 599) {
+          this.toastr.error("Not Added");
+        }
+      });
+    this.rowSelected = this.Customer_informationentryForm.value;
+
+    setTimeout(() => {
+      this.ngOnInit();
+    }, 500);
+  }
+
+
+  onDocument_uploadSave() {
+    console.log('Form Submitted:', this.Document_uploadentryForm.value);
+    this.submitted = true;
+    if (this.Document_uploadentryForm.invalid) {
+
+      console.log('invalid form ..');
+      // Log all form errors
+      Object.keys(this.Document_uploadentryForm.controls).forEach(field => {
+        const control = this.Document_uploadentryForm.get(field);
+        if (control && control.invalid) {
+          console.log(`Error in field: ${field}`, control.errors);
+        }
+      }
+      );
+      return;
+    }
+    this.onDocument_uploadCreate();
+  }
+
+  onDocument_uploadCreate() {
+
+
+
+
+    this.mainService.createDocument_upload(this.Document_uploadentryForm.value).subscribe(
+      (data) => {
+        console.log('adding data ', data);
+        this.customerId = data.id;
+
+        console.log('id is  ', this.customerId);
+
+
+ const tableId = data.id;
+        const tableName = 'Document_upload';
+        const stepperId = this.id;
+
+        // Save stepper config
+        this.mainService.saveStepperConfig(stepperId, tableId, tableName).subscribe(() => {
+          this.toastr.success("Stepper Config Saved");
+        });        if (data || data.status >= 200 && data.status <= 299) {
+          this.toastr.success("Added Successfully");
+        }
+        setTimeout(() => {
+          this.ngOnInit();
+        }, 500);
+for (let i = 0; i < this.selectedimageupload_field.length; i++){
+
+  this.mainService.uploadImageupload_field(data.id,tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{
+    console.log(uploaddata);
+  })
+}
+
+for (let i = 0; i < this.selectedfileupload_field.length; i++){
+
+  this.mainService.uploadfilefileupload_field(data.id,tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{
+    console.log(uploaddata);
+  })
+}
+
+
+      }, (error) => {
+        console.log(error);
+        if (error.status >= 200 && error.status <= 299) {
+          // this.toastr.success("Added Succesfully");
+        }
+        if (error.status >= 400 && error.status <= 499) {
+          this.toastr.error("Not Added");
+        }
+        if (error.status >= 500 && error.status <= 599) {
+          this.toastr.error("Not Added");
+        }
+      });
+    this.rowSelected = this.Document_uploadentryForm.value;
+
+    setTimeout(() => {
+      this.ngOnInit();
+    }, 500);
+  }
+
+
+  onnext() {
+    this.router.navigate(["../../main/workflow"], { relativeTo: this.route });
+  }
+  reset() {
+    this.json = "";
+    this.luisApp =
+    {
+      name: '',
+      trained: 1,
+      tested: 1,
+      updated: 1,
+      published: 1,
+      created: 1,
+
+    };
+
+    this.timelineStyle = {
+      step0: { state: "current", open: true, failed: false },
+      step1: { state: "not-started", open: false, failed: false },
+      step2: { state: "not-started", open: false, failed: false },
+ };
+  }
+  current() {
+    console.log(this.timelineStyle)
+    this.stringJson = JSON.stringify(this.timelineStyle);
+    console.log("String json object :", this.stringJson);
+
+  }
+filePreviewimageupload_field: string | ArrayBuffer | null = null;
+FileDataimageupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
+selectedimageupload_field: File[]=[]; 
+public onFileChangedimageupload_field(event, index) {
+  const files = event.target.files;
+  for (let i = 0; i < files.length; i++) {
+    const file = files[i];
+    this.FileDataimageupload_field[index].uploadedfile_name = files[i].name;
+    this.selectedimageupload_field.push(files[i]);
+    if (file.type.startsWith('image/')) {
+      const reader = new FileReader();
+      reader.onload = (e) => {
+        // Set the file preview source
+        const filePreview = e.target?.result as string;
+        this.FileDataimageupload_field[index] = {
+          ...this.FileDataimageupload_field[index], // Preserve existing properties
+          filePreview: filePreview // Update only the filePreview property
+        };
+      };
+      reader.readAsDataURL(file);
+    }
+  }
+}
+    onAddLinesimageupload_field(){
+      this.FileDataimageupload_field.push({
+        uploadedfile_name: "",
+        filePreview: "",
+        // f3: "",
+      });
+    }
+    deleteRowimageupload_field(index,id) {
+      this.FileDataimageupload_field.splice(index, 1);
+
+      if(id){
+      this.mainService.uploadImageupload_fielddelete(id).subscribe(data =>{
+        console.log(data);
+      })
+      }
+    }
+
+filePreviewfileupload_field: string | ArrayBuffer | null = null;
+FileDatafileupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
+selectedfileupload_field: File[]=[]; 
+public onFileChangedfileupload_field(event, index) {
+  const files = event.target.files;
+  for (let i = 0; i < files.length; i++) {
+    const file = files[i];
+    this.FileDatafileupload_field[index].uploadedfile_name = files[i].name;
+    this.selectedfileupload_field.push(files[i]);
+    if (file.type.startsWith('file/')) {
+      const reader = new FileReader();
+      reader.onload = (e) => {
+        // Set the file preview source
+        const filePreview = e.target?.result as string;
+        this.FileDatafileupload_field[index] = {
+          ...this.FileDatafileupload_field[index], // Preserve existing properties
+          filePreview: filePreview // Update only the filePreview property
+        };
+      };
+      reader.readAsDataURL(file);
+    }
+  }
+}
+    onAddLinesfileupload_field(){
+      this.FileDatafileupload_field.push({
+        uploadedfile_name: "",
+        filePreview: "",
+        // f3: "",
+      });
+    }
+    deleteRowfileupload_field(index,id) {
+      this.FileDatafileupload_field.splice(index, 1);
+
+      if(id){
+      this.mainService.uploadfiledeletefileupload_field(id).subscribe(data =>{
+        console.log(data);
+      })
+      }
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+FileDataImageupload_field: any[];
+  selectedImageupload_field: any[];
+
+
+
+// updateaction
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.service.ts b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.service.ts
new file mode 100644
index 0000000..c13768e
--- /dev/null
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.service.ts
@@ -0,0 +1,138 @@
+import { Injectable } from '@angular/core';
+import { Observable } from "rxjs";
+import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http";
+import { ApiRequestService } from "src/app/services/api/api-request.service";
+import { environment } from 'src/environments/environment';
+@Injectable({
+  providedIn: 'root'
+})
+export class test_vps_steperservice{
+  private StepperURL = "Stepper_table_config/Stepper_table_config";
+  private Customer_informationURL = "Customer_information/Customer_information" ;  private Document_uploadURL = "Document_upload/Document_upload" ;  constructor(
+    private http: HttpClient,
+    private apiRequest: ApiRequestService,
+  ) { }
+gettabledata(id: number): Observable {
+    const _http = this.StepperURL + "/stepId/" + id;
+    return this.apiRequest.get(_http);
+  }
+
+  saveStepperConfig(stepperId: number, tableId: number, tableName: string): Observable {
+    const params = new HttpParams()
+      .set('stepperId', stepperId.toString())
+      .set('tableId', tableId.toString())
+      .set('tableName', tableName);
+
+    return this.apiRequest.post(this.StepperURL, null, params); // null body, params used
+  }  getAllCustomer_information(page?: number, size?: number): Observable {
+    return this.apiRequest.get(this.Customer_informationURL);
+  }
+  getCustomer_informationById(id: number): Observable {
+    const _http = this.Customer_informationURL + "/" + id;
+    return this.apiRequest.get(_http);
+  }
+  createCustomer_information(data: any): Observable {
+    return this.apiRequest.post(this.Customer_informationURL, data);
+  }
+  updateCustomer_information(id: number, data: any): Observable {
+    const _http = this.Customer_informationURL + "/" + id;
+    return this.apiRequest.put(_http, data);
+  }
+  deleteCustomer_information(id: number): Observable {
+    const _http = this.Customer_informationURL + "/" + id;
+    return this.apiRequest.delete(_http);
+  }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  getAllDocument_upload(page?: number, size?: number): Observable {
+    return this.apiRequest.get(this.Document_uploadURL);
+  }
+  getDocument_uploadById(id: number): Observable {
+    const _http = this.Document_uploadURL + "/" + id;
+    return this.apiRequest.get(_http);
+  }
+  createDocument_upload(data: any): Observable {
+    return this.apiRequest.post(this.Document_uploadURL, data);
+  }
+  updateDocument_upload(id: number, data: any): Observable {
+    const _http = this.Document_uploadURL + "/" + id;
+    return this.apiRequest.put(_http, data);
+  }
+  deleteDocument_upload(id: number): Observable {
+    const _http = this.Document_uploadURL + "/" + id;
+    return this.apiRequest.delete(_http);
+  }
+  uploadImageupload_field(ref:any, Document_upload:any, file:any): Observable{
+    const formData = new FormData();
+    formData.append('file', file);
+    return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`, formData);
+  }
+
+  uploadImageupload_fieldgetById(ref:any, Document_upload:any,): Observable {
+    return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`);
+  }
+
+
+  uploadImageupload_fielddelete(id: number): Observable {
+    return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`);
+  }
+
+  uploadfilefileupload_field(ref:any, Document_upload:any, file:any): Observable{
+    const formData = new FormData();
+    formData.append('file', file);
+    return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`, formData);
+  }
+
+  uploadfilegetByIdfileupload_field(ref:any, Document_upload:any,): Observable {
+    return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`);
+  }
+
+
+  uploadfiledeletefileupload_field(id: number): Observable {
+    return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`);
+  }
+
+// updateaction
+}
\ No newline at end of file
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts
index a73a4cc..db8240a 100644
--- a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts
@@ -1,3 +1,7 @@
+import { test_vps_steperComponent } from './BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component';
+
+
+
 import { Document_uploadComponent } from './BuilderComponents/basicp1/Document_upload/Document_upload.component';
 import { Visa_entry_typeComponent } from './BuilderComponents/basicp1/Visa_entry_type/Visa_entry_type.component';
 import { Customer_informationComponent } from './BuilderComponents/basicp1/Customer_information/Customer_information.component';
@@ -259,6 +263,15 @@ const routes: Routes = [
 
 
       // buildercomponents
+{path:'test_vps_steper/:id',component:test_vps_steperComponent},
+
+
+
+
+
+
+
+
 {path:'Document_upload',component:Document_uploadComponent},
 
 
diff --git a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts
index 659fd72..9b19515 100644
--- a/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts
+++ b/teststeper02-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts
@@ -1,3 +1,7 @@
+import { test_vps_steperComponent } from './BuilderComponents/stepperworkflow/test_vps_steper/test_vps_steper.component';
+
+
+
 import { Document_uploadComponent } from './BuilderComponents/basicp1/Document_upload/Document_upload.component';
 import { Visa_entry_typeComponent } from './BuilderComponents/basicp1/Visa_entry_type/Visa_entry_type.component';
 import { Customer_informationComponent } from './BuilderComponents/basicp1/Customer_information/Customer_information.component';
@@ -132,6 +136,15 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S
 
 
     // buildercomponents
+test_vps_steperComponent,
+
+
+
+
+
+
+
+
 Document_uploadComponent,