public function store(Request $request) { $regras = array('estado' => 'required|not_in:-1', 'endereco' => 'required', 'bairro' => 'required', 'cidade' => 'required', 'telefone' => 'required', 'isPrincipal' => 'required'); $mensagens = array('estado.required' => 'O campo Estado deve ser selecionado.', 'estado.not_in' => 'O campo Estado deve ser selecionado.', 'endereco.required' => 'O campo Endereço deve ser preenchido.', 'bairro.required' => 'O campo Bairro deve ser preenchido.', 'cidade.required' => 'O campo Cidade deve ser preenchido.', 'telefone.required' => 'O campo Telefone deve ser preenchido'); $validator = Validator::make($request->all(), $regras, $mensagens); if ($validator->fails()) { return redirect()->back()->withErrors($validator)->withInput(); } DB::beginTransaction(); try { $endereco = Endereco::create(['endereco' => $request['endereco'], 'bairro' => $request['bairro'], 'estado' => $request['estado'], 'cidade' => $request['cidade'], 'lon' => $request['lon'], 'lat' => $request['lat'], 'cep' => $request['cep']]); $telefone = Telefone::create(['numero' => $request['telefone']]); $whatsAppNumero = $request['whatsapp']; if (!empty($whatsAppNumero)) { $whatsApp = WhatsApp::create(['numero' => $whatsAppNumero]); } $usuario = Auth::user(); $empresa = Empresa::where('idUsuario', '=', $usuario->id)->first(); $idEmpresa = $empresa->id; if (empty($idEmpresa)) { DB::rollBack(); return redirect()->back(); } $filial = Filial::create(['idEmpresa' => $idEmpresa, 'idEndereco' => $endereco->id, 'idTelefone' => $telefone->id, 'idWhatsApp' => $whatsApp->id, 'isPrincipal' => $request['isPrincipal']]); $idComerciante = Comerciante::where('idUsuario', '=', $usuario->id)->first(); $idsAssinaturasLiberadas = DB::select(DB::raw("select a.id from assinaturas a inner join assinaturasComerciantes ac on a.id = ac.idAssinatura where ac.idComerciante = :idComerciante and a.id not in(select idAssinatura from assinaturasFiliais)"), ['idComerciante' => 1]); if (count($idsAssinaturasLiberadas) > 0) { AssinaturaFilial::create(['idAssinatura' => $idsAssinaturasLiberadas[0]->id, 'idFilial' => $filial->id]); } else { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroTags', 'Não existe assinatura disponivel.'); return redirect()->back()->withErrors($errors); } } catch (ValidationException $exception) { DB::rollBack(); $errors = $validator->getMessageBag(); $errors->add('ErroTags', $exception); return redirect()->back()->withErrors($errors); } DB::commit(); Session::flash('flash_message', 'Filial adicionada com sucesso!'); return redirect()->back(); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $filial = Filial::create(['nome' => $request->nome]); $filial->uf()->associate(Uf::find($request->uf))->save(); echo 'Filial cadastrada'; }