-
-
Save nguyenvinhlinh/6aa0ea4e3e664a5834330dc92ae9614f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def getDataCampusSchedule(conn, %{"f" => %{"campus_id" => campus_id, "semester_id" => semester_id}}) do | |
query = from csetting in ClassSetting , | |
join: ctime in ClassTime, on: ctime.id == csetting.class_time_id, | |
join: class in Class, on: class.id == csetting.class_id, | |
join: teacher in User,on: teacher.id == csetting.teacher_id, | |
join: subject in Subject, on: subject.id == csetting.subject_id, | |
join: campus in Campus, on: campus.id == class.campus_id, | |
where: class.semester_id == ^String.to_integer(semester_id), | |
order_by: [ctime.id, csetting.date], | |
select: %{"class_time_id" => ctime.id, | |
"start_time" => ctime.start_time, | |
"end_time" => ctime.end_time, | |
"date" => csetting.date, | |
"class_id" => csetting.class_id, | |
"class_name" => class.name, | |
"teacher_id" => teacher.id, | |
"teacher_first_name" => teacher.first_name, | |
"teacher_last_name" => teacher.last_name, | |
"subject_name" => subject.name, | |
"campus_name" => campus.name, | |
"campus_id" => campus.id} | |
if campus_id != "" do | |
query = from c in query, where: c.campus_id == ^String.to_integer(campus_id) | |
end | |
result = Repo.all(query) | |
json(conn, %{success: true, | |
data: result}) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
def getDataCampusSchedule(conn, %{"f" => %{"campus_id" => campus_id, "semester_id" => semester_id}}) do
query = if campus_id != "" do
from c in query, where: c.campus_id == ^String.to_integer(campus_id)
else
from csetting in ClassSetting ,
join: ctime in ClassTime, on: ctime.id == csetting.class_time_id,
join: class in Class, on: class.id == csetting.class_id,
join: teacher in User,on: teacher.id == csetting.teacher_id,
join: subject in Subject, on: subject.id == csetting.subject_id,
join: campus in Campus, on: campus.id == class.campus_id,
where: class.semester_id == ^String.to_integer(semester_id),
order_by: [ctime.id, csetting.date],
select: %{"class_time_id" => ctime.id,
"start_time" => ctime.start_time,
"end_time" => ctime.end_time,
"date" => csetting.date,
"class_id" => csetting.class_id,
"class_name" => class.name,
"teacher_id" => teacher.id,
"teacher_first_name" => teacher.first_name,
"teacher_last_name" => teacher.last_name,
"subject_name" => subject.name,
"campus_name" => campus.name,
"campus_id" => campus.id}
end
result = Repo.all(query)
json(conn, %{success: true,
data: result})
end