コード例 #1
0
 public function update(Request $request, $id)
 {
     $this->validate($request, $this->rules);
     $data = $request->all();
     $payable = Payable::throughCompany()->find($id);
     if (!$payable) {
         abort(404);
     }
     $payable->update($data);
     $type = PayableType::throughCompany()->find($data['payable_type']['id']);
     if ($type) {
         $payable->payableType()->associate($type);
     }
     $payable->save();
     return (new ApiParcel())->addMessage('general', 'Serviço alterado com sucesso!');
 }
コード例 #2
0
 public function index(Request $request)
 {
     return PayableType::throughCompany()->ngTable($request, null, ['id', 'name'], ['id', 'name']);
 }
コード例 #3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     DB::table('payables')->delete();
     DB::table('payable_types')->delete();
     DB::table('job_order_jobs')->delete();
     DB::table('job_orders')->delete();
     DB::table('jobs')->delete();
     DB::table('customer_phones')->delete();
     DB::table('customers')->delete();
     DB::table('users')->delete();
     DB::table('companies')->delete();
     $companies = [];
     foreach (range(0, 2) as $x) {
         $companies[] = \App\Models\Company::create(['name' => "Empresa {$x}", 'email' => "empresa{$x}@teste.com.br", 'cnpj' => '81.748.407/0001-01', 'ie' => '309.639.790.252', 'address' => "Endereço da Empresa {$x}", 'number' => $x, 'district' => "Bairro de Teste {$x}", 'city' => "Cidade de Teste {$x}", 'state' => "Teste", 'zip' => '00000-0' . str_pad($x, 2, '0', STR_PAD_LEFT), 'contact' => "Pessoa de Teste {$x}"]);
     }
     $cid = 0;
     foreach ($companies as $company) {
         $cid += 1;
         User::create(['name' => 'Teste', 'email' => "teste{$cid}@teste.com.br", 'password' => Hash::make('teste')])->company()->associate($company)->save();
         $jobs = [];
         foreach (range(0, 15) as $x) {
             $job = Job::create(['name' => "Serviço de teste {$cid}/{$x}", 'price' => $x * 100, 'description' => "Serviço de teste {$x}"])->company()->associate($company);
             $job->save();
             $jobs[] = $job;
         }
         $customers = [];
         foreach (range(0, 15) as $x) {
             $customer = Customer::create(['name' => "Cliente {$cid}/{$x}", 'email' => "cliente{$x}@teste.com.br", 'cnpj' => '81.748.407/0001-01', 'ie' => '309.639.790.252', 'address' => "Endereço de Teste {$x}", 'number' => $x, 'district' => "Bairro de Teste {$x}", 'city' => "Cidade de Teste {$x}", 'state' => "Teste", 'zip' => '00000-0' . str_pad($x, 2, '0', STR_PAD_LEFT), 'contact' => "Pessoa de Teste {$x}"])->company()->associate($company);
             $customer->save();
             foreach (range(0, rand(1, 5)) as $y) {
                 $customer->phones()->create(['phone' => "1398765432{$y}"]);
             }
             $testJobs = array_pick_index($jobs, array_rand($jobs, 5));
             $customerJobOrder = JobOrder::create(['customer_id' => $customer->id, 'note' => "Nota de teste para o cliente {$cid}/{$x}"])->company()->associate($company);
             $customerJobOrder->save();
             $testJobs = array_map(function ($item) {
                 return ['job_id' => $item->id, 'price' => $item->price];
             }, $testJobs);
             $customerJobOrder->jobs()->sync($testJobs);
             $customerJobOrder->save();
             $customers[] = $customer;
         }
         $payableTypes = [];
         foreach (range(0, 15) as $i) {
             $payableType = PayableType::create(['name' => "Conta de Teste {$cid}/{$i}", 'description' => "Descrição do tipo {$i}"])->company()->associate($company);
             $payableType->save();
             $payableTypes[] = $payableType;
         }
         $payables = [];
         foreach ($customers as $customer) {
             foreach (range(0, rand(1, 5)) as $x) {
                 $type = current(array_pick_index($payableTypes, array_rand($payableTypes, 5)));
                 $payable = \App\Models\Payable::create(['payable_type_id' => $type->id, 'date' => \Carbon\Carbon::now()->addDays(rand(1, 60)), 'status' => rand(1, 2), 'price' => $x * 100, 'description' => "Descrição de uma conta a pagar {$customer->id}/{$x}"])->company()->associate($company);
                 $payable->save();
                 $payables[] = $payable;
             }
         }
     }
     Model::reguard();
 }