github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/Energy/Energy.component.ts (about) 1 import { Component, OnInit, Input } from '@angular/core'; 2 import { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms'; 3 import { EnergyService } from './Energy.service'; 4 import 'rxjs/add/operator/toPromise'; 5 6 //provide associated components 7 @Component({ 8 selector: 'app-Energy', 9 templateUrl: './Energy.component.html', 10 styleUrls: ['./Energy.component.css'], 11 providers: [EnergyService] 12 }) 13 14 //EnergyComponent class 15 export class EnergyComponent implements OnInit { 16 17 //define variables 18 myForm: FormGroup; 19 20 private allAssets; 21 private asset; 22 private currentId; 23 private errorMessage; 24 25 //initialize form variables 26 energyID = new FormControl("", Validators.required); 27 units = new FormControl("", Validators.required); 28 value = new FormControl("", Validators.required); 29 ownerID = new FormControl("", Validators.required); 30 ownerEntity = new FormControl("", Validators.required); 31 32 //intialize form 33 constructor(private serviceEnergy:EnergyService, fb: FormBuilder) { 34 this.myForm = fb.group({ 35 energyID:this.energyID, 36 units:this.units, 37 value:this.value, 38 ownerID:this.ownerID, 39 ownerEntity:this.ownerEntity 40 }); 41 }; 42 43 //on page initialize, load all energy assets 44 ngOnInit(): void { 45 this.loadAll(); 46 } 47 48 //load all energy assets on the blockchain network 49 loadAll(): Promise<any> { 50 51 //retrieve all energy assets in the tempList array 52 let tempList = []; 53 54 //call serviceEnergy to get all energy asset objects 55 return this.serviceEnergy.getAll() 56 .toPromise() 57 .then((result) => { 58 this.errorMessage = null; 59 60 //append tempList with the energy asset objects returned 61 result.forEach(asset => { 62 tempList.push(asset); 63 }); 64 65 //assign tempList to allAssets 66 this.allAssets = tempList; 67 }) 68 .catch((error) => { 69 if(error == 'Server error'){ 70 this.errorMessage = "Could not connect to REST server. Please check your configuration details"; 71 } 72 else if(error == '404 - Not Found'){ 73 this.errorMessage = "404 - Could not find API route. Please check your available APIs." 74 } 75 else{ 76 this.errorMessage = error; 77 } 78 }); 79 } 80 81 //add energy asset 82 addAsset(form: any): Promise<any> { 83 84 //define energy asset object 85 this.asset = { 86 $class: "org.decentralized.energy.network.Energy", 87 "energyID":this.energyID.value, 88 "units":this.units.value, 89 "value":this.value.value, 90 "ownerID":this.ownerID.value, 91 "ownerEntity":this.ownerEntity.value 92 }; 93 94 //update form 95 this.myForm.setValue({ 96 "energyID":null, 97 "units":null, 98 "value":null, 99 "ownerID":null, 100 "ownerEntity":null 101 }); 102 103 //call serviceEnergy to add energy asset 104 return this.serviceEnergy.addAsset(this.asset) 105 .toPromise() 106 .then(() => { 107 this.errorMessage = null; 108 109 //update form 110 this.myForm.setValue({ 111 "energyID":null, 112 "units":null, 113 "value":null, 114 "ownerID":null, 115 "ownerEntity":null 116 117 }); 118 }) 119 .catch((error) => { 120 if(error == 'Server error'){ 121 this.errorMessage = "Could not connect to REST server. Please check your configuration details"; 122 } 123 else{ 124 this.errorMessage = error; 125 } 126 }); 127 } 128 129 //set id 130 setId(id: any): void{ 131 this.currentId = id; 132 } 133 134 //get form based on energyID 135 getForm(id: any): Promise<any>{ 136 137 //call serviceEnergy to get energy asset object 138 return this.serviceEnergy.getAsset(id) 139 .toPromise() 140 .then((result) => { 141 this.errorMessage = null; 142 let formObject = { 143 "energyID":null, 144 "units":null, 145 "value":null, 146 "ownerID":null, 147 "ownerEntity":null 148 }; 149 150 //update formObject 151 if(result.energyID){ 152 formObject.energyID = result.energyID; 153 }else{ 154 formObject.energyID = null; 155 } 156 157 if(result.units){ 158 formObject.units = result.units; 159 }else{ 160 formObject.units = null; 161 } 162 163 if(result.value){ 164 formObject.value = result.value; 165 }else{ 166 formObject.value = null; 167 } 168 169 if(result.ownerID){ 170 formObject.ownerID = result.ownerID; 171 }else{ 172 formObject.ownerID = null; 173 } 174 175 if(result.ownerEntity){ 176 formObject.ownerEntity = result.ownerEntity; 177 }else{ 178 formObject.ownerEntity = null; 179 } 180 181 //set formObject 182 this.myForm.setValue(formObject); 183 184 }) 185 .catch((error) => { 186 if(error == 'Server error'){ 187 this.errorMessage = "Could not connect to REST server. Please check your configuration details"; 188 } 189 else if(error == '404 - Not Found'){ 190 this.errorMessage = "404 - Could not find API route. Please check your available APIs." 191 } 192 else{ 193 this.errorMessage = error; 194 } 195 }); 196 197 } 198 199 //reset form 200 resetForm(): void{ 201 this.myForm.setValue({ 202 "energyID":null, 203 "units":null, 204 "value":null, 205 "ownerID":null, 206 "ownerEntity":null 207 }); 208 } 209 210 }