103 lines
2.1 KiB
C#
103 lines
2.1 KiB
C#
using System;
|
||
|
||
class Book : Item
|
||
{
|
||
private String author;
|
||
private String title;
|
||
private String publisher;
|
||
private int pages;
|
||
private int year;
|
||
|
||
private static double price = 9;
|
||
private bool returnSrok = false;
|
||
|
||
static Book()
|
||
{
|
||
price = 10;
|
||
}
|
||
|
||
public Book()
|
||
{
|
||
|
||
}
|
||
|
||
|
||
public Book(String author, String title, String publisher, int pages, int year, long invNumber, bool taken) : base (invNumber, taken)
|
||
{
|
||
this.author = author;
|
||
this.title = title;
|
||
this.publisher = publisher;
|
||
this.pages = pages;
|
||
this.year = year;
|
||
}
|
||
|
||
public Book(String author, String title)
|
||
{
|
||
this.author = author;
|
||
this.title = title;
|
||
}
|
||
|
||
public void SetBook(String author, String title, String publisher, int pages, int year)
|
||
{
|
||
this.author = author;
|
||
this.title = title;
|
||
this.publisher = publisher;
|
||
this.pages = pages;
|
||
this.year = year;
|
||
}
|
||
|
||
public static void SetPrice(double price)
|
||
{
|
||
Book.price = price;
|
||
}
|
||
|
||
|
||
public override void Show()
|
||
{
|
||
Console.WriteLine("\nКнига:\n Автор: {0}\n Название: {1}\n Год издания: {2}\n {3} стр.\n Стоимость аренды: {4}", author, title, year, pages, Book.price);
|
||
base.Show();
|
||
}
|
||
|
||
|
||
public double PriceBook(int s)
|
||
{
|
||
double cost = s * price;
|
||
return cost;
|
||
}
|
||
|
||
public override void Return()
|
||
{
|
||
taken = ReturnSrok;
|
||
}
|
||
|
||
public delegate void ProcessBookDelegate(Book book);
|
||
|
||
public void ProcessPaperbackBooks(ProcessBookDelegate processBook)
|
||
{
|
||
if (ReturnSrok)
|
||
processBook(this);
|
||
}
|
||
|
||
public static event ProcessBookDelegate RetSrok;
|
||
|
||
public bool ReturnSrok
|
||
{
|
||
get
|
||
{
|
||
return returnSrok;
|
||
}
|
||
set
|
||
{
|
||
returnSrok = value;
|
||
if (ReturnSrok == true)
|
||
RetSrok(this);
|
||
}
|
||
}
|
||
|
||
public override string ToString()
|
||
{
|
||
string str = this.title + ", " + this.author + " Инв. номер " + this.invNumber;
|
||
return str;
|
||
}
|
||
}
|