{"body":"angular.module('prioritizeApp').factory('projectService', ['$http', 'attachmentService','taskService','attachmentListService','taskListService','APIUrls',\n    function ($http, attachmentService, taskService,attachmentListService, taskListService, APIUrls) {\n        function Project() {\n            var proj = this;\n            proj.projectId = '';\n            proj.name = '';\n            proj.description = '';\n            proj.requestById = '';\n            proj.projectManagerId = '';\n            proj.departmentId = '';\n            proj.priority = '';\n            proj.createDate = '';\n            proj.status = '';\n\n            proj.tasks = [];\n            proj.attachments = [];\n\n\n            proj.AddTask = function () {\n                proj.tasks.push(taskService.Task({\n                    taskId: 0,\n                    projectId: proj.projectId,\n                    status: 'A'\n                }));\n            };\n\n            proj.AddAttachment = function () {\n                proj.attachments.push(attachmentService.Attachment({\n                    projectId: proj.projectId,\n                }));\n            };\n\n            proj.ReloadProject = function () {\n                return $http.get(APIUrls.getUrl('projects') + '/' + proj.projectId).\n                        then(function (response) {\n                            for ( var i = 0; i < response.data.length; i++) {\n                                var obj = response.data[i];\n                                for (var prop in obj) { \n                                    proj[prop] = obj[prop];\n                                    }\n                            }\n                    });\n            };\n\n            proj.DenyProject = function () {\n                return $http.post(APIUrls.getUrl('projectProposeDeny', proj.projectId));\n            };\n\n\n            proj.ReloadTasks = function () {\n                //clear tasks \n                //while(proj.tasks.length > 0) {\n                //    proj.tasks.pop();\n                //}\n                //load tasks\n                var Tasks = taskListService.Tasks();\n                Tasks.GetTasksByProjectId(proj.projectId);\n                proj.tasks = Tasks.tasks;\n\n\n\n\n                //for ( var i = 0; i < Tasks.length; i++) {\n                //    proj.tasks.push(Tasks[i]);\n                //}\n            };\n\n            proj.ReloadAttachments = function () {\n                //clear attachments \n                while(proj.attachments.length > 0) {\n                    proj.attachments.pop();\n                }\n\n                //load attachments\n                var Attachments = attachmentListService.Attachments();\n                Attachments.GetAttachmentsByProjectId(proj.projectId);\n                for ( var i = 0; i < Attachments.length; i++) {\n                    proj.attachments.push(Attachments[i]);\n                }\n            };\n\n            proj.ProposeProjectAndTasks = function () {\n                return $http.post(APIUrls.getUrl('projectPropose'),proj);\n            };\n\n        }\n\n        return {\n            Project: function () { \n                var project = new Project();\n                var date = new Date();\n                project.createDate = date.toDateString();\n                project.projectId = 0;\n                return project;\n                },\n            ProjectById: function (id) { \n                var project = new Project();\n                project.projectId = id;\n                project.ReloadProject();\n                project.ReloadTasks();\n                project.ReloadAttachments(); \n                return project; \n                },\n        };\n\n\n\n}]);\n","name":"","extension":"","url":"https://www.irccloud.com/pastebin/Ot7DJcyj","modified":1418071851,"id":"Ot7DJcyj","size":3643,"lines":108,"own_paste":false,"theme":"","date":1418071851}