Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions Event.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
function Event() {
return {
/**
*���������� ���� number, �������� ������ ������� � ���� "��������".
*/
startTime : undefined,
/**
*���������� ���� number, �������� ����� ������� � ���� "��������".
*/
endTime : undefined,
/**
*������, ���������� �� ������� �������.
*/
rating : {
/**
*���������� ���� number, �������� ������� �������.
*/
rating : 0,
/**
*���������� ���� number, �������� ���������� �������, ��������� ������� � �����������.
*/
numberOfVoters : 0
},
/**
*������, ���������� �� �������� �����, ����������� ������� � ������ �������.
*/
members : {
/**
*���������� ���� number, �������� ����� �����, ����������� ������� � ������ �������.
*/
numberOfParticipants : 0,
/**
*������ string, �������� ��� �����, ����������� ������� � ������ �������.
*/
namesOfParticipants : []
},
/**
*���������� ���� string, �������� ������ �� ���������� ������� �� �������� ����� �������.
*/
link : undefined,
/**
*������, �������� ���������� ������� �������.
*/
coordinate : {
/**
*���������� ���� string, �������� �������� ������, � ������� ����� ��������� �������.
*/
city : undefined,
/**
*���������� ���� String, �������� �������� �����, �� ������� ����� ��������� �������.
*/
street : undefined,
/**
*���������� ���� number, �������� ����� ����, � ������� ����� ��������� �������.
*/
house : undefined
},
/**
*����������� �� �������.
*
*@param {Number} mark ������ �� 0 �� 5 �� ��� �������.
*/
vote : function (mark) {
if ((mark >= 0) && (mark <= 5)) {
++this.rating.numberOfVoters;
this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters;
}
},
/**
*����������� �������.
*
*@param {Number} start ���� ������ �������. ���� �� �������� ����� number, ���� �� �����, ������� �� ��������.
*
*@param {Number} end ���� ����� �������. ���� �� �������� ����� number, ���� �� �����, ��� ���� ����� ������, ��� ���� ������ �������, ������� �� ��������.
*
*@param {String} link ������ �� ���������� �������, ���� �� �������� ����� string, ������������� ������ �� ����������.
*
*@param {String} city �������� ������,� ������� ������ �������, ���� �� �������� ����� string, ������������� ������� coordinate �� ���������.
*
*@param {String} street �������� �����, �� ������� ������ �������, ���� �� �������� ����� string, ������������� ������� coordinate �� ���������.
*
*@param {Number} house ����� ����, � ������� ������ �������, ���� �� �������� ����� number, ������������� ������� coordinate �� ���������.
*/
createEvent : function (start, end, link, city, street, house) {
if (((typeof start === "number") && (start / 20000000 > 0)) && ((typeof end === "number") && (end / 20000000 > 0) && (end > start))) {
this.startTime = start;
this.endTime = end;
(typeof link === "string") && (this.link = link);
if(((typeof house === "number") && (house > 0)) && (typeof city === "string") && (typeof street === "string")) {
this.coordinate.street = street;
this.coordinate.house = house;
this.coordinate.city = city;
}
}
},
/**
*���������� �������� � ������ ���������� �������.
*
*@param {String} name ��� ��������� �������.
*/
addParticipant : function (name) {
if (typeof name === "string") {
++this.members.numberOfParticipants;
this.members.namesOfParticipants[this.members.numberOfParticipants] = name;
}
}
};
}
75 changes: 75 additions & 0 deletions EventUTF8.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
function Event() {
return {
startTime : undefined,
endTime : undefined,
/**
* @type {ratingStruct}
* @field {Number} rating Величина рейтинга события.
* @field {Number} numberOfVoters Величина рейтинга события.
*/
rating : {
rating : 0,
numberOfVoters : 0
},
/**
* @type {membersStruct}
* @field {Number} numberOfParticipants Число участников.
* @field {Array} namesOfParticipants ФИО участников.
*/
members : {
numberOfParticipants : 0,
namesOfParticipants : []
},
link : undefined,
/**
* @type {coordinateStruct}
* @field {Number} house Дом события.
* @field {String} street Улица события.
* @field {String} city Город события.
*/
coordinate : {
city : undefined,
street : undefined,
house : undefined
},
/**Голосование за событие.
*@param {Number} mark Оценка от 0 до 5 за это событие.
*/
vote : function (mark) {
if (mark >= 0 && mark <= 5) {
++this.rating.numberOfVoters;
this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters;
}
},
/**
*Конструктор события.
*@param {Number} start Начало события в формате "ггггммдд".
*@param {Number} end Конец события в формате "ггггммдд".
*@param {String} link Ссылка события.
*@param {String} city Город события.
*@param {String} street Улица события.
*@param {Number} house Номер дома события.
*/
createEvent : function (start, end, link, city, street, house) {
if (typeof start === "number" && start / 20000000 > 0 && end > start) {
this.startTime = start;
this.endTime = end;
(typeof link === "string") && (this.link = link);
if(typeof house === "number" && house > 0) {
this.coordinate.street = street;
this.coordinate.house = house;
this.coordinate.city = city;
}
}
},
/**Добавление человека в список участников события.
*@param {String} name ФИО участника события.
*/
addParticipant : function (name) {
if (typeof name === "string") {
++this.members.numberOfParticipants;
this.members.namesOfParticipants[this.members.numberOfParticipants] = name;
}
}
};
}
75 changes: 75 additions & 0 deletions EventUTF8Correction.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
function Event() {
return {
startTime : undefined,
endTime : undefined,
/**
* @type {ratingStruct}
* @field {Number} rating Величина рейтинга события.
* @field {Number} numberOfVoters Величина рейтинга события.
*/
rating : {
rating : 0,
numberOfVoters : 0
},
/**
* @type {membersStruct}
* @field {Number} numberOfParticipants Число участников.
* @field {Array} namesOfParticipants ФИО участников.
*/
members : {
numberOfParticipants : 0,
namesOfParticipants : []
},
link : undefined,
/**
* @type {coordinateStruct}
* @field {Number} house Дом события.
* @field {String} street Улица события.
* @field {String} city Город события.
*/
coordinate : {
city : undefined,
street : undefined,
house : undefined
},
/**Голосование за событие.
*@param {Number} mark Оценка от 0 до 5 за это событие.
*/
vote : function (mark) {
if (mark >= 0 && mark <= 5) {
++this.rating.numberOfVoters;
this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters;
}
},
/**
*Конструктор события.
*@param {Number} start Начало события в формате "ггггммдд".
*@param {Number} end Конец события в формате "ггггммдд".
*@param {String} link Ссылка события.
*@param {String} city Город события.
*@param {String} street Улица события.
*@param {Number} house Номер дома события.
*/
createEvent : function (start, end, link, city, street, house) {
if (typeof start === "number" && start / 20000000 > 0 && end > start) {
this.startTime = start;
this.endTime = end;
(typeof link === "string") && (this.link = link);
if(typeof house === "number" && house > 0) {
this.coordinate.street = street;
this.coordinate.house = house;
this.coordinate.city = city;
}
}
},
/**Добавление человека в список участников события.
*@param {String} name ФИО участника события.
*/
addParticipant : function (name) {
if (typeof name === "string") {
++this.members.numberOfParticipants;
this.members.namesOfParticipants[this.members.numberOfParticipants] = name;
}
}
};
}