Beispiel #1
0
 public function store(Request $request)
 {
     $user = Sentinel::getUser()->id;
     $rules = ['title' => 'required|min:5|max:150|unique:samples,title,null,id,user_id,' . $user, 'content' => 'required|min:10', 'img' => 'required|mimes:jpg,png,gif,jpeg,bmp', 'tags' => 'required'];
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return back()->withInput()->withErrors($validator);
     } else {
         if ($request->file('img')->isValid()) {
             $image = $request->file('img');
             $filename = $user . "_" . time() . '.' . $image->getClientOriginalExtension();
             $thumbname = 'thumb_' . $filename;
             # Save Img
             Image::make($image)->resize(800, null, function ($constraint) {
                 $constraint->aspectRatio();
                 $constraint->upsize();
             })->save(storage_path('app/samples/org/') . $filename);
             # Save Thumb
             Image::make($image)->resize(200, null, function ($constraint) {
                 $constraint->aspectRatio();
                 $constraint->upsize();
             })->save(storage_path('app/samples/thumb/') . $thumbname);
             # Create Sample
             $sample = new Sample();
             $sample->title = $request->title;
             $sample->content = $request->content;
             $sample->active = 0;
             $sample->img = $filename;
             $sample->category_id = $request->categories;
             $sample->user_id = $user;
             if ($sample->save()) {
                 $tags = $request->tags;
                 foreach ($tags as $tag) {
                     if (is_numeric($tag)) {
                         $tagableSave = new Taggable();
                         $tagableSave->taggable_id = $sample->id;
                         $tagableSave->tag_id = $tag;
                         $tagableSave->taggable_type = 'App\\Sample';
                         $tagableSave->user_id = $user;
                         $tagableSave->save();
                     } else {
                         if (strlen($tag) >= 3) {
                             $tagExist = Tag::where('text', $tag)->count();
                             if ($tagExist == 0) {
                                 $tagSave = new Tag();
                                 $tagSave->text = $tag;
                                 $tagSave->save();
                                 $tagableSave = new Taggable();
                                 $tagableSave->taggable_id = $sample->id;
                                 $tagableSave->tag_id = $tagSave->id;
                                 $tagableSave->taggable_type = 'App\\Sample';
                                 $tagableSave->user_id = $user;
                                 $tagableSave->save();
                             }
                         }
                     }
                 }
                 # Redirect on Success
                 return redirect()->route('user.sample.index')->with('success', trans('validation.sample_success'));
             }
         }
     }
     return back()->withInput()->with('error', 'مشکل در اتصال به سرور. لطفا مجددا تلاش کنید.');
 }
 private function insertToTableSample($array)
 {
     $sample = new Sample();
     $sample->id = $array['0'];
     $sample->CustomerName = $array['1'];
     $sample->DatePurchase = $this->formatDatePurchase($array['2']);
     $sample->AmountDue = $array['3'];
     $sample->Discount = $array['4'];
     $sample->GST = $array['5'];
     $sample->TotalPriceBeforeDisc = $sample->AmountDue + $sample->Discount - $sample->GST;
     $sample->created_at = $array['6'];
     $sample->updated_at = $array['7'];
     $sample->save();
 }
 public function add($data)
 {
     $sample = null;
     $data['serial_number'] = 1;
     $year = date('Y');
     $last_entered = Sample::where('created_at', 'LIKE', $year . '%')->orderBy('serial_number', 'desc')->first();
     if ($last_entered) {
         $data['serial_number'] = $last_entered->serial_number + 1;
     }
     $sample = new Sample($data);
     $sample->save();
     if ($sample->token) {
         $sample_organic_certificates = SampleOrganicCertificate::whereSampleToken($sample->token)->get();
         foreach ($sample_organic_certificates as $sample_organic_certificate) {
             $sample_organic_certificate->sample_token = null;
             $sample->sample_organic_certificates()->save($sample_organic_certificate);
         }
         $sample_allergen_certificates = SampleAllergenCertificate::whereSampleToken($sample->token)->get();
         foreach ($sample_allergen_certificates as $sample_allergen_certificate) {
             $sample_allergen_certificate->sample_token = null;
             $sample->sample_allergen_certificates()->save($sample_allergen_certificate);
         }
         $sample_vegan_certificates = SampleVeganCertificate::whereSampleToken($sample->token)->get();
         foreach ($sample_vegan_certificates as $sample_vegan_certificate) {
             $sample_vegan_certificate->sample_token = null;
             $sample->sample_vegan_certificates()->save($sample_vegan_certificate);
         }
         $sample_images = SampleImage::whereSampleToken($sample->token)->get();
         foreach ($sample_images as $sample_image) {
             $sample_image->sample_token = null;
             $sample->sample_images()->save($sample_image);
         }
         $label_images = LabelImage::whereSampleToken($sample->token)->get();
         foreach ($label_images as $label_image) {
             $label_image->sample_token = null;
             $sample->label_images()->save($label_image);
         }
     }
     if ($data['producer_id'] == 'new') {
         unset($data['producer_id']);
         $producer = new Producer();
         $producer->name = $data['producer__name'];
         $producer->customer_id = $sample->customer_id;
         $producer->contact_person = $data['producer__contact_person'];
         $producer->email = $data['producer__email'];
         $producer->phone = $data['producer__phone'];
         $producer->save();
         $sample->producer_id = $producer->id;
         $sample->save();
     }
     if ($data['varietals']) {
         if (is_array($data['varietals'])) {
             foreach ($data['varietals'] as $varietal_data) {
                 if ($varietal_data['name'] && $varietal_data['percentage']) {
                     $sample->sample_varietals()->save(new SampleVarietal($varietal_data));
                 }
             }
         }
     }
     if ($data['prizes']) {
         if (is_array($data['prizes'])) {
             foreach ($data['prizes'] as $prize_data) {
                 if ($prize_data['name']) {
                     $sample_prize = $sample->sample_prizes()->save(new SamplePrize($prize_data));
                     if ($prize_data['token']) {
                         $sample_prize_files = SamplePrizeFile::whereSamplePrizeToken($prize_data['token'])->get();
                         foreach ($sample_prize_files as $sample_prize_file) {
                             $sample_prize_file->sample_prize_token = null;
                             $sample_prize_file->sample_prize_id = $sample_prize->id;
                             $sample_prize_file->save();
                         }
                     }
                     $sample_prize->token = null;
                     $sample_prize->save();
                 }
             }
         }
     }
     $sample->token = null;
     $sample->save();
     return $sample;
 }