Creating resource on the fly when we want to delete model created by WS events

Change-Id: I2e5c0e0af2be6366d86437d140d4517990940cbb
diff --git a/src/index.ts b/src/index.ts
index b03f4b4..88c2250 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -28,6 +28,8 @@
 import {IXosPageTitleService} from './app/core/services/page-title';
 import {IXosConfigHelpersService} from './app/core/services/helpers/config.helpers';
 import {StyleConfig} from './app/config/style.config';
+import {IXosResourceService} from './app/datasources/rest/model.rest';
+import {IXosModelHelpersService} from './app/core/services/helpers/model.helper';
 
 export interface IXosState extends angular.ui.IState {
   data: IXosCrudData;
@@ -63,9 +65,12 @@
     $location: ng.ILocationService,
     $state: ng.ui.IStateService,
     ModelDefs: IModeldefsService,
+    ModelRest: IXosResourceService,
     RuntimeStates: IRuntimeStatesService,
     NavigationService: IXosNavigationService,
     ConfigHelpers: IXosConfigHelpersService,
+    ModelHelpers: IXosModelHelpersService,
+    toastr: ng.toastr.IToastrService,
     PageTitle: IXosPageTitleService
   ) => {
 
@@ -99,13 +104,27 @@
                     icon: 'remove',
                     color: 'red',
                     cb: (item) => {
+                      let obj = angular.copy(item);
+                      // check that item in an angular resource
+                      if (!item.$delete) {
+                        const endpoint = ModelHelpers.urlFromCoreModel(m.name);
+                        const resource = ModelRest.getResource(endpoint);
+                        // create a resource with that item
+                        item = new resource(item);
+
+                      }
                       console.log(item);
                       item.$delete()
-                        .then(res => {
-                          console.log(res);
+                        .then((res) => {
+                          if (res.status === 404) {
+                            // TODO understand why it does not go directly in catch
+                            throw new Error();
+                          }
+                          toastr.info(`${m.name} ${obj.name} succesfully deleted`);
                         })
-                        .catch(err => {
-                          console.error(err);
+                        .catch(() => {
+                          console.log(obj);
+                          toastr.error(`Error while deleting ${obj.name}`);
                         });
                     }
                   }