Changes between Version 10 and Version 11 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/25/25 13:25:59 (3 weeks ago)
Author:
223270
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v10 v11  
    113113{{{
    114114DB::transaction(function () use ($request) {
    115     DB::table('rezervacii')->insert([
    116         'idkorisnik' => auth()->id(),
    117         'idaktivnost' => $request->aktivnost_id,
    118         'datum' => now()
    119     ]);
    120 
    121     DB::table('aktivnosti')
    122         ->where('idaktivnost', $request->aktivnost_id)
    123         ->decrement('kvota', 1);
     115    DB::table('activity_reservation')->insert([
     116        'id_user' => auth()->id(),
     117        'id_activity' => $request->activity_id,
     118        'reservation_date' => now()
     119    ]);
     120
     121    DB::table('activity')
     122        ->where('id_activity', $request->activity_id)
     123        ->decrement('amount', 1);
    124124});
    125125}}}
     
    129129Се користи трансакција за да сигурност дека внесувањето е валидно и се запишува како целина.
    130130{{{
    131 DB::transaction(function () use ($request) {
    132             $validatedData = $request->validate([
    133                 'imepaket' => 'required|string|max:255',
    134                 'cena' => 'required|numeric',
    135                 'pochetok' => 'required|date_format:Y-m-d\TH:i',
    136                 'kraj' => 'required|date_format:Y-m-d\TH:i|after_or_equal:pochetok',
    137             ]);
    138 
    139             TravelPackage::create($validatedData);
    140         });
     131// Внесување TravelPackage
     132DB::transaction(function () use ($request) {
     133    $validatedData = $request->validate([
     134        'package_name' => 'required|string|max:255',
     135        'price' => 'required|numeric',
     136        'start_date' => 'required|date_format:Y-m-d\TH:i',
     137        'end_date' => 'required|date_format:Y-m-d\TH:i|after_or_equal:start_date',
     138        'id_destination' => 'required|integer|exists:destination,id_destination'
     139    ]);
     140
     141    TravelPackage::create($validatedData);
     142});
    141143}}}
    142144
    143145
    144146{{{
    145 DB::transaction(function () use ($request) {
    146             $validatedData = $request->validate([
    147                 'naziv' => 'required|string|max:255',
    148                 'vidovi' => 'required|string|max:255',
    149                 'detali' => 'nullable|string',
    150                 'pochetendatum' => 'required|date',
    151                 'kraendatum' => 'required|date',
    152             ]);
    153 
    154             TravelEvent::create($validatedData);
    155         });
    156 }}}
    157 
    158 
    159 {{{
    160 DB::transaction(function () use ($request) {
    161             $validatedData = $request->validate([
    162                 'imeaktivnost' => 'required|string|max:255',
    163                 'informacii' => 'nullable|string|max:255',
    164                 'kategorija' => 'required|string|max:255',
    165                 'iznos' => 'nullable|numeric',
    166             ]);
    167 
    168             TravelActivity::create($validatedData);
    169         });
     147// Внесување TravelEvent
     148DB::transaction(function () use ($request) {
     149    $validatedData = $request->validate([
     150        'event_name' => 'required|string|max:255',
     151        'event_type' => 'required|string|max:255',
     152        'details' => 'nullable|string',
     153        'start_date' => 'required|date',
     154        'end_date' => 'required|date',
     155        'id_destination' => 'required|integer|exists:destination,id_destination'
     156    ]);
     157
     158    TravelEvent::create($validatedData);
     159});
     160}}}
     161
     162
     163{{{
     164// Внесување TravelActivity
     165DB::transaction(function () use ($request) {
     166    $validatedData = $request->validate([
     167        'activity_name' => 'required|string|max:255',
     168        'information' => 'nullable|string|max:255',
     169        'category' => 'required|string|max:255',
     170        'amount' => 'nullable|numeric',
     171        'id_destination' => 'required|integer|exists:destination,id_destination'
     172    ]);
     173
     174    TravelActivity::create($validatedData);
     175});
    170176}}}
    171177
     
    180186    result FLOAT;
    181187BEGIN
    182     SELECT AVG(ocenka)
     188    SELECT AVG(quality)
    183189    INTO result
    184     FROM recenzii
    185     WHERE iddest = dest_id;
     190    FROM review
     191    WHERE id_destination = dest_id;
    186192    RETURN result;
    187193END;
     
    1911972. Додади препорака (процедура)
    192198{{{
    193 CREATE OR REPLACE PROCEDURE dodadi_preporaka(p_korisnik INT, p_dest INT)
     199CREATE OR REPLACE PROCEDURE dodadi_preporaka(p_user INT, p_dest INT)
    194200LANGUAGE plpgsql
    195201AS $$
    196202BEGIN
    197     INSERT INTO preporaki(idkorisnik, iddestinacija, datum)
    198     VALUES (p_korisnik, p_dest, NOW());
     203    INSERT INTO destination_user(id_user, id_destination, recommendation_date)
     204    VALUES (p_user, p_dest, NOW());
    199205END;
    200206$$;