* Update gitignore * Move csproj * Update project references * Update solutions * Update build scripts * Tests used to share editorconfig with projects in src * Fix broken tests. * Stop copying around .editorconfig merged root one with linting * csharp_style_expression_bodied -> suggestion * Move StyleCop rulesets to matching directories and update shared build properties * Remove legacy build files, update NuGet.cofig and solution files * Restore myget source * Clean up .gitignore * Update .gitignore * Move new test classes to tests after merge * Gitignore + nuget config * Move new test Co-authored-by: Ronald Barendse <ronald@barend.se>
49 lines
1.2 KiB
C#
49 lines
1.2 KiB
C#
// Copyright (c) Umbraco.
|
|
// See LICENSE for more details.
|
|
|
|
using System;
|
|
|
|
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Models.Collections
|
|
{
|
|
public class OrderItem : Item
|
|
{
|
|
public readonly int PartNumber;
|
|
public readonly string Description;
|
|
public readonly double UnitPrice;
|
|
|
|
private int _quantity = 0;
|
|
|
|
public OrderItem(int partNumber, string description, int quantity, double unitPrice)
|
|
{
|
|
PartNumber = partNumber;
|
|
Description = description;
|
|
Quantity = quantity;
|
|
UnitPrice = unitPrice;
|
|
}
|
|
|
|
public int Quantity
|
|
{
|
|
get => _quantity;
|
|
|
|
set
|
|
{
|
|
if (value < 0)
|
|
{
|
|
throw new ArgumentException("Quantity cannot be negative.");
|
|
}
|
|
|
|
_quantity = value;
|
|
}
|
|
}
|
|
|
|
public override string ToString() =>
|
|
string.Format(
|
|
"{0,9} {1,6} {2,-12} at {3,8:#,###.00} = {4,10:###,###.00}",
|
|
PartNumber,
|
|
_quantity,
|
|
Description,
|
|
UnitPrice,
|
|
UnitPrice * _quantity);
|
|
}
|
|
}
|