/** * 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]); }