module data; import pgdb; import singlog; import structures; import std.conv; GroupDB[] getListGroups() { GroupDB[] groups; try { auto queryResult = pgsql.sql( "select distinct dan.da_group, dag.da_comment from da_numbers dan left join da_groups dag ON dag.da_name = dan.da_group" ); foreach (row; queryResult) { GroupDB data; data.name = row["da_group"]; data.comment = row["da_comment"]; groups ~= data; } } catch (Exception e) { log.e("Не удалось выполнить запрос к БД. " ~ e.msg); } return groups; } NumberDB[] getListNumbers(string group) { NumberDB[] numbers; try { auto queryResult = pgsql.sql( "select dan.da_number, dal.da_comment da_list, dan.da_all_cc, dan.da_white_cc, dan.da_black_cc, dan.da_comment from da_numbers dan left join da_lists dal on dal.da_name = dan.da_list where dan.da_group = ?", group ); foreach (row; queryResult) { NumberDB data; data.number = row["da_number"]; data.list = row["da_list"]; data.all_cc = row["da_all_cc"].to!int; data.white_cc = row["da_white_cc"].to!int; data.black_cc = row["da_black_cc"].to!int; data.comment = row["da_comment"]; numbers ~= data; } } catch (Exception e) { log.e("Не удалось выполнить запрос к БД. " ~ e.msg); } return numbers; } NumberDB getDataNumber(string number) { NumberDB data; try { auto queryResult = pgsql.sql( "select da_number, da_group, da_list, da_all_cc, da_white_cc, da_black_cc, da_comment from da_numbers where da_number = ?", number ); foreach (row; queryResult) { data.number = row["da_number"]; data.group = row["da_group"]; data.list = row["da_list"]; data.all_cc = row["da_all_cc"].to!int; data.white_cc = row["da_white_cc"].to!int; data.black_cc = row["da_black_cc"].to!int; data.comment = row["da_comment"]; } } catch (Exception e) { log.e("Не удалось выполнить запрос к БД. " ~ e.msg); } return data; } GroupDB[] getGroups() { GroupDB[] groups; try { auto queryResult = pgsql.sql( "select da_name, da_comment from da_groups" ); foreach (row; queryResult) { GroupDB data; data.name = row["da_name"]; data.comment = row["da_comment"]; groups ~= data; } } catch (Exception e) { log.e("Не удалось выполнить запрос к БД. " ~ e.msg); } return groups; } ListDB[] getLists() { ListDB[] lists; try { auto queryResult = pgsql.sql( "select da_name, da_comment from da_lists" ); foreach (row; queryResult) { ListDB data; data.name = row["da_name"]; data.comment = row["da_comment"]; lists ~= data; } } catch (Exception e) { log.e("Не удалось выполнить запрос к БД. " ~ e.msg); } return lists; }