/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     // validate request
     $validateProject = Validator::make($request->get('Project'), Project::$rules);
     $validationMessages = [];
     if ($validateProject->fails() or count($validationMessages) > 0) {
         $validationMessages = array_merge_recursive($validateProject->messages()->toArray(), $validationMessages);
         return redirect()->back()->withErrors($validationMessages)->withInput();
     }
     // sure execute success, if not success rollback
     //DB::transaction(function () use ($request) {
     $user = $request->user();
     // insert Project
     $project = new Project();
     $project->key = Common::createKeyURL($request->input('Project.name'));
     $project->name = $request->input('Project.name');
     $project->project_type_id = $request->input('Project.project_type_id');
     $project->province_id = $request->input('Project.province_id');
     $project->district_id = $request->input('Project.district_id');
     $project->ward_id = $request->input('Project.ward_id');
     $project->street_id = $request->input('Project.street_id');
     $project->address = $request->input('Project.address');
     $project->hotline = $request->input('Project.hotline');
     $project->hotline_fa_icon = $request->input('Project.hotline_fa_icon');
     $project->email = $request->input('Project.email');
     $project_images = [];
     $project_image_path = $request->input('project_image.path');
     $project_image_title = $request->input('project_image.title');
     $project_image_caption = $request->input('project_image.caption');
     $project_image_active = $request->input('project_image.active');
     //dd($project_image_active);
     $agents = $request->input('Project.agents');
     if (empty($project_image_path) || empty($agents)) {
         return redirect()->back()->withErrors("Kiểm tra lại hình ảnh, nhân viên môi giới.");
     }
     $project->logo = $request->input('Project.logo');
     $project->show_slide = $request->input('Project.show_slide');
     $project->summary = $request->input('Project.summary');
     $project->content = $request->input('Project.content');
     $project->map_latitude = $request->input('Project.map_latitude');
     $project->map_longitude = $request->input('Project.map_longitude');
     $project->meta_description = $request->input('Project.meta_description');
     $project->meta_keywords = $request->input('Project.meta_keywords');
     $project->priority = $request->input('Project.priority');
     $project->active = $request->input('Project.active');
     //dd($project_image_path);
     //dd($project_image_title);
     //dd($project_image_caption);
     //dd($project_image_active[1]);
     $project->created_by = $user->name;
     $project->updated_by = $user->name;
     $project->save();
     // sync categories
     if ($request->input('Project.categories') != "") {
         $categories = explode(",", $request->input('Project.categories'));
         if (count($categories) > 0) {
             $project->categories()->attach($categories);
         }
     }
     // push project_images
     foreach ($project_image_path as $key => $value) {
         array_push($project_images, new Project_image(['project_id' => $project->id, 'path' => $project_image_path[$key], 'title' => $project_image_title[$key], 'caption' => $project_image_caption[$key], 'active' => isset($project_image_active[$key]) ? $project_image_active[$key] : 0]));
     }
     $project->project_images()->saveMany($project_images);
     // sync categories
     $arrAgents = explode(",", $agents);
     if (count($arrAgents) > 0) {
         $project->agents()->attach($arrAgents);
     }
     // Face project_part
     $project_part_name = ['Vị trí', 'Tiện ích', 'Mặt bằng', 'Nhà mẫu', 'Thanh toán'];
     $project_part_type = ['E', 'E', 'E', 'E', 'E'];
     $project_part_link = ['project-location', 'project-utility', 'project-ground', 'project-form', 'project-payment'];
     $project_part_fa_icon = ['fa fa-map-marker', 'fa fa-object-group', 'fa fa-database', 'fa fa-home', 'fa fa-money'];
     $project_part_summary = ['Mô tả ngắn gọn Vị trí', 'Mô tả ngắn gọn Tiện ích', 'Mô tả ngắn gọn Mặt bằng', 'Mô tả ngắn gọn Nhà mẫu', 'Mô tả ngắn gọn Thanh toán'];
     $project_part_content = ['Nội dung Vị trí', 'Nội dung Tiện ích', 'Nội dung Mặt bằng', 'Nội dung Nhà mẫu', 'Nội dung Thanh toán'];
     foreach ($project_part_name as $key => $name) {
         $project_part = Project_part::create(['project_id' => $project->id, 'key' => Common::createKeyURL($name), 'name' => $name, 'link' => $project_part_link[$key], 'class' => 'scroll', 'type' => $project_part_type[$key], 'fa_icon' => $project_part_fa_icon[$key], 'sumary' => $project_part_summary[$key], 'content' => $project_part_content[$key], 'priority' => $key, 'active' => 1, 'created_by' => 'vankhoe', 'updated_by' => 'vankhoe']);
     }
     // End Face project_part
     $project->save();
     //});
     return redirect()->route('admin.projects.index');
 }