public function assigntask(Requests\TaskRequest $taskRequest)
 {
     $task = new Task();
     $task->task_name = $taskRequest['taskName'];
     $task->task_description = $taskRequest['taskDescription'];
     $task->assigned_date = date('Y-m-d', strtotime($taskRequest['startingDate']));
     $task->completion_date = date('Y-m-d', strtotime($taskRequest['endingDate']));
     $taskRange = $this->dateRange->date_range($task->assigned_date, $task->completion_date);
     $task->slug = $taskRequest['slug'];
     $flag = false;
     $empNames = $taskRequest['empName'];
     $users = $this->user->where('designation', '=', 'Employee')->get();
     //        var_dump($empNames);
     $var = array();
     $leave_user = array();
     //for users in leave
     $var2 = array();
     //for users not in leave
     $notLeave = array();
     foreach ($empNames as $empName) {
         $user = $this->user->find($empName);
         $leaves = $user->leaves()->get();
         //User That are in Leave
         //            var_dump($leaves);
         if ($leaves->isEmpty()) {
             array_push($notLeave, $user);
         } else {
             array_push($leave_user, $user);
         }
     }
     foreach ($leaves as $leave) {
         $start_date = $leave->start_date;
         $end_date = $leave->end_date;
         $leaveRange = $this->dateRange->date_range($start_date, $end_date);
         $flag = $this->dateRange->date_diff_task_leave($taskRange, $leaveRange);
         if ($flag) {
             array_push($var, $user->id);
             break;
         }
     }
     if (empty($var)) {
         if ($task->save()) {
             $task->users()->attach($empNames);
             \Session::flash('notice', 'Task Assigned');
             return Redirect::back();
         }
     } else {
         \Session::flash('notice', 'Certain User are Absent');
         return Redirect::back()->withInput();
     }
 }