namespace JetBrains.ReSharper.Koans.Navigation.ExampleCode
{
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public interface ICustomer
{
string Id { get; }
string Name { get; }
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
int PercentageDiscount { get; }
}
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public class Customer : ICustomer
{
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public Customer(string id, string name)
{
Id = id;
Name = name;
PercentageDiscount = 0;
}
public string Name { get; private set; }
public string Id { get; private set; }
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public virtual int PercentageDiscount { get; private set; }
}
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public class SilverCustomer : Customer
{
public SilverCustomer(string id, string name)
: base(id, name)
{
}
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public override int PercentageDiscount
{
get { return 10; }
}
}
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public class GoldCustomer : Customer
{
public GoldCustomer(string id, string name)
: base(id, name)
{
}
// Navigate back
// Ctrl+- (minus) (ReSharper VisualStudio Keymap)
// Ctrl+Alt+Left (Rider Default IntelliJ Keymap)
public override int PercentageDiscount
{
get { return 25; }
}
}
}