public function store($request)
 {
     $cacheTag = ['companies'];
     $validator = $this->validate($request);
     if (!$validator->fails()) {
         Logs::create(['activity' => 'store', 'module' => 'companies']);
         Cache::tags($cacheTag)->flush();
         $_model = Managers::find(config('global.managers.current.id'));
         $_company = $_model->companies()->create($request);
         Configurations::create(['company_id' => $_company->id]);
         Processes::create(['company_id' => $_company->id, 'description' => 'Pedido realizado', 'order' => 1, 'color' => '#444444']);
         $_company->token = config('global.managers.current.id') . uniqid();
         return $_company->update();
     } else {
         return new \Exception($validator->errors()->first());
     }
 }
 public function store($request)
 {
     $cacheTag = ['configurations'];
     $validator = $this->validate($request);
     if (!$validator->fails()) {
         $_model = Configurations::getConfigutationsByCompanyId(config('global.companies.current.id'));
         if ($_model) {
             Logs::create(['activity' => 'update', 'module' => 'configurations']);
             Cache::tags(['delivery'])->flush();
             Cache::tags($cacheTag)->flush();
             if ($_model->company_id === config('global.companies.current.id')) {
                 return $_model->update($request);
             } else {
                 return new \Exception("Você não tem permissão para atualizar este registro");
             }
         } else {
             return new \Exception("Houve um erro ao localizar registro (id not found)");
         }
     } else {
         return new \Exception($validator->errors()->first());
     }
 }
 public function workingNow()
 {
     $_configurations = Configurations::getConfigutationsByCompanyId(config('global.companies.current.id'));
     if ($_configurations->working) {
         $currentDay = date('w');
         $currentHour = date('H:i:s');
         $workingToday;
         $workingFrom;
         $workingUntil;
         switch ($currentDay) {
             case 0:
                 $workingToday = $_configurations->working_on_sunday;
                 $workingFrom = $_configurations->working_on_sunday_from;
                 $workingUntil = $_configurations->working_on_sunday_until;
                 break;
             case 1:
                 $workingToday = $_configurations->working_on_monday;
                 $workingFrom = $_configurations->working_on_monday_from;
                 $workingUntil = $_configurations->working_on_monday_until;
                 break;
             case 2:
                 $workingToday = $_configurations->working_on_tuesday;
                 $workingFrom = $_configurations->working_on_tuesday_from;
                 $workingUntil = $_configurations->working_on_tuesday_until;
                 break;
             case 3:
                 $workingToday = $_configurations->working_on_wednesday;
                 $workingFrom = $_configurations->working_on_wednesday_from;
                 $workingUntil = $_configurations->working_on_wednesday_until;
                 break;
             case 4:
                 $workingToday = $_configurations->working_on_thursday;
                 $workingFrom = $_configurations->working_on_thursday_from;
                 $workingUntil = $_configurations->working_on_thursday_until;
                 break;
             case 5:
                 $workingToday = $_configurations->working_on_friday;
                 $workingFrom = $_configurations->working_on_friday_from;
                 $workingUntil = $_configurations->working_on_friday_until;
                 break;
             case 6:
                 $workingToday = $_configurations->working_on_saturday;
                 $workingFrom = $_configurations->working_on_saturday_from;
                 $workingUntil = $_configurations->working_on_saturday_until;
                 break;
         }
         if ($workingToday) {
             $timeFrom = strtotime($workingFrom);
             $timeUntil = strtotime(strpos($workingUntil, '00:') === 0 ? substr_replace($workingUntil, '24:', 0, 3) : $workingUntil);
             $timeNow = strtotime($currentHour);
             if ($timeNow >= $timeFrom) {
                 if ($timeFrom < $timeUntil) {
                     if ($timeNow <= $timeUntil) {
                         return $this->jsonResponse(['data' => 1]);
                     } else {
                         return $this->jsonResponse(['data' => 0]);
                     }
                 } else {
                     if ($timeNow >= $timeUntil) {
                         return $this->jsonResponse(['data' => 1]);
                     } else {
                         return $this->jsonResponse(['data' => 0]);
                     }
                 }
             } else {
                 return $this->jsonResponse(['data' => 0]);
             }
         } else {
             return $this->jsonResponse(['data' => 0]);
         }
     } else {
         return $this->jsonResponse(['data' => 0]);
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     \App\Models\Companies::create(['name' => 'Pingado Web - Agência Digital', 'uri' => 'pingadoweb.com.br', 'active' => true, 'token' => uniqid()]);
     \App\Models\Configurations::create(['company_id' => 1]);
 }