Changes between Initial Version and Version 1 of UseCaseAddTrainingSessionImplementation


Ignore:
Timestamp:
02/10/26 22:49:57 (9 hours ago)
Author:
233062
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseAddTrainingSessionImplementation

    v1 v1  
     1== Ажурирање на податоци за месечен приход
     2=== Актери
     3- Најавен корисник
     4=== Чекор 1
     5На панелот за тренинг корисникот кликнува на копчето „Add Training Session“
     6
     7=== Чекор 2
     8На корисникот му се прикажува форма со полиња за duration, calories, date, type
     9
     10=== Чекор 3
     11Податоците се зачувуваат во база
     12
     13{{{
     14INSERT INTO TRAINING_SESSIONS (
     15    training_id,
     16    training_user_id,
     17    weight_user_id,
     18    duration,
     19    calories,
     20    date,
     21    type
     22) VALUES (
     23    nextval('training_sessions_seq'),
     24    :user_id,
     25    (SELECT user_id FROM WEIGHT_USERS WHERE user_id = :user_id),
     26    :duration,
     27    :calories,
     28    :date,
     29    :type
     30)
     31RETURNING training_id, training_user_id, weight_user_id, duration, calories, date, type;
     32}}}
     33
     34=== Чекор 4
     35Во базата се проверува дали истиот корисник следи и маса и се ажурира за конкретната тренинг сесија
     36
     37{{{
     38SELECT user_id FROM WEIGHT_USERS WHERE user_id = :user_id;
     39
     40UPDATE TRAINING_SESSIONS
     41SET weight_user_id = (SELECT user_id FROM WEIGHT_USERS WHERE user_id = :user_id)
     42WHERE training_id = :training_id
     43  AND training_user_id = :user_id
     44  AND EXISTS (SELECT 1 FROM WEIGHT_USERS WHERE user_id = :user_id);
     45}}}
     46
     47=== Чекор 5
     48Корисникот се пренасочува на тренинг панелот со ажурирани податоци
     49
     50{{{
     51SELECT
     52    ts.training_id,
     53    ts.duration,
     54    ts.calories,
     55    ts.date,
     56    ts.type,
     57    ts.weight_user_id
     58FROM TRAINING_SESSIONS ts
     59WHERE ts.training_user_id = :user_id
     60ORDER BY ts.date DESC, ts.training_id DESC;
     61}}}
     62
     63