From 736cf781786f0b3ba9d0f07c4236babbe708fea9 Mon Sep 17 00:00:00 2001
From: emreaydogdu <busra0112>
Date: Thu, 8 Oct 2020 01:19:48 +0200
Subject: [PATCH] fix update to database

---
 .../CreateEditComponents/EditCourse.vue       | 48 +++++++++----------
 src/models/course.js                          |  4 +-
 src/services/course.service.js                | 35 ++++++++++++++
 src/store/course.module.js                    | 17 ++++++-
 4 files changed, 77 insertions(+), 27 deletions(-)

diff --git a/src/components/CreateEditComponents/EditCourse.vue b/src/components/CreateEditComponents/EditCourse.vue
index 31fca71..4e1de2b 100644
--- a/src/components/CreateEditComponents/EditCourse.vue
+++ b/src/components/CreateEditComponents/EditCourse.vue
@@ -132,7 +132,7 @@ export default {
     return {
       id: JSON.parse(localStorage.getItem('checkedBoxID')),
       message: "",
-      course: new Course('', '', '', '', '', '', '', '', '', '', '', '', ''),
+      course: new Course('','', '', '', '', '', '', '', '', '', '', '', '', ''),
     }
   },
 
@@ -144,34 +144,34 @@ export default {
   methods: {
 
     getData(){
-          this.$store.dispatch('course/getByID', this.id).then(
-              (data) => {
-                this.course.coursenumber = data.courseNumber;
-                this.course.courseoffer = data.courseOffer;
-                this.course.coursename = data.name;
-                this.course.eventtype = data.eventType;
-                this.course.coursedate = data.courseDate;
-                this.course.topic = data.topic;
-                this.course.courselocation = data.location;
-                this.course.accompanyingteacher = data.accompanyingTeacher;
-                this.course.supervisingstudents = data.supervisingStudents;
-                this.course.presentstudents = data.presentStudents;
-                this.course.registeredstudents = data.registeredStudents;
-                this.course.instructor = data.instructor;
-                this.course.notefield = data.noteField;
-
-              },
-              error => {
-                this.message = (error.response && error.response.data) || error.message || error.toString();
-                this.successful = false;
-              }
-          );
+      this.$store.dispatch('course/getByID', this.id).then(
+          (data) => {
+            this.course.coursenumber = data.courseNumber;
+            this.course.courseoffer = data.courseOffer;
+            this.course.coursename = data.name;
+            this.course.eventtype = data.eventType;
+            this.course.coursedate = data.courseDate;
+            this.course.topic = data.topic;
+            this.course.courselocation = data.location;
+            this.course.accompanyingteacher = data.accompanyingTeacher;
+            this.course.supervisingstudents = data.supervisingStudents;
+            this.course.presentstudents = data.presentStudents;
+            this.course.registeredstudents = data.registeredStudents;
+            this.course.instructor = data.instructor;
+            this.course.notefield = data.noteField;
+
+          },
+          error => {
+            this.message = (error.response && error.response.data) || error.message || error.toString();
+            this.successful = false;
+          }
+      );
     },
 
     validateBeforeSubmit() {
       this.$validator.validate().then(isValid => {
         if (isValid) {
-          console.log("isvalid")
+          this.course.id = this.id;
           this.$store.dispatch('course/update', this.course).then(
               data => {
                 this.message = data.message;
diff --git a/src/models/course.js b/src/models/course.js
index 5d1080c..be185bd 100644
--- a/src/models/course.js
+++ b/src/models/course.js
@@ -1,6 +1,7 @@
 export default class Course {
 
-    constructor(coursenumber, courseoffer, coursename, eventtype, coursedate, topic, courselocation, accompanyingteacher, supervisingstudents, presentstudents, registeredstudents, instructor, notefield) {
+    constructor(id, coursenumber, courseoffer, coursename, eventtype, coursedate, topic, courselocation, accompanyingteacher, supervisingstudents, presentstudents, registeredstudents, instructor, notefield, status) {
+        this.id = id,
         this.coursenumber = coursenumber;
         this.courseoffer = courseoffer;
         this.coursename = coursename;
@@ -14,5 +15,6 @@ export default class Course {
         this.registeredstudents = registeredstudents;
         this.instructor = instructor;
         this.notefield = notefield;
+        this.status = status;
     }
 }
diff --git a/src/services/course.service.js b/src/services/course.service.js
index 6119c2b..fe8f030 100644
--- a/src/services/course.service.js
+++ b/src/services/course.service.js
@@ -29,6 +29,41 @@ class CourseService {
             });
     }
 
+    update(course) {
+        return axios
+            .post(API_URL + 'updateCourse', {
+                    id: course.id,
+                    angebotsnummer: course.coursenumber,
+                    angebot: course.courseoffer,
+                    kursname: course.coursename,
+                    veranstaltungsart: course.eventtype,
+                    kursdatum: course.coursedate,
+                    thema: course.topic,
+                    kursort: course.courselocation,
+                    begleitendeLehrkraft: course.accompanyingteacher,
+                    betreuendeStudenten: course.supervisingstudents,
+                    anzahlderAnwesenden:course.presentstudents,
+                    anzahlderAngemeldeten:course.registeredstudents,
+                    kursleiter: course.instructor,
+                    notiz: course.notefield,
+                }
+                ,{headers: authHeader() })
+            .then(response => {
+                return response.data;
+            });
+    }
+
+    delete() {
+        return axios
+            .post(API_URL + 'deleteCourse', {
+                    id:8
+                }
+                ,{headers: authHeader() })
+            .then(response => {
+                return response.data;
+            });
+    }
+
     getAll() {
         return axios
             .get(API_URL + 'getCourses', {
diff --git a/src/store/course.module.js b/src/store/course.module.js
index 6c54b3f..13a1f8c 100644
--- a/src/store/course.module.js
+++ b/src/store/course.module.js
@@ -24,11 +24,24 @@ export const course = {
         update({ commit }, course) {
             return CourseService.update(course).then(
                 response => {
-                    commit('updateSuccess', response);
+                    commit('insertSuccess', response);
                     return Promise.resolve(response);
                 },
                 error => {
-                    commit('updateFailure');
+                    commit('insertFailure');
+                    return Promise.reject(error);
+                }
+            );
+        },
+
+        delete({ commit }) {
+            return CourseService.update().then(
+                response => {
+                    commit('insertSuccess', response);
+                    return Promise.resolve(response);
+                },
+                error => {
+                    commit('insertFailure');
                     return Promise.reject(error);
                 }
             );
-- 
GitLab