//create tasks for machine service method
        private TasksForMachineService CreateTasksForMachineService()
        {
            Guid userId = Guid.Parse(User.Identity.GetUserId());
            TasksForMachineService service = new TasksForMachineService(userId);

            return(service);
        }
        public async Task <IHttpActionResult> GetAllActiveTasks()
        {
            //instantiate service
            TasksForMachineService service = CreateTasksForMachineService();

            List <TasksForMachineListItem> tasksForMachine = await service.GetAllActiveTasks();

            return(Ok(tasksForMachine)); //200
        }
        public async Task <IHttpActionResult> GetTasksbyId([FromUri] int id)
        {
            //instantiate service
            TasksForMachineService service = CreateTasksForMachineService();

            List <TasksForMachineListItem> task = await service.GetById(id);

            return(Ok(task)); //200
        }
        public async Task <IHttpActionResult> DeleteMaintenanceTask()
        {
            {
                //instantiate service
                TasksForMachineService service = CreateTasksForMachineService();

                await service.RemoveTasksThatAreNoLongerNeeded();

                return(Ok()); //200
            }
        }
        public async Task <IHttpActionResult> CreateTasksForEverything()
        {
            //check if model is valid
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //instantiate service
            TasksForMachineService service = CreateTasksForMachineService();

            if (await service.CreateTasksForEverything() == false)
            {
                return(InternalServerError());
            }

            return(Ok("All Tasks Generated")); //200 with custom message
        }
        public async Task <IHttpActionResult> CompleteAndGenerateNewTasksForMachineById([FromUri] int id)
        {
            //check if model is valid
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //instantiate service
            TasksForMachineService service = CreateTasksForMachineService();

            if (await service.CompleteAndGenerateNewTasksForMachineById(id) == false)
            {
                return(InternalServerError()); //500
            }

            return(Ok("Task Complete and new task added")); //200 with custom message
        }
        public async Task <IHttpActionResult> GetAllActiveTasksThatAreUnassignedByIdForBuildingAreaOrMachine([FromBody] TasksForMachineSearch search)
        {
            //check if model is valid
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (search.SearchTerm == "Building" || search.SearchTerm == "Area" || search.SearchTerm == "Machine")
            {
                //instantiate service
                TasksForMachineService service = CreateTasksForMachineService();

                List <TasksForMachineByMachineIdLookup> tasksForMachine = await service.GetAllActiveTasksThatAreUnassignedByIdForBuildingAreaOrMachine(search);

                return(Ok(tasksForMachine)); //200
            }

            return(BadRequest()); //400
        }