var app = angular.module('myApp');
app.controller('showProject', showProject);
app.controller('insertProject', insertProject);
app.controller('deleteProject', deleteProject);
app.controller('updateProject', updateProject);
app.controller('loadProjectDetail', loadProjectDetail);
//	controlers tạo Get API
function showProject($scope, $http) {
    $http.get("http://localhost:8081/quan-tri/danh-sach-du-an").then(successCallback, errorCallback);

    function successCallback(response) {
        console.log(response.data);
        {
            $scope.listProject = response.data
        }
    }

    function errorCallback(error) {
        //error code
        console.log("can't get data!!");
    }
};

// tạo controllers insert API
function insertProject($scope, $http, $window,$state) {
    $scope.insert_project = function () {
        $http({
            //khai báo type
            method: 'POST',
            //đường dẫn API
            url: 'http://localhost:8081/quan-tri/them-du-an',
            //truyền dữ liệu nhập trên cline vào data

            data: angular.toJson($scope.project),
            //kiểu dữ liệu API
            headers: {
                'Content-Type': 'application/json'
            }
            //    kết quả trả về (THEN)
        }).then(successCallback, errorCallback);

        //tạo funtion nếu thành công!
        function successCallback(response) {
            // $window.location.href = "http://localhost:8081/#/project";
            $state.go('project');
        }

        //tạo funtion kiểm tra nếu thất bại
        function errorCallback(error) {
            //error code
            console.log("can't insert data!!");
        }
    }
};

// delete project theo id
function deleteProject($scope, $window, $http,$state) {
    $scope.deleteProject = function (project) {
        if (confirm("Bạn có chắc chắn muốn xóa ?")) {
            $http({
                method: 'DELETE',
                url: 'http://localhost:8081/quan-tri/xoa-du-an',
                data: $scope.project,
                headers: {
                    'Content-Type': 'application/json'
                }
            }).then(successCallback, errorCallback);

            //tạo funtion nếu thành công!
            function successCallback(response) {
                // $state.go('project');
                $window.location.reload();
            }

            //tạo funtion kiểm tra nếu thất bại
            function errorCallback(error) {
                //error code
                console.log("can't delete data!!");
            }
        }
    };
};

//tạo controller sửa theo id
function updateProject($scope, $window, $http,$state) {
    $scope.updateProject = function (project) {
        if (confirm("Bạn có muốn sửa không ?")) {
            $http({
                method: 'PUT',
                url: 'http://localhost:8081/quan-tri/sua-du-an',
                data: angular.toJson($scope.project),
                headers: {
                    'Content-Type': 'application/json'
                }
            }).then(successCallback, errorCallback);

            //tạo funtion nếu thành công!
            function successCallback(response) {
                $state.go('project');
                // $window.location.href = "http://localhost:8081/#/project";
            }

            //tạo funtion kiểm tra nếu thất bại
            function errorCallback(error) {
                //error code
                console.log("can't update data!!");
            }
        }
    };
};
function loadProjectDetail($scope,$stateParams,$http) {
    $http.get('http://localhost:8081/quan-tri/chi-tiet-du-an/'+ $stateParams.ID).then(successCallback, errorCallback);
        function successCallback(response) {
            console.log(response.data);
            {
                $scope.project = response.data
            }
        }

        function errorCallback(error) {
            //error code
            console.log("can't get data!!");
        }
}