/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //return $request->all();
     $task = new Task();
     $task->subject_id = $request->subject_id;
     $task->subject_type = $request->subject_type;
     $task->subject_name = Breadcrumbs::getSubjectName($request->subject_type, $request->subject_id);
     $task->status = $request->status;
     $task->created_by = auth()->user()->id;
     $task->action_owner = $request->action_owner;
     $task->title = $request->title;
     $task->description = $request->description;
     if (isset($request->milestone)) {
         $task->milestone = $request->milestone;
         $task->StartDate = Carbon::parse($request->StartDate)->toDateTimeString();
         $task->EndDate = null;
     } else {
         $task->milestone = 0;
         $task->StartDate = Carbon::parse($request->StartDate)->toDateTimeString();
         $task->EndDate = Carbon::parse($request->EndDate)->toDateTimeString();
     }
     $task->created_by = Auth::id();
     $task->save();
     flash()->success('Success', "New Task created successfully");
     return redirect(Session::GetRedirect());
 }
 public function ProcessTheParsedFile($projectid)
 {
     $array = session('msimportarray');
     //delete all previously imported items for this project
     $affected = DB::table('tasks')->where('subject_type', '=', 'Project')->where('subject_id', '=', $projectid)->where('imported', '=', 1)->delete();
     //loop through and add the records
     $donearray = array();
     $seq = 1;
     $parentUID = 0;
     foreach ($array as $mainitem) {
         foreach ($mainitem as $item) {
             //check if already added
             if (isset($donearray[$item['UID']])) {
                 $parentUID = $item['UID'];
                 continue;
             }
             $task = new Task();
             $task->imported = 1;
             $task->subject_id = $projectid;
             $task->subject_type = 'Project';
             $task->subject_name = Breadcrumbs::getSubjectName($task->subject_type, $task->subject_id);
             $task->status = 'Open';
             $task->flag1 = $item['flag1'];
             $task->created_by = auth()->user()->id;
             $task->action_owner = auth()->user()->id;
             $task->title = $item['Name'];
             $task->description = 'Imported from MS Project';
             if ($item['Milestone'] == '1') {
                 $task->milestone = 1;
                 $task->StartDate = Carbon::parse($item['Finish'])->toDateTimeString();
                 $task->EndDate = null;
             } else {
                 $task->milestone = 0;
                 $task->StartDate = Carbon::parse($item['Start'])->toDateTimeString();
                 $task->EndDate = Carbon::parse($item['Finish'])->toDateTimeString();
             }
             $task->sequence = $seq;
             $task->UID = $item['UID'];
             $task->outlinenumber = $item['OutlineNumber'];
             $task->PercentComplete = $item['PercentComplete'];
             if ($item['OutlineLevel'] > 1) {
                 //is a child
                 $task->parentUID = $parentUID;
             }
             $task->save();
             $donearray[$item['UID']] = 1;
             $parentUID = $item['UID'];
             $seq++;
         }
     }
     //return $array;
     flash()->success('Success', "Tasks imported successfully from the MS Project File");
     return redirect()->action('TaskController@indexTask', ['Project', $projectid]);
 }