Опис АРІ - ojdmytruk/lab_pis_vozniuk_dmytruk GitHub Wiki
`public ActionResult Index()
{
ViewBag.Title = "Index";
return View();
}`
`public ActionResult YouTube()
{
List<string> videos = new List<string>();
new YouTube().Run(videos).Wait();
ViewBag.Title = "YouTube";
return View();
}`
`public IEnumerable<Student> GetStudents()
{
return db.Students;
}`
`public Student GetStudent(int id)
{
Student student = db.Students.Find(id);
return student;
}`
`[HttpPost]
public void CreateStudent([FromBody]Student student)
{
db.Students.Add(student);
db.SaveChanges();
}`
Оновлює інформацію для студента, чий id співпадає з обраним користувачем, присвоюючи сутності статусу оновленої.
` [HttpPut]
public void EditStudent(int id, [FromBody]Student student)
{
if (id == student.Id)
{
db.Entry(student).State = EntityState.Modified;
db.SaveChanges();
}
}`
Виконує в базі пошук обранного користувачем для видалення студента. Якщо такий студент присутній в базі, видаляє його та зберігає зміни в базі:
` public void DeleteStudent(int id)
{
Student student = db.Students.Find(id);
if (student != null)
{
db.Students.Remove(student);
db.SaveChanges();
}
}`
`protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}`
Отримання та встановлення id студента:
public int Id { get; set; }
Отримання та встановлення імені студента:
public string Name { get; set; }
Отримання та встановлення року народження студента:
public int BirthYear { get; set; }
Отримання та встановлення факультету студента:
public string Faculty { get; set; }
Отримання та встановлення гуртожитку студента:
public int Dormitory { get; set; }
Отримання та встановлення кімнати студента:
public int Room { get; set; }
Оголошення датасету студентів з методами для отримання та встановлення інформації:
public DbSet Students { get; set; }
`protected override void Seed(StudentContext db)
{
db.Students.Add(new Student { Name = "Иван Иванов", Faculty="FICT", Dormitory = 8, Room = 111, BirthYear = 1999 });
db.Students.Add(new Student { Name = "Петр Петров", Faculty = "FICT", Dormitory = 3, Room = 222, BirthYear = 1998 });
db.Students.Add(new Student { Name = "Василий Васильев", Faculty = "FICT", Dormitory = 20, Room = 333, BirthYear = 1997 });
base.Seed(db);
}`
`public async Task Run(List<string> videos)
{
var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
ApiKey = "REPLACE_ME",
ApplicationName = this.GetType().ToString()
});
var searchListRequest = youtubeService.Search.List("snippet");
searchListRequest.Q = "общежитие";
searchListRequest.MaxResults = 50;
var searchListResponse = await searchListRequest.ExecuteAsync();
foreach (var searchResult in searchListResponse.Items)
{
switch (searchResult.Id.Kind)
{
case "youtube#video":
videos.Add(String.Format("{0} ({1})", searchResult.Snippet.Title, searchResult.Id.VideoId));
break;
}
}
}`
`function GetAllStudents() {
$("#createBlock").css('display', 'block');
$("#editBlock").css('display', 'none');
$.ajax({
url: '/api/values',
type: 'GET',
dataType: 'json',
success: function (data) {
WriteResponse(data);
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}`
"Витягує" з форми введенні користувачем атрибути студента, створює сутність студента та заносить цю інформацію до JSON файлу:
` function AddStudent() {
var student = {
Name: $('#addName').val(),
Faculty: $('#addFaculty').val(),
BirthYear: $('#addBirthYear').val(),
Dormitory: $('#addDormitory').val(),
Room: $('#addRoom').val()
};
$.ajax({
url: '/api/values/',
type: 'POST',
data: JSON.stringify(student),
contentType: "application/json;charset=utf-8",
success: function (data) {
GetAllStudents();
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}`
`function DeleteStudent(id) {
$.ajax({
url: '/api/values/' + id,
type: 'DELETE',
contentType: "application/json;charset=utf-8",
success: function (data) {
GetAllStudents();
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}`
"Витягує" з форми введенні користувачем атрибути студента, створює сутність студента та вносить корективи в інформацію до JSON файлу:
`function EditStudent() {
var id = $('#editId').val()
var student = {
Id: $('#editId').val(),
Name: $('#editName').val(),
Faculty: $('#editFaculty').val(),
BirthYear: $('#editBirthYear').val(),
Dormitory: $('#editDormitory').val(),
Room: $('#editRoom').val()
};
$.ajax({
url: '/api/values/' + id,
type: 'PUT',
data: JSON.stringify(student),
contentType: "application/json;charset=utf-8",
success: function (data) {
GetAllStudents();
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}`
`function WriteResponse(students) {
var strResult = "<table><th>ID</th><th>Ім`я</th><th>Факультет</th><th>Рік народження</th><th>Гуртожиток</th><th>Кімната</th>";
$.each(students, function (index, student) {
strResult += "<tr><td>" + student.Id + "</td><td> " + student.Name + "</td><td>" +
student.Faculty + "</td><td>" + student.BirthYear + "</td><td>" + student.Dormitory + "</td><td>" + student.Room +
"</td><td><a id='editItem' data-item='" + student.Id + "' onclick='EditItem(this);' >Редагувати</a></td>" +
"<td><a id='delItem' data-item='" + student.Id + "' onclick='DeleteItem(this);' >Видалити</a></td></tr>";
});
strResult += "</table>";
$("#tableBlock").html(strResult);
}`
`function DeleteItem(el) {
var id = $(el).attr('data-item');
DeleteStudent(id);
}`
`function EditItem(el) {
var id = $(el).attr('data-item');
GetStudent(id);
}`
`function ShowStudent(student) {
if (student != null) {
$("#createBlock").css('display', 'none');
$("#editBlock").css('display', 'block');
$("#editId").val(student.Id);
$("#editName").val(student.Name);
$("#editFaculty").val(student.Faculty);
$("#editBirthYear").val(student.BirthYear);
$("#editDormitory").val(student.Dormitory);
$("#editRoom").val(student.Room);
}
else {
alert("Такого студента не существует");
}
}`
`function GetStudent(id) {
$.ajax({
url: '/api/values/' + id,
type: 'GET',
dataType: 'json',
success: function (data) {
ShowStudent(data);
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}`