[ 'dispensar' => $medicamentoSupervisor->dispensar ?? false, ], 'posologia' => [ 'is_obrigatorio' => $parametrizacaoPosologia->is_obrigatorio ?? false, ], 'dispensacao' => [ 'prazo_receita_dias' => $parametrizacaoDispensacao->prazo_receita_dias ?? null, 'utiliza_solicitacao_medicamentos_ambulatorio' => $parametrizacaoDispensacao->utiliza_solicitacao_medicamentos_ambulatorio ?? false, ], 'limite_prescricao_medicamento' => [ 'limite_dias' => $limitePrescricaoMedicamento->limite_dias ?? null ], 'app_cidadao' => [ 'permite_envio_receitas_medicas' => $appCidadao->permite_envio_receitas_medicas ?? false, ], ]; } public static function store() { self::validate(); DB::transaction(function () { ParametrizacaoMedicamentoSupervisor::updateOrCreate( ['id' => ParametrizacaoMedicamentoSupervisor::first()->id ?? null], request()->medicamento_supervisor, ); ParametrizacaoPosologia::updateOrCreate( ['id' => ParametrizacaoPosologia::first()->id ?? null], request()->posologia, ); ParametrizacaoDispensacao::updateOrCreate( ['id' => ParametrizacaoDispensacao::first()->id ?? null], request()->dispensacao, ); ParametrizacaoAppCidadao::updateOrCreate( ['id' => ParametrizacaoAppCidadao::first()->id ?? null], request()->app_cidadao, ); if (is_null(request()->limite_prescricao_medicamento['limite_dias'])) { $limitePrescricao = ParametrizacaoLimitePrescricaoMedicamento::first(); if (!is_null($limitePrescricao)) { $limitePrescricao->delete(); } } else { ParametrizacaoLimitePrescricaoMedicamento::updateOrCreate( ['id' => ParametrizacaoLimitePrescricaoMedicamento::first()->id ?? null], request()->limite_prescricao_medicamento, ); } }); } public static function validate() { $rules = [ 'dispensacao.prazo_receita_dias' => [ 'nullable', 'integer', 'max:999', ], 'dispensacao.utiliza_solicitacao_medicamentos_ambulatorio' => [ 'required', 'boolean', ], 'limite_prescricao_medicamento.limite_dias' => [ 'nullable', 'integer', 'max:730', ], 'app_cidadao.permite_envio_receitas_medicas' => [ 'required', 'boolean', ], ]; $messages = []; request()->validate($rules, $messages); } }