public function addEvaluacion(Request $request) { $validator = Validator::make($request->all(), ['Nombre' => 'required|min:5', 'Ciclo' => 'required', 'Grado' => 'required|unique_in_grade:' . $request->Nombre . ',' . $request->Ciclo . ',' . $request->Grado . '']); if ($validator->fails()) { return response()->json(['bandera' => false, 'message' => $validator->errors()]); } else { $existe = DB::table('SCC_Evaluaciones')->select('SCC_Evaluaciones.Id')->where('SCC_Evaluaciones.IdGrado', '=', $request->Grado)->where('SCC_Evaluaciones.IdCicloEscolar', '=', $request->Ciclo)->where('SCC_Evaluaciones.Nombre', '=', $request->Nombre)->where('SCC_Evaluaciones.IsActivo', '=', 1)->first(); if (is_null($existe)) { $orden = DB::table('SCC_Evaluaciones')->select('SCC_Evaluaciones.*')->where('SCC_Evaluaciones.IdGrado', '=', $request->Grado)->where('SCC_Evaluaciones.IdCicloEscolar', '=', $request->Ciclo)->max('SCC_Evaluaciones.Orden'); if (is_null($orden)) { $nuevo = 1; } else { $nuevo = $orden + 1; } $user = Auth::user(); $idUsuario = $user->id; $date = date("Ymd H:i:s"); $evaluacion = new Evaluaciones(); $evaluacion->IdCicloEscolar = $request->Ciclo; $evaluacion->IdGrado = $request->Grado; $evaluacion->Nombre = $request->Nombre; $evaluacion->Orden = $nuevo; $evaluacion->IsActivo = 1; $evaluacion->FechaAdd = $date; $evaluacion->FechaUpdate = $date; $evaluacion->IdAddUser = $idUsuario; $evaluacion->IdUpdateUser = $idUsuario; if ($evaluacion->save()) { return response()->json(['bandera' => true, 'message' => 'La evaluacion se registro correctamente']); } else { return response()->json(['bandera' => false, 'message' => 'La evaluacion no pudo registrarse, intente nuevamente']); } } else { return response()->json(['bandera' => false, 'message' => 'Ya existe una evaluacion con el mismo nombre para el grado']); } } }