using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
namespace
ConsoleApplication2
{
class
Program
{
static
void
Main(string[]
args)
{
Management
management = new
Management(null);
Exp
exp = new
Exp(management);
Employee
emp = new
Employee(exp);
emp.HandleRequest(30000);
emp.HandleRequest(25000);
emp.HandleRequest(10000);
Console.ReadLine();
}
public
interface
Ihandle
{
void
HandleRequest(int
id);
}
public
class
Employee
:Ihandle
{
Ihandle
_handle;
public
Employee(Ihandle
handle)
{
this._handle
= handle;
}
public
void
HandleRequest(int
id)
{
if
(id > 1000 && id <= 10000)
{
Console.WriteLine("Fresher");
}
else
if
(this._handle
!= null)
{
this._handle.HandleRequest(id);
}
}
}
public
class
Exp
: Ihandle
{
private
Ihandle
_handle;
public
Exp(Ihandle
handle)
{
this._handle
= handle;
}
public
void
HandleRequest(int
id)
{
if(id>=10001
&& id<=20000)
{
Console.WriteLine("Experienced");
}
else
if(this._handle!=null)
{
this._handle.HandleRequest(id);
}
}
}
public
class
Management
: Ihandle
{
Ihandle
_handle;
public
Management(Ihandle
handle)
{
this._handle
= handle;
}
public
void
HandleRequest(int
id)
{
if(id>=20001
&&id <= 30000)
{
Console.WriteLine("Management");
}
else
if(this._handle!=null)
{
this._handle.HandleRequest(id);
}
}
}
}
}